java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/reducercommutativity/sep20_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:16:36,872 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:16:36,874 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:16:36,889 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:16:36,889 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:16:36,891 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:16:36,892 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:16:36,895 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:16:36,898 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:16:36,900 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:16:36,902 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:16:36,903 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:16:36,904 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:16:36,905 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:16:36,915 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:16:36,916 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:16:36,919 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:16:36,921 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:16:36,924 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:16:36,927 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:16:36,929 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:16:36,930 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:16:36,935 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:16:36,935 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:16:36,935 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:16:36,936 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:16:36,939 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:16:36,939 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:16:36,940 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:16:36,941 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:16:36,941 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:16:36,942 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:16:36,942 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:16:36,942 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:16:36,945 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:16:36,946 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:16:36,947 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 12:16:36,975 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:16:36,975 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:16:36,977 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:16:36,977 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:16:36,978 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:16:36,978 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:16:36,978 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:16:36,978 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:16:36,978 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:16:36,980 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:16:36,980 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:16:36,980 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:16:36,981 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:16:36,981 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:16:36,981 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:16:36,981 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:16:36,981 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:16:36,982 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:16:36,982 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:16:36,982 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:16:36,982 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:16:36,982 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:16:36,982 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:16:36,983 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:16:36,983 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:16:36,983 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:16:36,983 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:16:36,983 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:16:36,984 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:16:36,984 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:16:36,984 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:16:37,041 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:16:37,059 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:16:37,063 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:16:37,065 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:16:37,065 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:16:37,066 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/reducercommutativity/sep20_true-unreach-call.i [2018-11-23 12:16:37,131 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/841b00d39/d39b79b30d0c4c32900345dfb1470851/FLAGfaac54894 [2018-11-23 12:16:37,599 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:16:37,600 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/reducercommutativity/sep20_true-unreach-call.i [2018-11-23 12:16:37,611 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/841b00d39/d39b79b30d0c4c32900345dfb1470851/FLAGfaac54894 [2018-11-23 12:16:37,957 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/841b00d39/d39b79b30d0c4c32900345dfb1470851 [2018-11-23 12:16:37,968 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:16:37,970 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:16:37,971 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:16:37,971 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:16:37,975 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:16:37,977 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:16:37" (1/1) ... [2018-11-23 12:16:37,981 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6462a6f9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:37, skipping insertion in model container [2018-11-23 12:16:37,981 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:16:37" (1/1) ... [2018-11-23 12:16:37,992 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:16:38,019 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:16:38,317 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:16:38,336 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:16:38,379 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:16:38,402 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:16:38,403 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:38 WrapperNode [2018-11-23 12:16:38,403 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:16:38,404 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:16:38,405 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:16:38,405 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:16:38,417 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:38" (1/1) ... [2018-11-23 12:16:38,430 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:38" (1/1) ... [2018-11-23 12:16:38,441 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:16:38,441 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:16:38,442 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:16:38,442 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:16:38,454 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:38" (1/1) ... [2018-11-23 12:16:38,454 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:38" (1/1) ... [2018-11-23 12:16:38,457 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:38" (1/1) ... [2018-11-23 12:16:38,458 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:38" (1/1) ... [2018-11-23 12:16:38,487 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:38" (1/1) ... [2018-11-23 12:16:38,496 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:38" (1/1) ... [2018-11-23 12:16:38,497 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:38" (1/1) ... [2018-11-23 12:16:38,500 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:16:38,501 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:16:38,501 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:16:38,501 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:16:38,507 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:38" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:16:38,647 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:16:38,648 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:16:38,648 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:16:38,648 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:16:38,648 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:16:38,648 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:16:38,649 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:16:38,649 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:16:38,649 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:16:38,649 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:16:38,649 INFO L130 BoogieDeclarations]: Found specification of procedure sep [2018-11-23 12:16:38,649 INFO L138 BoogieDeclarations]: Found implementation of procedure sep [2018-11-23 12:16:39,424 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:16:39,424 INFO L280 CfgBuilder]: Removed 3 assue(true) statements. [2018-11-23 12:16:39,425 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:16:39 BoogieIcfgContainer [2018-11-23 12:16:39,425 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:16:39,426 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:16:39,426 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:16:39,430 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:16:39,430 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:16:37" (1/3) ... [2018-11-23 12:16:39,431 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@151c137a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:16:39, skipping insertion in model container [2018-11-23 12:16:39,431 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:38" (2/3) ... [2018-11-23 12:16:39,432 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@151c137a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:16:39, skipping insertion in model container [2018-11-23 12:16:39,432 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:16:39" (3/3) ... [2018-11-23 12:16:39,434 INFO L112 eAbstractionObserver]: Analyzing ICFG sep20_true-unreach-call.i [2018-11-23 12:16:39,443 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:16:39,452 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:16:39,471 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:16:39,506 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:16:39,506 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:16:39,507 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:16:39,507 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:16:39,507 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:16:39,507 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:16:39,508 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:16:39,508 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:16:39,508 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:16:39,529 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states. [2018-11-23 12:16:39,537 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:16:39,537 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:39,538 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:39,541 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:39,547 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:39,548 INFO L82 PathProgramCache]: Analyzing trace with hash 794343521, now seen corresponding path program 1 times [2018-11-23 12:16:39,550 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:39,550 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:39,603 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:39,603 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:39,604 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:39,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:39,749 INFO L256 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {35#true} is VALID [2018-11-23 12:16:39,754 INFO L273 TraceCheckUtils]: 1: Hoare triple {35#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {35#true} is VALID [2018-11-23 12:16:39,755 INFO L273 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2018-11-23 12:16:39,755 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2018-11-23 12:16:39,755 INFO L256 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret14 := main(); {35#true} is VALID [2018-11-23 12:16:39,756 INFO L273 TraceCheckUtils]: 5: Hoare triple {35#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {35#true} is VALID [2018-11-23 12:16:39,758 INFO L273 TraceCheckUtils]: 6: Hoare triple {35#true} assume !true; {36#false} is VALID [2018-11-23 12:16:39,758 INFO L256 TraceCheckUtils]: 7: Hoare triple {36#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {35#true} is VALID [2018-11-23 12:16:39,759 INFO L273 TraceCheckUtils]: 8: Hoare triple {35#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {35#true} is VALID [2018-11-23 12:16:39,759 INFO L273 TraceCheckUtils]: 9: Hoare triple {35#true} assume !true; {35#true} is VALID [2018-11-23 12:16:39,759 INFO L273 TraceCheckUtils]: 10: Hoare triple {35#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {35#true} is VALID [2018-11-23 12:16:39,760 INFO L273 TraceCheckUtils]: 11: Hoare triple {35#true} assume true; {35#true} is VALID [2018-11-23 12:16:39,760 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {35#true} {36#false} #75#return; {36#false} is VALID [2018-11-23 12:16:39,760 INFO L273 TraceCheckUtils]: 13: Hoare triple {36#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {36#false} is VALID [2018-11-23 12:16:39,761 INFO L256 TraceCheckUtils]: 14: Hoare triple {36#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {35#true} is VALID [2018-11-23 12:16:39,761 INFO L273 TraceCheckUtils]: 15: Hoare triple {35#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {35#true} is VALID [2018-11-23 12:16:39,762 INFO L273 TraceCheckUtils]: 16: Hoare triple {35#true} assume !true; {35#true} is VALID [2018-11-23 12:16:39,762 INFO L273 TraceCheckUtils]: 17: Hoare triple {35#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {35#true} is VALID [2018-11-23 12:16:39,763 INFO L273 TraceCheckUtils]: 18: Hoare triple {35#true} assume true; {35#true} is VALID [2018-11-23 12:16:39,763 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {35#true} {36#false} #77#return; {36#false} is VALID [2018-11-23 12:16:39,763 INFO L273 TraceCheckUtils]: 20: Hoare triple {36#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {36#false} is VALID [2018-11-23 12:16:39,764 INFO L273 TraceCheckUtils]: 21: Hoare triple {36#false} assume !true; {36#false} is VALID [2018-11-23 12:16:39,764 INFO L273 TraceCheckUtils]: 22: Hoare triple {36#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {36#false} is VALID [2018-11-23 12:16:39,765 INFO L256 TraceCheckUtils]: 23: Hoare triple {36#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {35#true} is VALID [2018-11-23 12:16:39,765 INFO L273 TraceCheckUtils]: 24: Hoare triple {35#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {35#true} is VALID [2018-11-23 12:16:39,765 INFO L273 TraceCheckUtils]: 25: Hoare triple {35#true} assume !true; {35#true} is VALID [2018-11-23 12:16:39,766 INFO L273 TraceCheckUtils]: 26: Hoare triple {35#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {35#true} is VALID [2018-11-23 12:16:39,766 INFO L273 TraceCheckUtils]: 27: Hoare triple {35#true} assume true; {35#true} is VALID [2018-11-23 12:16:39,767 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {35#true} {36#false} #79#return; {36#false} is VALID [2018-11-23 12:16:39,767 INFO L273 TraceCheckUtils]: 29: Hoare triple {36#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {36#false} is VALID [2018-11-23 12:16:39,767 INFO L273 TraceCheckUtils]: 30: Hoare triple {36#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {36#false} is VALID [2018-11-23 12:16:39,768 INFO L273 TraceCheckUtils]: 31: Hoare triple {36#false} assume !false; {36#false} is VALID [2018-11-23 12:16:39,775 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:16:39,778 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:16:39,778 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:16:39,784 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 12:16:39,787 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:39,791 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 12:16:40,023 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:40,024 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:16:40,033 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:16:40,034 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:16:40,037 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 2 states. [2018-11-23 12:16:40,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:40,318 INFO L93 Difference]: Finished difference Result 56 states and 75 transitions. [2018-11-23 12:16:40,318 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:16:40,319 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 12:16:40,319 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:40,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:16:40,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 75 transitions. [2018-11-23 12:16:40,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:16:40,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 75 transitions. [2018-11-23 12:16:40,339 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 75 transitions. [2018-11-23 12:16:40,697 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:40,709 INFO L225 Difference]: With dead ends: 56 [2018-11-23 12:16:40,709 INFO L226 Difference]: Without dead ends: 27 [2018-11-23 12:16:40,713 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:16:40,731 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-11-23 12:16:40,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2018-11-23 12:16:40,800 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:40,801 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 27 states. [2018-11-23 12:16:40,801 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-23 12:16:40,801 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-23 12:16:40,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:40,808 INFO L93 Difference]: Finished difference Result 27 states and 32 transitions. [2018-11-23 12:16:40,808 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-23 12:16:40,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:40,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:40,809 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-23 12:16:40,810 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-23 12:16:40,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:40,815 INFO L93 Difference]: Finished difference Result 27 states and 32 transitions. [2018-11-23 12:16:40,815 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-23 12:16:40,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:40,816 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:40,816 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:40,817 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:40,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:16:40,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 32 transitions. [2018-11-23 12:16:40,824 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 32 transitions. Word has length 32 [2018-11-23 12:16:40,824 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:40,825 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 32 transitions. [2018-11-23 12:16:40,825 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:16:40,825 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-23 12:16:40,827 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:16:40,827 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:40,827 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:40,827 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:40,828 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:40,828 INFO L82 PathProgramCache]: Analyzing trace with hash 2140793590, now seen corresponding path program 1 times [2018-11-23 12:16:40,828 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:40,828 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:40,830 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:40,830 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:40,830 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:40,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:40,983 INFO L256 TraceCheckUtils]: 0: Hoare triple {204#true} call ULTIMATE.init(); {204#true} is VALID [2018-11-23 12:16:40,984 INFO L273 TraceCheckUtils]: 1: Hoare triple {204#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {204#true} is VALID [2018-11-23 12:16:40,984 INFO L273 TraceCheckUtils]: 2: Hoare triple {204#true} assume true; {204#true} is VALID [2018-11-23 12:16:40,984 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {204#true} {204#true} #71#return; {204#true} is VALID [2018-11-23 12:16:40,984 INFO L256 TraceCheckUtils]: 4: Hoare triple {204#true} call #t~ret14 := main(); {204#true} is VALID [2018-11-23 12:16:40,985 INFO L273 TraceCheckUtils]: 5: Hoare triple {204#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {206#(= main_~i~1 0)} is VALID [2018-11-23 12:16:40,987 INFO L273 TraceCheckUtils]: 6: Hoare triple {206#(= main_~i~1 0)} assume !(~i~1 < 20); {205#false} is VALID [2018-11-23 12:16:40,987 INFO L256 TraceCheckUtils]: 7: Hoare triple {205#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {204#true} is VALID [2018-11-23 12:16:40,987 INFO L273 TraceCheckUtils]: 8: Hoare triple {204#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {204#true} is VALID [2018-11-23 12:16:40,988 INFO L273 TraceCheckUtils]: 9: Hoare triple {204#true} assume !(~i~0 < 20); {204#true} is VALID [2018-11-23 12:16:40,988 INFO L273 TraceCheckUtils]: 10: Hoare triple {204#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {204#true} is VALID [2018-11-23 12:16:40,988 INFO L273 TraceCheckUtils]: 11: Hoare triple {204#true} assume true; {204#true} is VALID [2018-11-23 12:16:40,988 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {204#true} {205#false} #75#return; {205#false} is VALID [2018-11-23 12:16:40,989 INFO L273 TraceCheckUtils]: 13: Hoare triple {205#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {205#false} is VALID [2018-11-23 12:16:40,989 INFO L256 TraceCheckUtils]: 14: Hoare triple {205#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {204#true} is VALID [2018-11-23 12:16:40,989 INFO L273 TraceCheckUtils]: 15: Hoare triple {204#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {204#true} is VALID [2018-11-23 12:16:40,989 INFO L273 TraceCheckUtils]: 16: Hoare triple {204#true} assume !(~i~0 < 20); {204#true} is VALID [2018-11-23 12:16:40,990 INFO L273 TraceCheckUtils]: 17: Hoare triple {204#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {204#true} is VALID [2018-11-23 12:16:40,990 INFO L273 TraceCheckUtils]: 18: Hoare triple {204#true} assume true; {204#true} is VALID [2018-11-23 12:16:40,990 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {204#true} {205#false} #77#return; {205#false} is VALID [2018-11-23 12:16:40,990 INFO L273 TraceCheckUtils]: 20: Hoare triple {205#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {205#false} is VALID [2018-11-23 12:16:40,991 INFO L273 TraceCheckUtils]: 21: Hoare triple {205#false} assume !(~i~2 < 19); {205#false} is VALID [2018-11-23 12:16:40,991 INFO L273 TraceCheckUtils]: 22: Hoare triple {205#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {205#false} is VALID [2018-11-23 12:16:40,991 INFO L256 TraceCheckUtils]: 23: Hoare triple {205#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {204#true} is VALID [2018-11-23 12:16:40,992 INFO L273 TraceCheckUtils]: 24: Hoare triple {204#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {204#true} is VALID [2018-11-23 12:16:40,992 INFO L273 TraceCheckUtils]: 25: Hoare triple {204#true} assume !(~i~0 < 20); {204#true} is VALID [2018-11-23 12:16:40,992 INFO L273 TraceCheckUtils]: 26: Hoare triple {204#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {204#true} is VALID [2018-11-23 12:16:40,992 INFO L273 TraceCheckUtils]: 27: Hoare triple {204#true} assume true; {204#true} is VALID [2018-11-23 12:16:40,993 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {204#true} {205#false} #79#return; {205#false} is VALID [2018-11-23 12:16:40,993 INFO L273 TraceCheckUtils]: 29: Hoare triple {205#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {205#false} is VALID [2018-11-23 12:16:40,993 INFO L273 TraceCheckUtils]: 30: Hoare triple {205#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {205#false} is VALID [2018-11-23 12:16:40,994 INFO L273 TraceCheckUtils]: 31: Hoare triple {205#false} assume !false; {205#false} is VALID [2018-11-23 12:16:40,995 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:16:40,996 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:16:40,996 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:16:40,998 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 12:16:40,998 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:40,998 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:16:41,051 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:41,051 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:16:41,052 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:16:41,052 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:16:41,053 INFO L87 Difference]: Start difference. First operand 27 states and 32 transitions. Second operand 3 states. [2018-11-23 12:16:41,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:41,554 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2018-11-23 12:16:41,554 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:16:41,554 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 12:16:41,554 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:41,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:16:41,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2018-11-23 12:16:41,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:16:41,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2018-11-23 12:16:41,563 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2018-11-23 12:16:41,780 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:41,783 INFO L225 Difference]: With dead ends: 48 [2018-11-23 12:16:41,783 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 12:16:41,785 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:16:41,786 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 12:16:41,808 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2018-11-23 12:16:41,808 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:41,809 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 28 states. [2018-11-23 12:16:41,809 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 28 states. [2018-11-23 12:16:41,809 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 28 states. [2018-11-23 12:16:41,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:41,813 INFO L93 Difference]: Finished difference Result 29 states and 34 transitions. [2018-11-23 12:16:41,813 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2018-11-23 12:16:41,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:41,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:41,814 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 29 states. [2018-11-23 12:16:41,814 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 29 states. [2018-11-23 12:16:41,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:41,818 INFO L93 Difference]: Finished difference Result 29 states and 34 transitions. [2018-11-23 12:16:41,818 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2018-11-23 12:16:41,819 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:41,819 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:41,819 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:41,819 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:41,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:16:41,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 33 transitions. [2018-11-23 12:16:41,823 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 33 transitions. Word has length 32 [2018-11-23 12:16:41,823 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:41,823 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 33 transitions. [2018-11-23 12:16:41,823 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:16:41,823 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 33 transitions. [2018-11-23 12:16:41,825 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 12:16:41,825 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:41,825 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:41,825 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:41,826 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:41,826 INFO L82 PathProgramCache]: Analyzing trace with hash 2099349144, now seen corresponding path program 1 times [2018-11-23 12:16:41,826 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:41,826 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:41,827 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:41,827 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:41,828 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:41,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:41,926 INFO L256 TraceCheckUtils]: 0: Hoare triple {373#true} call ULTIMATE.init(); {373#true} is VALID [2018-11-23 12:16:41,926 INFO L273 TraceCheckUtils]: 1: Hoare triple {373#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {373#true} is VALID [2018-11-23 12:16:41,927 INFO L273 TraceCheckUtils]: 2: Hoare triple {373#true} assume true; {373#true} is VALID [2018-11-23 12:16:41,927 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {373#true} {373#true} #71#return; {373#true} is VALID [2018-11-23 12:16:41,927 INFO L256 TraceCheckUtils]: 4: Hoare triple {373#true} call #t~ret14 := main(); {373#true} is VALID [2018-11-23 12:16:41,928 INFO L273 TraceCheckUtils]: 5: Hoare triple {373#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {373#true} is VALID [2018-11-23 12:16:41,928 INFO L273 TraceCheckUtils]: 6: Hoare triple {373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {373#true} is VALID [2018-11-23 12:16:41,928 INFO L273 TraceCheckUtils]: 7: Hoare triple {373#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {373#true} is VALID [2018-11-23 12:16:41,929 INFO L273 TraceCheckUtils]: 8: Hoare triple {373#true} assume !(~i~1 < 20); {373#true} is VALID [2018-11-23 12:16:41,929 INFO L256 TraceCheckUtils]: 9: Hoare triple {373#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {373#true} is VALID [2018-11-23 12:16:41,930 INFO L273 TraceCheckUtils]: 10: Hoare triple {373#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {375#(= sep_~i~0 0)} is VALID [2018-11-23 12:16:41,932 INFO L273 TraceCheckUtils]: 11: Hoare triple {375#(= sep_~i~0 0)} assume !(~i~0 < 20); {374#false} is VALID [2018-11-23 12:16:41,932 INFO L273 TraceCheckUtils]: 12: Hoare triple {374#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {374#false} is VALID [2018-11-23 12:16:41,932 INFO L273 TraceCheckUtils]: 13: Hoare triple {374#false} assume true; {374#false} is VALID [2018-11-23 12:16:41,933 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {374#false} {373#true} #75#return; {374#false} is VALID [2018-11-23 12:16:41,933 INFO L273 TraceCheckUtils]: 15: Hoare triple {374#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {374#false} is VALID [2018-11-23 12:16:41,933 INFO L256 TraceCheckUtils]: 16: Hoare triple {374#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {373#true} is VALID [2018-11-23 12:16:41,934 INFO L273 TraceCheckUtils]: 17: Hoare triple {373#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {373#true} is VALID [2018-11-23 12:16:41,934 INFO L273 TraceCheckUtils]: 18: Hoare triple {373#true} assume !(~i~0 < 20); {373#true} is VALID [2018-11-23 12:16:41,934 INFO L273 TraceCheckUtils]: 19: Hoare triple {373#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {373#true} is VALID [2018-11-23 12:16:41,935 INFO L273 TraceCheckUtils]: 20: Hoare triple {373#true} assume true; {373#true} is VALID [2018-11-23 12:16:41,935 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {373#true} {374#false} #77#return; {374#false} is VALID [2018-11-23 12:16:41,935 INFO L273 TraceCheckUtils]: 22: Hoare triple {374#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {374#false} is VALID [2018-11-23 12:16:41,936 INFO L273 TraceCheckUtils]: 23: Hoare triple {374#false} assume !(~i~2 < 19); {374#false} is VALID [2018-11-23 12:16:41,936 INFO L273 TraceCheckUtils]: 24: Hoare triple {374#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {374#false} is VALID [2018-11-23 12:16:41,936 INFO L256 TraceCheckUtils]: 25: Hoare triple {374#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {373#true} is VALID [2018-11-23 12:16:41,936 INFO L273 TraceCheckUtils]: 26: Hoare triple {373#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {373#true} is VALID [2018-11-23 12:16:41,937 INFO L273 TraceCheckUtils]: 27: Hoare triple {373#true} assume !(~i~0 < 20); {373#true} is VALID [2018-11-23 12:16:41,937 INFO L273 TraceCheckUtils]: 28: Hoare triple {373#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {373#true} is VALID [2018-11-23 12:16:41,937 INFO L273 TraceCheckUtils]: 29: Hoare triple {373#true} assume true; {373#true} is VALID [2018-11-23 12:16:41,938 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {373#true} {374#false} #79#return; {374#false} is VALID [2018-11-23 12:16:41,938 INFO L273 TraceCheckUtils]: 31: Hoare triple {374#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {374#false} is VALID [2018-11-23 12:16:41,938 INFO L273 TraceCheckUtils]: 32: Hoare triple {374#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {374#false} is VALID [2018-11-23 12:16:41,939 INFO L273 TraceCheckUtils]: 33: Hoare triple {374#false} assume !false; {374#false} is VALID [2018-11-23 12:16:41,941 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2018-11-23 12:16:41,941 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:41,942 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:41,953 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:41,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:42,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:42,029 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:42,178 INFO L256 TraceCheckUtils]: 0: Hoare triple {373#true} call ULTIMATE.init(); {373#true} is VALID [2018-11-23 12:16:42,179 INFO L273 TraceCheckUtils]: 1: Hoare triple {373#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {373#true} is VALID [2018-11-23 12:16:42,179 INFO L273 TraceCheckUtils]: 2: Hoare triple {373#true} assume true; {373#true} is VALID [2018-11-23 12:16:42,180 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {373#true} {373#true} #71#return; {373#true} is VALID [2018-11-23 12:16:42,180 INFO L256 TraceCheckUtils]: 4: Hoare triple {373#true} call #t~ret14 := main(); {373#true} is VALID [2018-11-23 12:16:42,180 INFO L273 TraceCheckUtils]: 5: Hoare triple {373#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {373#true} is VALID [2018-11-23 12:16:42,180 INFO L273 TraceCheckUtils]: 6: Hoare triple {373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {373#true} is VALID [2018-11-23 12:16:42,181 INFO L273 TraceCheckUtils]: 7: Hoare triple {373#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {373#true} is VALID [2018-11-23 12:16:42,181 INFO L273 TraceCheckUtils]: 8: Hoare triple {373#true} assume !(~i~1 < 20); {373#true} is VALID [2018-11-23 12:16:42,181 INFO L256 TraceCheckUtils]: 9: Hoare triple {373#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {373#true} is VALID [2018-11-23 12:16:42,185 INFO L273 TraceCheckUtils]: 10: Hoare triple {373#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {409#(<= sep_~i~0 0)} is VALID [2018-11-23 12:16:42,186 INFO L273 TraceCheckUtils]: 11: Hoare triple {409#(<= sep_~i~0 0)} assume !(~i~0 < 20); {374#false} is VALID [2018-11-23 12:16:42,186 INFO L273 TraceCheckUtils]: 12: Hoare triple {374#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {374#false} is VALID [2018-11-23 12:16:42,186 INFO L273 TraceCheckUtils]: 13: Hoare triple {374#false} assume true; {374#false} is VALID [2018-11-23 12:16:42,186 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {374#false} {373#true} #75#return; {374#false} is VALID [2018-11-23 12:16:42,187 INFO L273 TraceCheckUtils]: 15: Hoare triple {374#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {374#false} is VALID [2018-11-23 12:16:42,187 INFO L256 TraceCheckUtils]: 16: Hoare triple {374#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {374#false} is VALID [2018-11-23 12:16:42,187 INFO L273 TraceCheckUtils]: 17: Hoare triple {374#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {374#false} is VALID [2018-11-23 12:16:42,187 INFO L273 TraceCheckUtils]: 18: Hoare triple {374#false} assume !(~i~0 < 20); {374#false} is VALID [2018-11-23 12:16:42,188 INFO L273 TraceCheckUtils]: 19: Hoare triple {374#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {374#false} is VALID [2018-11-23 12:16:42,188 INFO L273 TraceCheckUtils]: 20: Hoare triple {374#false} assume true; {374#false} is VALID [2018-11-23 12:16:42,188 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {374#false} {374#false} #77#return; {374#false} is VALID [2018-11-23 12:16:42,189 INFO L273 TraceCheckUtils]: 22: Hoare triple {374#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {374#false} is VALID [2018-11-23 12:16:42,189 INFO L273 TraceCheckUtils]: 23: Hoare triple {374#false} assume !(~i~2 < 19); {374#false} is VALID [2018-11-23 12:16:42,189 INFO L273 TraceCheckUtils]: 24: Hoare triple {374#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {374#false} is VALID [2018-11-23 12:16:42,189 INFO L256 TraceCheckUtils]: 25: Hoare triple {374#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {374#false} is VALID [2018-11-23 12:16:42,190 INFO L273 TraceCheckUtils]: 26: Hoare triple {374#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {374#false} is VALID [2018-11-23 12:16:42,190 INFO L273 TraceCheckUtils]: 27: Hoare triple {374#false} assume !(~i~0 < 20); {374#false} is VALID [2018-11-23 12:16:42,190 INFO L273 TraceCheckUtils]: 28: Hoare triple {374#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {374#false} is VALID [2018-11-23 12:16:42,191 INFO L273 TraceCheckUtils]: 29: Hoare triple {374#false} assume true; {374#false} is VALID [2018-11-23 12:16:42,191 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {374#false} {374#false} #79#return; {374#false} is VALID [2018-11-23 12:16:42,191 INFO L273 TraceCheckUtils]: 31: Hoare triple {374#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {374#false} is VALID [2018-11-23 12:16:42,192 INFO L273 TraceCheckUtils]: 32: Hoare triple {374#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {374#false} is VALID [2018-11-23 12:16:42,192 INFO L273 TraceCheckUtils]: 33: Hoare triple {374#false} assume !false; {374#false} is VALID [2018-11-23 12:16:42,194 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:16:42,220 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:16:42,221 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [3] total 4 [2018-11-23 12:16:42,221 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 34 [2018-11-23 12:16:42,225 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:42,225 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:16:42,298 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:42,298 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:16:42,299 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:16:42,299 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:16:42,299 INFO L87 Difference]: Start difference. First operand 28 states and 33 transitions. Second operand 4 states. [2018-11-23 12:16:42,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:42,584 INFO L93 Difference]: Finished difference Result 49 states and 62 transitions. [2018-11-23 12:16:42,584 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:16:42,584 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 34 [2018-11-23 12:16:42,585 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:42,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:16:42,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 61 transitions. [2018-11-23 12:16:42,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:16:42,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 61 transitions. [2018-11-23 12:16:42,591 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 61 transitions. [2018-11-23 12:16:42,743 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:42,745 INFO L225 Difference]: With dead ends: 49 [2018-11-23 12:16:42,745 INFO L226 Difference]: Without dead ends: 31 [2018-11-23 12:16:42,747 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:16:42,747 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2018-11-23 12:16:42,767 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 29. [2018-11-23 12:16:42,767 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:42,767 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 29 states. [2018-11-23 12:16:42,768 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 29 states. [2018-11-23 12:16:42,768 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 29 states. [2018-11-23 12:16:42,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:42,771 INFO L93 Difference]: Finished difference Result 31 states and 37 transitions. [2018-11-23 12:16:42,771 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 37 transitions. [2018-11-23 12:16:42,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:42,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:42,772 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 31 states. [2018-11-23 12:16:42,772 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 31 states. [2018-11-23 12:16:42,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:42,775 INFO L93 Difference]: Finished difference Result 31 states and 37 transitions. [2018-11-23 12:16:42,775 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 37 transitions. [2018-11-23 12:16:42,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:42,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:42,777 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:42,777 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:42,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:16:42,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 34 transitions. [2018-11-23 12:16:42,780 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 34 transitions. Word has length 34 [2018-11-23 12:16:42,780 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:42,780 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 34 transitions. [2018-11-23 12:16:42,780 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:16:42,781 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2018-11-23 12:16:42,782 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2018-11-23 12:16:42,782 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:42,782 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:42,783 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:42,783 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:42,783 INFO L82 PathProgramCache]: Analyzing trace with hash -1279819331, now seen corresponding path program 1 times [2018-11-23 12:16:42,783 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:42,784 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:42,785 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:42,785 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:42,785 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:42,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:42,913 INFO L256 TraceCheckUtils]: 0: Hoare triple {649#true} call ULTIMATE.init(); {649#true} is VALID [2018-11-23 12:16:42,914 INFO L273 TraceCheckUtils]: 1: Hoare triple {649#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {649#true} is VALID [2018-11-23 12:16:42,914 INFO L273 TraceCheckUtils]: 2: Hoare triple {649#true} assume true; {649#true} is VALID [2018-11-23 12:16:42,914 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {649#true} {649#true} #71#return; {649#true} is VALID [2018-11-23 12:16:42,914 INFO L256 TraceCheckUtils]: 4: Hoare triple {649#true} call #t~ret14 := main(); {649#true} is VALID [2018-11-23 12:16:42,915 INFO L273 TraceCheckUtils]: 5: Hoare triple {649#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {649#true} is VALID [2018-11-23 12:16:42,915 INFO L273 TraceCheckUtils]: 6: Hoare triple {649#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {649#true} is VALID [2018-11-23 12:16:42,915 INFO L273 TraceCheckUtils]: 7: Hoare triple {649#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {649#true} is VALID [2018-11-23 12:16:42,915 INFO L273 TraceCheckUtils]: 8: Hoare triple {649#true} assume !(~i~1 < 20); {649#true} is VALID [2018-11-23 12:16:42,915 INFO L256 TraceCheckUtils]: 9: Hoare triple {649#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {649#true} is VALID [2018-11-23 12:16:42,916 INFO L273 TraceCheckUtils]: 10: Hoare triple {649#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {649#true} is VALID [2018-11-23 12:16:42,916 INFO L273 TraceCheckUtils]: 11: Hoare triple {649#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {649#true} is VALID [2018-11-23 12:16:42,916 INFO L273 TraceCheckUtils]: 12: Hoare triple {649#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {649#true} is VALID [2018-11-23 12:16:42,917 INFO L273 TraceCheckUtils]: 13: Hoare triple {649#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {649#true} is VALID [2018-11-23 12:16:42,917 INFO L273 TraceCheckUtils]: 14: Hoare triple {649#true} assume !(~i~0 < 20); {649#true} is VALID [2018-11-23 12:16:42,917 INFO L273 TraceCheckUtils]: 15: Hoare triple {649#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {649#true} is VALID [2018-11-23 12:16:42,918 INFO L273 TraceCheckUtils]: 16: Hoare triple {649#true} assume true; {649#true} is VALID [2018-11-23 12:16:42,918 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {649#true} {649#true} #75#return; {649#true} is VALID [2018-11-23 12:16:42,919 INFO L273 TraceCheckUtils]: 18: Hoare triple {649#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {649#true} is VALID [2018-11-23 12:16:42,919 INFO L256 TraceCheckUtils]: 19: Hoare triple {649#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {649#true} is VALID [2018-11-23 12:16:42,919 INFO L273 TraceCheckUtils]: 20: Hoare triple {649#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {649#true} is VALID [2018-11-23 12:16:42,920 INFO L273 TraceCheckUtils]: 21: Hoare triple {649#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {649#true} is VALID [2018-11-23 12:16:42,920 INFO L273 TraceCheckUtils]: 22: Hoare triple {649#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {649#true} is VALID [2018-11-23 12:16:42,920 INFO L273 TraceCheckUtils]: 23: Hoare triple {649#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {649#true} is VALID [2018-11-23 12:16:42,920 INFO L273 TraceCheckUtils]: 24: Hoare triple {649#true} assume !(~i~0 < 20); {649#true} is VALID [2018-11-23 12:16:42,921 INFO L273 TraceCheckUtils]: 25: Hoare triple {649#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {649#true} is VALID [2018-11-23 12:16:42,921 INFO L273 TraceCheckUtils]: 26: Hoare triple {649#true} assume true; {649#true} is VALID [2018-11-23 12:16:42,921 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {649#true} {649#true} #77#return; {649#true} is VALID [2018-11-23 12:16:42,927 INFO L273 TraceCheckUtils]: 28: Hoare triple {649#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {651#(= main_~i~2 0)} is VALID [2018-11-23 12:16:42,928 INFO L273 TraceCheckUtils]: 29: Hoare triple {651#(= main_~i~2 0)} assume !(~i~2 < 19); {650#false} is VALID [2018-11-23 12:16:42,928 INFO L273 TraceCheckUtils]: 30: Hoare triple {650#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {650#false} is VALID [2018-11-23 12:16:42,928 INFO L256 TraceCheckUtils]: 31: Hoare triple {650#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {649#true} is VALID [2018-11-23 12:16:42,928 INFO L273 TraceCheckUtils]: 32: Hoare triple {649#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {649#true} is VALID [2018-11-23 12:16:42,929 INFO L273 TraceCheckUtils]: 33: Hoare triple {649#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {649#true} is VALID [2018-11-23 12:16:42,929 INFO L273 TraceCheckUtils]: 34: Hoare triple {649#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {649#true} is VALID [2018-11-23 12:16:42,929 INFO L273 TraceCheckUtils]: 35: Hoare triple {649#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {649#true} is VALID [2018-11-23 12:16:42,929 INFO L273 TraceCheckUtils]: 36: Hoare triple {649#true} assume !(~i~0 < 20); {649#true} is VALID [2018-11-23 12:16:42,929 INFO L273 TraceCheckUtils]: 37: Hoare triple {649#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {649#true} is VALID [2018-11-23 12:16:42,930 INFO L273 TraceCheckUtils]: 38: Hoare triple {649#true} assume true; {649#true} is VALID [2018-11-23 12:16:42,930 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {649#true} {650#false} #79#return; {650#false} is VALID [2018-11-23 12:16:42,930 INFO L273 TraceCheckUtils]: 40: Hoare triple {650#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {650#false} is VALID [2018-11-23 12:16:42,930 INFO L273 TraceCheckUtils]: 41: Hoare triple {650#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {650#false} is VALID [2018-11-23 12:16:42,931 INFO L273 TraceCheckUtils]: 42: Hoare triple {650#false} assume !false; {650#false} is VALID [2018-11-23 12:16:42,934 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 34 trivial. 0 not checked. [2018-11-23 12:16:42,934 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:16:42,934 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:16:42,935 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 43 [2018-11-23 12:16:42,935 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:42,935 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:16:43,023 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:43,024 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:16:43,024 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:16:43,024 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:16:43,025 INFO L87 Difference]: Start difference. First operand 29 states and 34 transitions. Second operand 3 states. [2018-11-23 12:16:43,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:43,167 INFO L93 Difference]: Finished difference Result 45 states and 52 transitions. [2018-11-23 12:16:43,167 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:16:43,167 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 43 [2018-11-23 12:16:43,167 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:43,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:16:43,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 49 transitions. [2018-11-23 12:16:43,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:16:43,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 49 transitions. [2018-11-23 12:16:43,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 49 transitions. [2018-11-23 12:16:43,246 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:43,248 INFO L225 Difference]: With dead ends: 45 [2018-11-23 12:16:43,248 INFO L226 Difference]: Without dead ends: 31 [2018-11-23 12:16:43,249 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:16:43,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2018-11-23 12:16:43,267 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2018-11-23 12:16:43,267 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:43,267 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 30 states. [2018-11-23 12:16:43,268 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 30 states. [2018-11-23 12:16:43,268 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 30 states. [2018-11-23 12:16:43,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:43,271 INFO L93 Difference]: Finished difference Result 31 states and 36 transitions. [2018-11-23 12:16:43,271 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2018-11-23 12:16:43,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:43,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:43,272 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 31 states. [2018-11-23 12:16:43,273 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 31 states. [2018-11-23 12:16:43,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:43,275 INFO L93 Difference]: Finished difference Result 31 states and 36 transitions. [2018-11-23 12:16:43,276 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2018-11-23 12:16:43,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:43,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:43,277 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:43,277 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:43,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 12:16:43,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 35 transitions. [2018-11-23 12:16:43,279 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 35 transitions. Word has length 43 [2018-11-23 12:16:43,280 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:43,280 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 35 transitions. [2018-11-23 12:16:43,280 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:16:43,280 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-23 12:16:43,282 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-23 12:16:43,282 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:43,282 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:43,282 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:43,283 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:43,283 INFO L82 PathProgramCache]: Analyzing trace with hash -1550635457, now seen corresponding path program 1 times [2018-11-23 12:16:43,283 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:43,283 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:43,284 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:43,284 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:43,284 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:43,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:43,432 INFO L256 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2018-11-23 12:16:43,433 INFO L273 TraceCheckUtils]: 1: Hoare triple {823#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {823#true} is VALID [2018-11-23 12:16:43,433 INFO L273 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2018-11-23 12:16:43,433 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #71#return; {823#true} is VALID [2018-11-23 12:16:43,433 INFO L256 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret14 := main(); {823#true} is VALID [2018-11-23 12:16:43,434 INFO L273 TraceCheckUtils]: 5: Hoare triple {823#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {825#(= main_~i~1 0)} is VALID [2018-11-23 12:16:43,434 INFO L273 TraceCheckUtils]: 6: Hoare triple {825#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {825#(= main_~i~1 0)} is VALID [2018-11-23 12:16:43,437 INFO L273 TraceCheckUtils]: 7: Hoare triple {825#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {826#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:43,438 INFO L273 TraceCheckUtils]: 8: Hoare triple {826#(<= main_~i~1 1)} assume !(~i~1 < 20); {824#false} is VALID [2018-11-23 12:16:43,438 INFO L256 TraceCheckUtils]: 9: Hoare triple {824#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {823#true} is VALID [2018-11-23 12:16:43,439 INFO L273 TraceCheckUtils]: 10: Hoare triple {823#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {823#true} is VALID [2018-11-23 12:16:43,439 INFO L273 TraceCheckUtils]: 11: Hoare triple {823#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {823#true} is VALID [2018-11-23 12:16:43,439 INFO L273 TraceCheckUtils]: 12: Hoare triple {823#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {823#true} is VALID [2018-11-23 12:16:43,439 INFO L273 TraceCheckUtils]: 13: Hoare triple {823#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {823#true} is VALID [2018-11-23 12:16:43,440 INFO L273 TraceCheckUtils]: 14: Hoare triple {823#true} assume !(~i~0 < 20); {823#true} is VALID [2018-11-23 12:16:43,440 INFO L273 TraceCheckUtils]: 15: Hoare triple {823#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {823#true} is VALID [2018-11-23 12:16:43,440 INFO L273 TraceCheckUtils]: 16: Hoare triple {823#true} assume true; {823#true} is VALID [2018-11-23 12:16:43,440 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {823#true} {824#false} #75#return; {824#false} is VALID [2018-11-23 12:16:43,441 INFO L273 TraceCheckUtils]: 18: Hoare triple {824#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {824#false} is VALID [2018-11-23 12:16:43,441 INFO L256 TraceCheckUtils]: 19: Hoare triple {824#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {823#true} is VALID [2018-11-23 12:16:43,441 INFO L273 TraceCheckUtils]: 20: Hoare triple {823#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {823#true} is VALID [2018-11-23 12:16:43,441 INFO L273 TraceCheckUtils]: 21: Hoare triple {823#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {823#true} is VALID [2018-11-23 12:16:43,442 INFO L273 TraceCheckUtils]: 22: Hoare triple {823#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {823#true} is VALID [2018-11-23 12:16:43,442 INFO L273 TraceCheckUtils]: 23: Hoare triple {823#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {823#true} is VALID [2018-11-23 12:16:43,442 INFO L273 TraceCheckUtils]: 24: Hoare triple {823#true} assume !(~i~0 < 20); {823#true} is VALID [2018-11-23 12:16:43,443 INFO L273 TraceCheckUtils]: 25: Hoare triple {823#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {823#true} is VALID [2018-11-23 12:16:43,443 INFO L273 TraceCheckUtils]: 26: Hoare triple {823#true} assume true; {823#true} is VALID [2018-11-23 12:16:43,443 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {823#true} {824#false} #77#return; {824#false} is VALID [2018-11-23 12:16:43,443 INFO L273 TraceCheckUtils]: 28: Hoare triple {824#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {824#false} is VALID [2018-11-23 12:16:43,444 INFO L273 TraceCheckUtils]: 29: Hoare triple {824#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {824#false} is VALID [2018-11-23 12:16:43,444 INFO L273 TraceCheckUtils]: 30: Hoare triple {824#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {824#false} is VALID [2018-11-23 12:16:43,444 INFO L273 TraceCheckUtils]: 31: Hoare triple {824#false} assume !(~i~2 < 19); {824#false} is VALID [2018-11-23 12:16:43,445 INFO L273 TraceCheckUtils]: 32: Hoare triple {824#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {824#false} is VALID [2018-11-23 12:16:43,445 INFO L256 TraceCheckUtils]: 33: Hoare triple {824#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {823#true} is VALID [2018-11-23 12:16:43,445 INFO L273 TraceCheckUtils]: 34: Hoare triple {823#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {823#true} is VALID [2018-11-23 12:16:43,445 INFO L273 TraceCheckUtils]: 35: Hoare triple {823#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {823#true} is VALID [2018-11-23 12:16:43,446 INFO L273 TraceCheckUtils]: 36: Hoare triple {823#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {823#true} is VALID [2018-11-23 12:16:43,446 INFO L273 TraceCheckUtils]: 37: Hoare triple {823#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {823#true} is VALID [2018-11-23 12:16:43,446 INFO L273 TraceCheckUtils]: 38: Hoare triple {823#true} assume !(~i~0 < 20); {823#true} is VALID [2018-11-23 12:16:43,447 INFO L273 TraceCheckUtils]: 39: Hoare triple {823#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {823#true} is VALID [2018-11-23 12:16:43,447 INFO L273 TraceCheckUtils]: 40: Hoare triple {823#true} assume true; {823#true} is VALID [2018-11-23 12:16:43,447 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {823#true} {824#false} #79#return; {824#false} is VALID [2018-11-23 12:16:43,447 INFO L273 TraceCheckUtils]: 42: Hoare triple {824#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {824#false} is VALID [2018-11-23 12:16:43,448 INFO L273 TraceCheckUtils]: 43: Hoare triple {824#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {824#false} is VALID [2018-11-23 12:16:43,448 INFO L273 TraceCheckUtils]: 44: Hoare triple {824#false} assume !false; {824#false} is VALID [2018-11-23 12:16:43,451 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 34 trivial. 0 not checked. [2018-11-23 12:16:43,452 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:43,452 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:43,469 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:43,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:43,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:43,550 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:43,833 INFO L256 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2018-11-23 12:16:43,834 INFO L273 TraceCheckUtils]: 1: Hoare triple {823#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {823#true} is VALID [2018-11-23 12:16:43,834 INFO L273 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2018-11-23 12:16:43,834 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #71#return; {823#true} is VALID [2018-11-23 12:16:43,835 INFO L256 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret14 := main(); {823#true} is VALID [2018-11-23 12:16:43,836 INFO L273 TraceCheckUtils]: 5: Hoare triple {823#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {845#(<= main_~i~1 0)} is VALID [2018-11-23 12:16:43,837 INFO L273 TraceCheckUtils]: 6: Hoare triple {845#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {845#(<= main_~i~1 0)} is VALID [2018-11-23 12:16:43,838 INFO L273 TraceCheckUtils]: 7: Hoare triple {845#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {826#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:43,839 INFO L273 TraceCheckUtils]: 8: Hoare triple {826#(<= main_~i~1 1)} assume !(~i~1 < 20); {824#false} is VALID [2018-11-23 12:16:43,839 INFO L256 TraceCheckUtils]: 9: Hoare triple {824#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {824#false} is VALID [2018-11-23 12:16:43,840 INFO L273 TraceCheckUtils]: 10: Hoare triple {824#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {824#false} is VALID [2018-11-23 12:16:43,840 INFO L273 TraceCheckUtils]: 11: Hoare triple {824#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {824#false} is VALID [2018-11-23 12:16:43,841 INFO L273 TraceCheckUtils]: 12: Hoare triple {824#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {824#false} is VALID [2018-11-23 12:16:43,841 INFO L273 TraceCheckUtils]: 13: Hoare triple {824#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {824#false} is VALID [2018-11-23 12:16:43,841 INFO L273 TraceCheckUtils]: 14: Hoare triple {824#false} assume !(~i~0 < 20); {824#false} is VALID [2018-11-23 12:16:43,842 INFO L273 TraceCheckUtils]: 15: Hoare triple {824#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {824#false} is VALID [2018-11-23 12:16:43,842 INFO L273 TraceCheckUtils]: 16: Hoare triple {824#false} assume true; {824#false} is VALID [2018-11-23 12:16:43,843 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {824#false} {824#false} #75#return; {824#false} is VALID [2018-11-23 12:16:43,843 INFO L273 TraceCheckUtils]: 18: Hoare triple {824#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {824#false} is VALID [2018-11-23 12:16:43,844 INFO L256 TraceCheckUtils]: 19: Hoare triple {824#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {824#false} is VALID [2018-11-23 12:16:43,844 INFO L273 TraceCheckUtils]: 20: Hoare triple {824#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {824#false} is VALID [2018-11-23 12:16:43,844 INFO L273 TraceCheckUtils]: 21: Hoare triple {824#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {824#false} is VALID [2018-11-23 12:16:43,844 INFO L273 TraceCheckUtils]: 22: Hoare triple {824#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {824#false} is VALID [2018-11-23 12:16:43,845 INFO L273 TraceCheckUtils]: 23: Hoare triple {824#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {824#false} is VALID [2018-11-23 12:16:43,845 INFO L273 TraceCheckUtils]: 24: Hoare triple {824#false} assume !(~i~0 < 20); {824#false} is VALID [2018-11-23 12:16:43,845 INFO L273 TraceCheckUtils]: 25: Hoare triple {824#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {824#false} is VALID [2018-11-23 12:16:43,845 INFO L273 TraceCheckUtils]: 26: Hoare triple {824#false} assume true; {824#false} is VALID [2018-11-23 12:16:43,845 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {824#false} {824#false} #77#return; {824#false} is VALID [2018-11-23 12:16:43,846 INFO L273 TraceCheckUtils]: 28: Hoare triple {824#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {824#false} is VALID [2018-11-23 12:16:43,846 INFO L273 TraceCheckUtils]: 29: Hoare triple {824#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {824#false} is VALID [2018-11-23 12:16:43,846 INFO L273 TraceCheckUtils]: 30: Hoare triple {824#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {824#false} is VALID [2018-11-23 12:16:43,846 INFO L273 TraceCheckUtils]: 31: Hoare triple {824#false} assume !(~i~2 < 19); {824#false} is VALID [2018-11-23 12:16:43,847 INFO L273 TraceCheckUtils]: 32: Hoare triple {824#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {824#false} is VALID [2018-11-23 12:16:43,847 INFO L256 TraceCheckUtils]: 33: Hoare triple {824#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {824#false} is VALID [2018-11-23 12:16:43,847 INFO L273 TraceCheckUtils]: 34: Hoare triple {824#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {824#false} is VALID [2018-11-23 12:16:43,848 INFO L273 TraceCheckUtils]: 35: Hoare triple {824#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {824#false} is VALID [2018-11-23 12:16:43,848 INFO L273 TraceCheckUtils]: 36: Hoare triple {824#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {824#false} is VALID [2018-11-23 12:16:43,848 INFO L273 TraceCheckUtils]: 37: Hoare triple {824#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {824#false} is VALID [2018-11-23 12:16:43,849 INFO L273 TraceCheckUtils]: 38: Hoare triple {824#false} assume !(~i~0 < 20); {824#false} is VALID [2018-11-23 12:16:43,849 INFO L273 TraceCheckUtils]: 39: Hoare triple {824#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {824#false} is VALID [2018-11-23 12:16:43,849 INFO L273 TraceCheckUtils]: 40: Hoare triple {824#false} assume true; {824#false} is VALID [2018-11-23 12:16:43,849 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {824#false} {824#false} #79#return; {824#false} is VALID [2018-11-23 12:16:43,850 INFO L273 TraceCheckUtils]: 42: Hoare triple {824#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {824#false} is VALID [2018-11-23 12:16:43,850 INFO L273 TraceCheckUtils]: 43: Hoare triple {824#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {824#false} is VALID [2018-11-23 12:16:43,850 INFO L273 TraceCheckUtils]: 44: Hoare triple {824#false} assume !false; {824#false} is VALID [2018-11-23 12:16:43,853 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 34 trivial. 0 not checked. [2018-11-23 12:16:43,886 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:43,886 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2018-11-23 12:16:43,886 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 45 [2018-11-23 12:16:43,887 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:43,890 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 12:16:43,997 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:43,998 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 12:16:43,998 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 12:16:43,999 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:16:43,999 INFO L87 Difference]: Start difference. First operand 30 states and 35 transitions. Second operand 5 states. [2018-11-23 12:16:44,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:44,206 INFO L93 Difference]: Finished difference Result 54 states and 64 transitions. [2018-11-23 12:16:44,207 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:16:44,207 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 45 [2018-11-23 12:16:44,207 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:44,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:16:44,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 60 transitions. [2018-11-23 12:16:44,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:16:44,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 60 transitions. [2018-11-23 12:16:44,212 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 60 transitions. [2018-11-23 12:16:44,381 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:44,383 INFO L225 Difference]: With dead ends: 54 [2018-11-23 12:16:44,383 INFO L226 Difference]: Without dead ends: 33 [2018-11-23 12:16:44,384 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:16:44,385 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2018-11-23 12:16:44,398 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2018-11-23 12:16:44,398 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:44,398 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 32 states. [2018-11-23 12:16:44,398 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 32 states. [2018-11-23 12:16:44,398 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 32 states. [2018-11-23 12:16:44,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:44,402 INFO L93 Difference]: Finished difference Result 33 states and 38 transitions. [2018-11-23 12:16:44,402 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2018-11-23 12:16:44,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:44,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:44,403 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 33 states. [2018-11-23 12:16:44,403 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 33 states. [2018-11-23 12:16:44,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:44,406 INFO L93 Difference]: Finished difference Result 33 states and 38 transitions. [2018-11-23 12:16:44,406 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2018-11-23 12:16:44,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:44,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:44,407 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:44,407 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:44,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 12:16:44,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 37 transitions. [2018-11-23 12:16:44,409 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 37 transitions. Word has length 45 [2018-11-23 12:16:44,409 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:44,409 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 37 transitions. [2018-11-23 12:16:44,410 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 12:16:44,410 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2018-11-23 12:16:44,411 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2018-11-23 12:16:44,411 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:44,412 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:44,412 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:44,412 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:44,412 INFO L82 PathProgramCache]: Analyzing trace with hash 1356401117, now seen corresponding path program 2 times [2018-11-23 12:16:44,412 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:44,413 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:44,414 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:44,414 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:44,414 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:44,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:44,729 INFO L256 TraceCheckUtils]: 0: Hoare triple {1152#true} call ULTIMATE.init(); {1152#true} is VALID [2018-11-23 12:16:44,729 INFO L273 TraceCheckUtils]: 1: Hoare triple {1152#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1152#true} is VALID [2018-11-23 12:16:44,729 INFO L273 TraceCheckUtils]: 2: Hoare triple {1152#true} assume true; {1152#true} is VALID [2018-11-23 12:16:44,729 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1152#true} {1152#true} #71#return; {1152#true} is VALID [2018-11-23 12:16:44,730 INFO L256 TraceCheckUtils]: 4: Hoare triple {1152#true} call #t~ret14 := main(); {1152#true} is VALID [2018-11-23 12:16:44,730 INFO L273 TraceCheckUtils]: 5: Hoare triple {1152#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1154#(= main_~i~1 0)} is VALID [2018-11-23 12:16:44,741 INFO L273 TraceCheckUtils]: 6: Hoare triple {1154#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1154#(= main_~i~1 0)} is VALID [2018-11-23 12:16:44,742 INFO L273 TraceCheckUtils]: 7: Hoare triple {1154#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1155#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:44,742 INFO L273 TraceCheckUtils]: 8: Hoare triple {1155#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1155#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:44,743 INFO L273 TraceCheckUtils]: 9: Hoare triple {1155#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1156#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:44,744 INFO L273 TraceCheckUtils]: 10: Hoare triple {1156#(<= main_~i~1 2)} assume !(~i~1 < 20); {1153#false} is VALID [2018-11-23 12:16:44,744 INFO L256 TraceCheckUtils]: 11: Hoare triple {1153#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1152#true} is VALID [2018-11-23 12:16:44,744 INFO L273 TraceCheckUtils]: 12: Hoare triple {1152#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1152#true} is VALID [2018-11-23 12:16:44,744 INFO L273 TraceCheckUtils]: 13: Hoare triple {1152#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1152#true} is VALID [2018-11-23 12:16:44,745 INFO L273 TraceCheckUtils]: 14: Hoare triple {1152#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1152#true} is VALID [2018-11-23 12:16:44,745 INFO L273 TraceCheckUtils]: 15: Hoare triple {1152#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1152#true} is VALID [2018-11-23 12:16:44,745 INFO L273 TraceCheckUtils]: 16: Hoare triple {1152#true} assume !(~i~0 < 20); {1152#true} is VALID [2018-11-23 12:16:44,746 INFO L273 TraceCheckUtils]: 17: Hoare triple {1152#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1152#true} is VALID [2018-11-23 12:16:44,746 INFO L273 TraceCheckUtils]: 18: Hoare triple {1152#true} assume true; {1152#true} is VALID [2018-11-23 12:16:44,746 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {1152#true} {1153#false} #75#return; {1153#false} is VALID [2018-11-23 12:16:44,747 INFO L273 TraceCheckUtils]: 20: Hoare triple {1153#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1153#false} is VALID [2018-11-23 12:16:44,747 INFO L256 TraceCheckUtils]: 21: Hoare triple {1153#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1152#true} is VALID [2018-11-23 12:16:44,747 INFO L273 TraceCheckUtils]: 22: Hoare triple {1152#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1152#true} is VALID [2018-11-23 12:16:44,747 INFO L273 TraceCheckUtils]: 23: Hoare triple {1152#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1152#true} is VALID [2018-11-23 12:16:44,748 INFO L273 TraceCheckUtils]: 24: Hoare triple {1152#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1152#true} is VALID [2018-11-23 12:16:44,748 INFO L273 TraceCheckUtils]: 25: Hoare triple {1152#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1152#true} is VALID [2018-11-23 12:16:44,748 INFO L273 TraceCheckUtils]: 26: Hoare triple {1152#true} assume !(~i~0 < 20); {1152#true} is VALID [2018-11-23 12:16:44,748 INFO L273 TraceCheckUtils]: 27: Hoare triple {1152#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1152#true} is VALID [2018-11-23 12:16:44,748 INFO L273 TraceCheckUtils]: 28: Hoare triple {1152#true} assume true; {1152#true} is VALID [2018-11-23 12:16:44,749 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1152#true} {1153#false} #77#return; {1153#false} is VALID [2018-11-23 12:16:44,749 INFO L273 TraceCheckUtils]: 30: Hoare triple {1153#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1153#false} is VALID [2018-11-23 12:16:44,749 INFO L273 TraceCheckUtils]: 31: Hoare triple {1153#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {1153#false} is VALID [2018-11-23 12:16:44,749 INFO L273 TraceCheckUtils]: 32: Hoare triple {1153#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {1153#false} is VALID [2018-11-23 12:16:44,750 INFO L273 TraceCheckUtils]: 33: Hoare triple {1153#false} assume !(~i~2 < 19); {1153#false} is VALID [2018-11-23 12:16:44,750 INFO L273 TraceCheckUtils]: 34: Hoare triple {1153#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {1153#false} is VALID [2018-11-23 12:16:44,750 INFO L256 TraceCheckUtils]: 35: Hoare triple {1153#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1152#true} is VALID [2018-11-23 12:16:44,750 INFO L273 TraceCheckUtils]: 36: Hoare triple {1152#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1152#true} is VALID [2018-11-23 12:16:44,750 INFO L273 TraceCheckUtils]: 37: Hoare triple {1152#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1152#true} is VALID [2018-11-23 12:16:44,751 INFO L273 TraceCheckUtils]: 38: Hoare triple {1152#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1152#true} is VALID [2018-11-23 12:16:44,751 INFO L273 TraceCheckUtils]: 39: Hoare triple {1152#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1152#true} is VALID [2018-11-23 12:16:44,751 INFO L273 TraceCheckUtils]: 40: Hoare triple {1152#true} assume !(~i~0 < 20); {1152#true} is VALID [2018-11-23 12:16:44,751 INFO L273 TraceCheckUtils]: 41: Hoare triple {1152#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1152#true} is VALID [2018-11-23 12:16:44,751 INFO L273 TraceCheckUtils]: 42: Hoare triple {1152#true} assume true; {1152#true} is VALID [2018-11-23 12:16:44,752 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {1152#true} {1153#false} #79#return; {1153#false} is VALID [2018-11-23 12:16:44,752 INFO L273 TraceCheckUtils]: 44: Hoare triple {1153#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1153#false} is VALID [2018-11-23 12:16:44,752 INFO L273 TraceCheckUtils]: 45: Hoare triple {1153#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1153#false} is VALID [2018-11-23 12:16:44,753 INFO L273 TraceCheckUtils]: 46: Hoare triple {1153#false} assume !false; {1153#false} is VALID [2018-11-23 12:16:44,755 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 34 trivial. 0 not checked. [2018-11-23 12:16:44,755 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:44,755 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:44,765 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:16:44,804 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:16:44,804 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:44,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:44,826 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:44,931 INFO L256 TraceCheckUtils]: 0: Hoare triple {1152#true} call ULTIMATE.init(); {1152#true} is VALID [2018-11-23 12:16:44,931 INFO L273 TraceCheckUtils]: 1: Hoare triple {1152#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1152#true} is VALID [2018-11-23 12:16:44,932 INFO L273 TraceCheckUtils]: 2: Hoare triple {1152#true} assume true; {1152#true} is VALID [2018-11-23 12:16:44,932 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1152#true} {1152#true} #71#return; {1152#true} is VALID [2018-11-23 12:16:44,932 INFO L256 TraceCheckUtils]: 4: Hoare triple {1152#true} call #t~ret14 := main(); {1152#true} is VALID [2018-11-23 12:16:44,933 INFO L273 TraceCheckUtils]: 5: Hoare triple {1152#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1175#(<= main_~i~1 0)} is VALID [2018-11-23 12:16:44,934 INFO L273 TraceCheckUtils]: 6: Hoare triple {1175#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1175#(<= main_~i~1 0)} is VALID [2018-11-23 12:16:44,935 INFO L273 TraceCheckUtils]: 7: Hoare triple {1175#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1155#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:44,935 INFO L273 TraceCheckUtils]: 8: Hoare triple {1155#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1155#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:44,936 INFO L273 TraceCheckUtils]: 9: Hoare triple {1155#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1156#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:44,937 INFO L273 TraceCheckUtils]: 10: Hoare triple {1156#(<= main_~i~1 2)} assume !(~i~1 < 20); {1153#false} is VALID [2018-11-23 12:16:44,937 INFO L256 TraceCheckUtils]: 11: Hoare triple {1153#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1153#false} is VALID [2018-11-23 12:16:44,938 INFO L273 TraceCheckUtils]: 12: Hoare triple {1153#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1153#false} is VALID [2018-11-23 12:16:44,938 INFO L273 TraceCheckUtils]: 13: Hoare triple {1153#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1153#false} is VALID [2018-11-23 12:16:44,938 INFO L273 TraceCheckUtils]: 14: Hoare triple {1153#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1153#false} is VALID [2018-11-23 12:16:44,939 INFO L273 TraceCheckUtils]: 15: Hoare triple {1153#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1153#false} is VALID [2018-11-23 12:16:44,939 INFO L273 TraceCheckUtils]: 16: Hoare triple {1153#false} assume !(~i~0 < 20); {1153#false} is VALID [2018-11-23 12:16:44,939 INFO L273 TraceCheckUtils]: 17: Hoare triple {1153#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1153#false} is VALID [2018-11-23 12:16:44,940 INFO L273 TraceCheckUtils]: 18: Hoare triple {1153#false} assume true; {1153#false} is VALID [2018-11-23 12:16:44,940 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {1153#false} {1153#false} #75#return; {1153#false} is VALID [2018-11-23 12:16:44,941 INFO L273 TraceCheckUtils]: 20: Hoare triple {1153#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1153#false} is VALID [2018-11-23 12:16:44,941 INFO L256 TraceCheckUtils]: 21: Hoare triple {1153#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1153#false} is VALID [2018-11-23 12:16:44,941 INFO L273 TraceCheckUtils]: 22: Hoare triple {1153#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1153#false} is VALID [2018-11-23 12:16:44,941 INFO L273 TraceCheckUtils]: 23: Hoare triple {1153#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1153#false} is VALID [2018-11-23 12:16:44,942 INFO L273 TraceCheckUtils]: 24: Hoare triple {1153#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1153#false} is VALID [2018-11-23 12:16:44,942 INFO L273 TraceCheckUtils]: 25: Hoare triple {1153#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1153#false} is VALID [2018-11-23 12:16:44,942 INFO L273 TraceCheckUtils]: 26: Hoare triple {1153#false} assume !(~i~0 < 20); {1153#false} is VALID [2018-11-23 12:16:44,943 INFO L273 TraceCheckUtils]: 27: Hoare triple {1153#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1153#false} is VALID [2018-11-23 12:16:44,943 INFO L273 TraceCheckUtils]: 28: Hoare triple {1153#false} assume true; {1153#false} is VALID [2018-11-23 12:16:44,943 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1153#false} {1153#false} #77#return; {1153#false} is VALID [2018-11-23 12:16:44,943 INFO L273 TraceCheckUtils]: 30: Hoare triple {1153#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1153#false} is VALID [2018-11-23 12:16:44,943 INFO L273 TraceCheckUtils]: 31: Hoare triple {1153#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {1153#false} is VALID [2018-11-23 12:16:44,944 INFO L273 TraceCheckUtils]: 32: Hoare triple {1153#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {1153#false} is VALID [2018-11-23 12:16:44,944 INFO L273 TraceCheckUtils]: 33: Hoare triple {1153#false} assume !(~i~2 < 19); {1153#false} is VALID [2018-11-23 12:16:44,944 INFO L273 TraceCheckUtils]: 34: Hoare triple {1153#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {1153#false} is VALID [2018-11-23 12:16:44,944 INFO L256 TraceCheckUtils]: 35: Hoare triple {1153#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1153#false} is VALID [2018-11-23 12:16:44,944 INFO L273 TraceCheckUtils]: 36: Hoare triple {1153#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1153#false} is VALID [2018-11-23 12:16:44,945 INFO L273 TraceCheckUtils]: 37: Hoare triple {1153#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1153#false} is VALID [2018-11-23 12:16:44,945 INFO L273 TraceCheckUtils]: 38: Hoare triple {1153#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1153#false} is VALID [2018-11-23 12:16:44,945 INFO L273 TraceCheckUtils]: 39: Hoare triple {1153#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1153#false} is VALID [2018-11-23 12:16:44,945 INFO L273 TraceCheckUtils]: 40: Hoare triple {1153#false} assume !(~i~0 < 20); {1153#false} is VALID [2018-11-23 12:16:44,945 INFO L273 TraceCheckUtils]: 41: Hoare triple {1153#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1153#false} is VALID [2018-11-23 12:16:44,946 INFO L273 TraceCheckUtils]: 42: Hoare triple {1153#false} assume true; {1153#false} is VALID [2018-11-23 12:16:44,946 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {1153#false} {1153#false} #79#return; {1153#false} is VALID [2018-11-23 12:16:44,946 INFO L273 TraceCheckUtils]: 44: Hoare triple {1153#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1153#false} is VALID [2018-11-23 12:16:44,946 INFO L273 TraceCheckUtils]: 45: Hoare triple {1153#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1153#false} is VALID [2018-11-23 12:16:44,947 INFO L273 TraceCheckUtils]: 46: Hoare triple {1153#false} assume !false; {1153#false} is VALID [2018-11-23 12:16:44,951 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 34 trivial. 0 not checked. [2018-11-23 12:16:44,971 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:44,972 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-23 12:16:44,972 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 47 [2018-11-23 12:16:44,973 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:44,973 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 12:16:45,039 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:45,040 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 12:16:45,040 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 12:16:45,040 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:16:45,041 INFO L87 Difference]: Start difference. First operand 32 states and 37 transitions. Second operand 6 states. [2018-11-23 12:16:45,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:45,283 INFO L93 Difference]: Finished difference Result 56 states and 66 transitions. [2018-11-23 12:16:45,283 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 12:16:45,283 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 47 [2018-11-23 12:16:45,284 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:45,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:16:45,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2018-11-23 12:16:45,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:16:45,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2018-11-23 12:16:45,288 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2018-11-23 12:16:45,432 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:45,433 INFO L225 Difference]: With dead ends: 56 [2018-11-23 12:16:45,433 INFO L226 Difference]: Without dead ends: 35 [2018-11-23 12:16:45,434 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:16:45,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2018-11-23 12:16:45,483 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2018-11-23 12:16:45,483 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:45,483 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 34 states. [2018-11-23 12:16:45,483 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 34 states. [2018-11-23 12:16:45,484 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 34 states. [2018-11-23 12:16:45,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:45,487 INFO L93 Difference]: Finished difference Result 35 states and 40 transitions. [2018-11-23 12:16:45,487 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 40 transitions. [2018-11-23 12:16:45,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:45,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:45,488 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 35 states. [2018-11-23 12:16:45,488 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 35 states. [2018-11-23 12:16:45,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:45,490 INFO L93 Difference]: Finished difference Result 35 states and 40 transitions. [2018-11-23 12:16:45,490 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 40 transitions. [2018-11-23 12:16:45,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:45,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:45,491 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:45,491 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:45,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 12:16:45,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 39 transitions. [2018-11-23 12:16:45,494 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 39 transitions. Word has length 47 [2018-11-23 12:16:45,494 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:45,494 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 39 transitions. [2018-11-23 12:16:45,494 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 12:16:45,494 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2018-11-23 12:16:45,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2018-11-23 12:16:45,495 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:45,495 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:45,496 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:45,496 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:45,496 INFO L82 PathProgramCache]: Analyzing trace with hash -1005160965, now seen corresponding path program 3 times [2018-11-23 12:16:45,496 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:45,496 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:45,497 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:45,497 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:45,498 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:45,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:46,104 INFO L256 TraceCheckUtils]: 0: Hoare triple {1498#true} call ULTIMATE.init(); {1498#true} is VALID [2018-11-23 12:16:46,104 INFO L273 TraceCheckUtils]: 1: Hoare triple {1498#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1498#true} is VALID [2018-11-23 12:16:46,105 INFO L273 TraceCheckUtils]: 2: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:46,105 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1498#true} {1498#true} #71#return; {1498#true} is VALID [2018-11-23 12:16:46,105 INFO L256 TraceCheckUtils]: 4: Hoare triple {1498#true} call #t~ret14 := main(); {1498#true} is VALID [2018-11-23 12:16:46,106 INFO L273 TraceCheckUtils]: 5: Hoare triple {1498#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1500#(= main_~i~1 0)} is VALID [2018-11-23 12:16:46,106 INFO L273 TraceCheckUtils]: 6: Hoare triple {1500#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1500#(= main_~i~1 0)} is VALID [2018-11-23 12:16:46,107 INFO L273 TraceCheckUtils]: 7: Hoare triple {1500#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1501#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:46,107 INFO L273 TraceCheckUtils]: 8: Hoare triple {1501#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1501#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:46,108 INFO L273 TraceCheckUtils]: 9: Hoare triple {1501#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1502#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:46,109 INFO L273 TraceCheckUtils]: 10: Hoare triple {1502#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1502#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:46,110 INFO L273 TraceCheckUtils]: 11: Hoare triple {1502#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1503#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:46,111 INFO L273 TraceCheckUtils]: 12: Hoare triple {1503#(<= main_~i~1 3)} assume !(~i~1 < 20); {1499#false} is VALID [2018-11-23 12:16:46,111 INFO L256 TraceCheckUtils]: 13: Hoare triple {1499#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1498#true} is VALID [2018-11-23 12:16:46,111 INFO L273 TraceCheckUtils]: 14: Hoare triple {1498#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1498#true} is VALID [2018-11-23 12:16:46,112 INFO L273 TraceCheckUtils]: 15: Hoare triple {1498#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1498#true} is VALID [2018-11-23 12:16:46,112 INFO L273 TraceCheckUtils]: 16: Hoare triple {1498#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1498#true} is VALID [2018-11-23 12:16:46,112 INFO L273 TraceCheckUtils]: 17: Hoare triple {1498#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1498#true} is VALID [2018-11-23 12:16:46,113 INFO L273 TraceCheckUtils]: 18: Hoare triple {1498#true} assume !(~i~0 < 20); {1498#true} is VALID [2018-11-23 12:16:46,113 INFO L273 TraceCheckUtils]: 19: Hoare triple {1498#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1498#true} is VALID [2018-11-23 12:16:46,113 INFO L273 TraceCheckUtils]: 20: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:46,113 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {1498#true} {1499#false} #75#return; {1499#false} is VALID [2018-11-23 12:16:46,114 INFO L273 TraceCheckUtils]: 22: Hoare triple {1499#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1499#false} is VALID [2018-11-23 12:16:46,114 INFO L256 TraceCheckUtils]: 23: Hoare triple {1499#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1498#true} is VALID [2018-11-23 12:16:46,114 INFO L273 TraceCheckUtils]: 24: Hoare triple {1498#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1498#true} is VALID [2018-11-23 12:16:46,114 INFO L273 TraceCheckUtils]: 25: Hoare triple {1498#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1498#true} is VALID [2018-11-23 12:16:46,115 INFO L273 TraceCheckUtils]: 26: Hoare triple {1498#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1498#true} is VALID [2018-11-23 12:16:46,115 INFO L273 TraceCheckUtils]: 27: Hoare triple {1498#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1498#true} is VALID [2018-11-23 12:16:46,115 INFO L273 TraceCheckUtils]: 28: Hoare triple {1498#true} assume !(~i~0 < 20); {1498#true} is VALID [2018-11-23 12:16:46,115 INFO L273 TraceCheckUtils]: 29: Hoare triple {1498#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1498#true} is VALID [2018-11-23 12:16:46,116 INFO L273 TraceCheckUtils]: 30: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:46,116 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1498#true} {1499#false} #77#return; {1499#false} is VALID [2018-11-23 12:16:46,116 INFO L273 TraceCheckUtils]: 32: Hoare triple {1499#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1499#false} is VALID [2018-11-23 12:16:46,116 INFO L273 TraceCheckUtils]: 33: Hoare triple {1499#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {1499#false} is VALID [2018-11-23 12:16:46,117 INFO L273 TraceCheckUtils]: 34: Hoare triple {1499#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {1499#false} is VALID [2018-11-23 12:16:46,117 INFO L273 TraceCheckUtils]: 35: Hoare triple {1499#false} assume !(~i~2 < 19); {1499#false} is VALID [2018-11-23 12:16:46,117 INFO L273 TraceCheckUtils]: 36: Hoare triple {1499#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {1499#false} is VALID [2018-11-23 12:16:46,117 INFO L256 TraceCheckUtils]: 37: Hoare triple {1499#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1498#true} is VALID [2018-11-23 12:16:46,118 INFO L273 TraceCheckUtils]: 38: Hoare triple {1498#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1498#true} is VALID [2018-11-23 12:16:46,118 INFO L273 TraceCheckUtils]: 39: Hoare triple {1498#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1498#true} is VALID [2018-11-23 12:16:46,118 INFO L273 TraceCheckUtils]: 40: Hoare triple {1498#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1498#true} is VALID [2018-11-23 12:16:46,119 INFO L273 TraceCheckUtils]: 41: Hoare triple {1498#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1498#true} is VALID [2018-11-23 12:16:46,119 INFO L273 TraceCheckUtils]: 42: Hoare triple {1498#true} assume !(~i~0 < 20); {1498#true} is VALID [2018-11-23 12:16:46,119 INFO L273 TraceCheckUtils]: 43: Hoare triple {1498#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1498#true} is VALID [2018-11-23 12:16:46,119 INFO L273 TraceCheckUtils]: 44: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:46,120 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {1498#true} {1499#false} #79#return; {1499#false} is VALID [2018-11-23 12:16:46,120 INFO L273 TraceCheckUtils]: 46: Hoare triple {1499#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1499#false} is VALID [2018-11-23 12:16:46,120 INFO L273 TraceCheckUtils]: 47: Hoare triple {1499#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1499#false} is VALID [2018-11-23 12:16:46,120 INFO L273 TraceCheckUtils]: 48: Hoare triple {1499#false} assume !false; {1499#false} is VALID [2018-11-23 12:16:46,123 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 34 trivial. 0 not checked. [2018-11-23 12:16:46,124 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:46,124 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:46,136 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:16:46,164 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-11-23 12:16:46,165 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:46,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:46,201 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:46,357 INFO L256 TraceCheckUtils]: 0: Hoare triple {1498#true} call ULTIMATE.init(); {1498#true} is VALID [2018-11-23 12:16:46,358 INFO L273 TraceCheckUtils]: 1: Hoare triple {1498#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1498#true} is VALID [2018-11-23 12:16:46,358 INFO L273 TraceCheckUtils]: 2: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:46,359 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1498#true} {1498#true} #71#return; {1498#true} is VALID [2018-11-23 12:16:46,359 INFO L256 TraceCheckUtils]: 4: Hoare triple {1498#true} call #t~ret14 := main(); {1498#true} is VALID [2018-11-23 12:16:46,359 INFO L273 TraceCheckUtils]: 5: Hoare triple {1498#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1498#true} is VALID [2018-11-23 12:16:46,359 INFO L273 TraceCheckUtils]: 6: Hoare triple {1498#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1498#true} is VALID [2018-11-23 12:16:46,360 INFO L273 TraceCheckUtils]: 7: Hoare triple {1498#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1498#true} is VALID [2018-11-23 12:16:46,360 INFO L273 TraceCheckUtils]: 8: Hoare triple {1498#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1498#true} is VALID [2018-11-23 12:16:46,360 INFO L273 TraceCheckUtils]: 9: Hoare triple {1498#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1498#true} is VALID [2018-11-23 12:16:46,360 INFO L273 TraceCheckUtils]: 10: Hoare triple {1498#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1498#true} is VALID [2018-11-23 12:16:46,360 INFO L273 TraceCheckUtils]: 11: Hoare triple {1498#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1498#true} is VALID [2018-11-23 12:16:46,360 INFO L273 TraceCheckUtils]: 12: Hoare triple {1498#true} assume !(~i~1 < 20); {1498#true} is VALID [2018-11-23 12:16:46,360 INFO L256 TraceCheckUtils]: 13: Hoare triple {1498#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1498#true} is VALID [2018-11-23 12:16:46,361 INFO L273 TraceCheckUtils]: 14: Hoare triple {1498#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1498#true} is VALID [2018-11-23 12:16:46,361 INFO L273 TraceCheckUtils]: 15: Hoare triple {1498#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1498#true} is VALID [2018-11-23 12:16:46,361 INFO L273 TraceCheckUtils]: 16: Hoare triple {1498#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1498#true} is VALID [2018-11-23 12:16:46,361 INFO L273 TraceCheckUtils]: 17: Hoare triple {1498#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1498#true} is VALID [2018-11-23 12:16:46,361 INFO L273 TraceCheckUtils]: 18: Hoare triple {1498#true} assume !(~i~0 < 20); {1498#true} is VALID [2018-11-23 12:16:46,361 INFO L273 TraceCheckUtils]: 19: Hoare triple {1498#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1498#true} is VALID [2018-11-23 12:16:46,361 INFO L273 TraceCheckUtils]: 20: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:46,362 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {1498#true} {1498#true} #75#return; {1498#true} is VALID [2018-11-23 12:16:46,362 INFO L273 TraceCheckUtils]: 22: Hoare triple {1498#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1498#true} is VALID [2018-11-23 12:16:46,362 INFO L256 TraceCheckUtils]: 23: Hoare triple {1498#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1498#true} is VALID [2018-11-23 12:16:46,362 INFO L273 TraceCheckUtils]: 24: Hoare triple {1498#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1498#true} is VALID [2018-11-23 12:16:46,362 INFO L273 TraceCheckUtils]: 25: Hoare triple {1498#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1498#true} is VALID [2018-11-23 12:16:46,362 INFO L273 TraceCheckUtils]: 26: Hoare triple {1498#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1498#true} is VALID [2018-11-23 12:16:46,362 INFO L273 TraceCheckUtils]: 27: Hoare triple {1498#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1498#true} is VALID [2018-11-23 12:16:46,363 INFO L273 TraceCheckUtils]: 28: Hoare triple {1498#true} assume !(~i~0 < 20); {1498#true} is VALID [2018-11-23 12:16:46,363 INFO L273 TraceCheckUtils]: 29: Hoare triple {1498#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1498#true} is VALID [2018-11-23 12:16:46,363 INFO L273 TraceCheckUtils]: 30: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:46,363 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1498#true} {1498#true} #77#return; {1498#true} is VALID [2018-11-23 12:16:46,363 INFO L273 TraceCheckUtils]: 32: Hoare triple {1498#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1498#true} is VALID [2018-11-23 12:16:46,363 INFO L273 TraceCheckUtils]: 33: Hoare triple {1498#true} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {1498#true} is VALID [2018-11-23 12:16:46,364 INFO L273 TraceCheckUtils]: 34: Hoare triple {1498#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {1498#true} is VALID [2018-11-23 12:16:46,364 INFO L273 TraceCheckUtils]: 35: Hoare triple {1498#true} assume !(~i~2 < 19); {1498#true} is VALID [2018-11-23 12:16:46,364 INFO L273 TraceCheckUtils]: 36: Hoare triple {1498#true} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {1498#true} is VALID [2018-11-23 12:16:46,364 INFO L256 TraceCheckUtils]: 37: Hoare triple {1498#true} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1498#true} is VALID [2018-11-23 12:16:46,365 INFO L273 TraceCheckUtils]: 38: Hoare triple {1498#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1621#(<= sep_~i~0 0)} is VALID [2018-11-23 12:16:46,365 INFO L273 TraceCheckUtils]: 39: Hoare triple {1621#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1621#(<= sep_~i~0 0)} is VALID [2018-11-23 12:16:46,365 INFO L273 TraceCheckUtils]: 40: Hoare triple {1621#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1621#(<= sep_~i~0 0)} is VALID [2018-11-23 12:16:46,366 INFO L273 TraceCheckUtils]: 41: Hoare triple {1621#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1631#(<= sep_~i~0 1)} is VALID [2018-11-23 12:16:46,366 INFO L273 TraceCheckUtils]: 42: Hoare triple {1631#(<= sep_~i~0 1)} assume !(~i~0 < 20); {1499#false} is VALID [2018-11-23 12:16:46,366 INFO L273 TraceCheckUtils]: 43: Hoare triple {1499#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1499#false} is VALID [2018-11-23 12:16:46,367 INFO L273 TraceCheckUtils]: 44: Hoare triple {1499#false} assume true; {1499#false} is VALID [2018-11-23 12:16:46,367 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {1499#false} {1498#true} #79#return; {1499#false} is VALID [2018-11-23 12:16:46,367 INFO L273 TraceCheckUtils]: 46: Hoare triple {1499#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1499#false} is VALID [2018-11-23 12:16:46,367 INFO L273 TraceCheckUtils]: 47: Hoare triple {1499#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1499#false} is VALID [2018-11-23 12:16:46,367 INFO L273 TraceCheckUtils]: 48: Hoare triple {1499#false} assume !false; {1499#false} is VALID [2018-11-23 12:16:46,369 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 18 proven. 1 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:16:46,388 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:46,388 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4] total 8 [2018-11-23 12:16:46,389 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 49 [2018-11-23 12:16:46,389 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:46,389 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 12:16:46,482 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:46,482 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 12:16:46,483 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 12:16:46,483 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:16:46,483 INFO L87 Difference]: Start difference. First operand 34 states and 39 transitions. Second operand 8 states. [2018-11-23 12:16:46,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:46,816 INFO L93 Difference]: Finished difference Result 63 states and 79 transitions. [2018-11-23 12:16:46,816 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 12:16:46,816 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 49 [2018-11-23 12:16:46,817 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:46,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:16:46,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-11-23 12:16:46,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:16:46,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-11-23 12:16:46,822 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 76 transitions. [2018-11-23 12:16:46,963 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:46,966 INFO L225 Difference]: With dead ends: 63 [2018-11-23 12:16:46,966 INFO L226 Difference]: Without dead ends: 42 [2018-11-23 12:16:46,967 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 48 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:16:46,967 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-23 12:16:46,982 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 39. [2018-11-23 12:16:46,982 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:46,982 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 39 states. [2018-11-23 12:16:46,983 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 39 states. [2018-11-23 12:16:46,983 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 39 states. [2018-11-23 12:16:46,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:46,985 INFO L93 Difference]: Finished difference Result 42 states and 49 transitions. [2018-11-23 12:16:46,986 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 49 transitions. [2018-11-23 12:16:46,986 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:46,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:46,986 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 42 states. [2018-11-23 12:16:46,987 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 42 states. [2018-11-23 12:16:46,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:46,989 INFO L93 Difference]: Finished difference Result 42 states and 49 transitions. [2018-11-23 12:16:46,989 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 49 transitions. [2018-11-23 12:16:46,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:46,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:46,990 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:46,990 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:46,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 12:16:46,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 45 transitions. [2018-11-23 12:16:46,992 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 45 transitions. Word has length 49 [2018-11-23 12:16:46,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:46,993 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 45 transitions. [2018-11-23 12:16:46,993 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 12:16:46,993 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 45 transitions. [2018-11-23 12:16:46,994 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2018-11-23 12:16:46,994 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:46,994 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:46,994 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:46,994 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:46,995 INFO L82 PathProgramCache]: Analyzing trace with hash 742022364, now seen corresponding path program 4 times [2018-11-23 12:16:46,995 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:46,995 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:46,996 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:46,996 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:46,996 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:47,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:47,258 INFO L256 TraceCheckUtils]: 0: Hoare triple {1882#true} call ULTIMATE.init(); {1882#true} is VALID [2018-11-23 12:16:47,259 INFO L273 TraceCheckUtils]: 1: Hoare triple {1882#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1882#true} is VALID [2018-11-23 12:16:47,259 INFO L273 TraceCheckUtils]: 2: Hoare triple {1882#true} assume true; {1882#true} is VALID [2018-11-23 12:16:47,259 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1882#true} {1882#true} #71#return; {1882#true} is VALID [2018-11-23 12:16:47,260 INFO L256 TraceCheckUtils]: 4: Hoare triple {1882#true} call #t~ret14 := main(); {1882#true} is VALID [2018-11-23 12:16:47,260 INFO L273 TraceCheckUtils]: 5: Hoare triple {1882#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1884#(= main_~i~1 0)} is VALID [2018-11-23 12:16:47,261 INFO L273 TraceCheckUtils]: 6: Hoare triple {1884#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1884#(= main_~i~1 0)} is VALID [2018-11-23 12:16:47,261 INFO L273 TraceCheckUtils]: 7: Hoare triple {1884#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1885#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:47,262 INFO L273 TraceCheckUtils]: 8: Hoare triple {1885#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1885#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:47,262 INFO L273 TraceCheckUtils]: 9: Hoare triple {1885#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1886#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:47,263 INFO L273 TraceCheckUtils]: 10: Hoare triple {1886#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1886#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:47,264 INFO L273 TraceCheckUtils]: 11: Hoare triple {1886#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1887#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:47,264 INFO L273 TraceCheckUtils]: 12: Hoare triple {1887#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1887#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:47,265 INFO L273 TraceCheckUtils]: 13: Hoare triple {1887#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1888#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:47,266 INFO L273 TraceCheckUtils]: 14: Hoare triple {1888#(<= main_~i~1 4)} assume !(~i~1 < 20); {1883#false} is VALID [2018-11-23 12:16:47,267 INFO L256 TraceCheckUtils]: 15: Hoare triple {1883#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1882#true} is VALID [2018-11-23 12:16:47,267 INFO L273 TraceCheckUtils]: 16: Hoare triple {1882#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1882#true} is VALID [2018-11-23 12:16:47,267 INFO L273 TraceCheckUtils]: 17: Hoare triple {1882#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1882#true} is VALID [2018-11-23 12:16:47,268 INFO L273 TraceCheckUtils]: 18: Hoare triple {1882#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1882#true} is VALID [2018-11-23 12:16:47,268 INFO L273 TraceCheckUtils]: 19: Hoare triple {1882#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1882#true} is VALID [2018-11-23 12:16:47,268 INFO L273 TraceCheckUtils]: 20: Hoare triple {1882#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1882#true} is VALID [2018-11-23 12:16:47,268 INFO L273 TraceCheckUtils]: 21: Hoare triple {1882#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1882#true} is VALID [2018-11-23 12:16:47,269 INFO L273 TraceCheckUtils]: 22: Hoare triple {1882#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1882#true} is VALID [2018-11-23 12:16:47,269 INFO L273 TraceCheckUtils]: 23: Hoare triple {1882#true} assume !(~i~0 < 20); {1882#true} is VALID [2018-11-23 12:16:47,269 INFO L273 TraceCheckUtils]: 24: Hoare triple {1882#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1882#true} is VALID [2018-11-23 12:16:47,270 INFO L273 TraceCheckUtils]: 25: Hoare triple {1882#true} assume true; {1882#true} is VALID [2018-11-23 12:16:47,270 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1882#true} {1883#false} #75#return; {1883#false} is VALID [2018-11-23 12:16:47,270 INFO L273 TraceCheckUtils]: 27: Hoare triple {1883#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1883#false} is VALID [2018-11-23 12:16:47,273 INFO L256 TraceCheckUtils]: 28: Hoare triple {1883#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1882#true} is VALID [2018-11-23 12:16:47,273 INFO L273 TraceCheckUtils]: 29: Hoare triple {1882#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1882#true} is VALID [2018-11-23 12:16:47,273 INFO L273 TraceCheckUtils]: 30: Hoare triple {1882#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1882#true} is VALID [2018-11-23 12:16:47,273 INFO L273 TraceCheckUtils]: 31: Hoare triple {1882#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1882#true} is VALID [2018-11-23 12:16:47,274 INFO L273 TraceCheckUtils]: 32: Hoare triple {1882#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1882#true} is VALID [2018-11-23 12:16:47,274 INFO L273 TraceCheckUtils]: 33: Hoare triple {1882#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1882#true} is VALID [2018-11-23 12:16:47,274 INFO L273 TraceCheckUtils]: 34: Hoare triple {1882#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1882#true} is VALID [2018-11-23 12:16:47,274 INFO L273 TraceCheckUtils]: 35: Hoare triple {1882#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1882#true} is VALID [2018-11-23 12:16:47,275 INFO L273 TraceCheckUtils]: 36: Hoare triple {1882#true} assume !(~i~0 < 20); {1882#true} is VALID [2018-11-23 12:16:47,275 INFO L273 TraceCheckUtils]: 37: Hoare triple {1882#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1882#true} is VALID [2018-11-23 12:16:47,275 INFO L273 TraceCheckUtils]: 38: Hoare triple {1882#true} assume true; {1882#true} is VALID [2018-11-23 12:16:47,275 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {1882#true} {1883#false} #77#return; {1883#false} is VALID [2018-11-23 12:16:47,276 INFO L273 TraceCheckUtils]: 40: Hoare triple {1883#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1883#false} is VALID [2018-11-23 12:16:47,276 INFO L273 TraceCheckUtils]: 41: Hoare triple {1883#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {1883#false} is VALID [2018-11-23 12:16:47,276 INFO L273 TraceCheckUtils]: 42: Hoare triple {1883#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {1883#false} is VALID [2018-11-23 12:16:47,276 INFO L273 TraceCheckUtils]: 43: Hoare triple {1883#false} assume !(~i~2 < 19); {1883#false} is VALID [2018-11-23 12:16:47,276 INFO L273 TraceCheckUtils]: 44: Hoare triple {1883#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {1883#false} is VALID [2018-11-23 12:16:47,277 INFO L256 TraceCheckUtils]: 45: Hoare triple {1883#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1882#true} is VALID [2018-11-23 12:16:47,277 INFO L273 TraceCheckUtils]: 46: Hoare triple {1882#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1882#true} is VALID [2018-11-23 12:16:47,277 INFO L273 TraceCheckUtils]: 47: Hoare triple {1882#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1882#true} is VALID [2018-11-23 12:16:47,277 INFO L273 TraceCheckUtils]: 48: Hoare triple {1882#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1882#true} is VALID [2018-11-23 12:16:47,278 INFO L273 TraceCheckUtils]: 49: Hoare triple {1882#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1882#true} is VALID [2018-11-23 12:16:47,278 INFO L273 TraceCheckUtils]: 50: Hoare triple {1882#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1882#true} is VALID [2018-11-23 12:16:47,278 INFO L273 TraceCheckUtils]: 51: Hoare triple {1882#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1882#true} is VALID [2018-11-23 12:16:47,278 INFO L273 TraceCheckUtils]: 52: Hoare triple {1882#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1882#true} is VALID [2018-11-23 12:16:47,279 INFO L273 TraceCheckUtils]: 53: Hoare triple {1882#true} assume !(~i~0 < 20); {1882#true} is VALID [2018-11-23 12:16:47,279 INFO L273 TraceCheckUtils]: 54: Hoare triple {1882#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1882#true} is VALID [2018-11-23 12:16:47,279 INFO L273 TraceCheckUtils]: 55: Hoare triple {1882#true} assume true; {1882#true} is VALID [2018-11-23 12:16:47,279 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {1882#true} {1883#false} #79#return; {1883#false} is VALID [2018-11-23 12:16:47,280 INFO L273 TraceCheckUtils]: 57: Hoare triple {1883#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1883#false} is VALID [2018-11-23 12:16:47,280 INFO L273 TraceCheckUtils]: 58: Hoare triple {1883#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1883#false} is VALID [2018-11-23 12:16:47,280 INFO L273 TraceCheckUtils]: 59: Hoare triple {1883#false} assume !false; {1883#false} is VALID [2018-11-23 12:16:47,285 INFO L134 CoverageAnalysis]: Checked inductivity of 95 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 79 trivial. 0 not checked. [2018-11-23 12:16:47,285 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:47,285 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:47,298 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:16:47,337 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:16:47,338 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:47,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:47,364 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:47,505 INFO L256 TraceCheckUtils]: 0: Hoare triple {1882#true} call ULTIMATE.init(); {1882#true} is VALID [2018-11-23 12:16:47,506 INFO L273 TraceCheckUtils]: 1: Hoare triple {1882#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1882#true} is VALID [2018-11-23 12:16:47,506 INFO L273 TraceCheckUtils]: 2: Hoare triple {1882#true} assume true; {1882#true} is VALID [2018-11-23 12:16:47,507 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1882#true} {1882#true} #71#return; {1882#true} is VALID [2018-11-23 12:16:47,507 INFO L256 TraceCheckUtils]: 4: Hoare triple {1882#true} call #t~ret14 := main(); {1882#true} is VALID [2018-11-23 12:16:47,508 INFO L273 TraceCheckUtils]: 5: Hoare triple {1882#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1907#(<= main_~i~1 0)} is VALID [2018-11-23 12:16:47,508 INFO L273 TraceCheckUtils]: 6: Hoare triple {1907#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1907#(<= main_~i~1 0)} is VALID [2018-11-23 12:16:47,509 INFO L273 TraceCheckUtils]: 7: Hoare triple {1907#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1885#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:47,509 INFO L273 TraceCheckUtils]: 8: Hoare triple {1885#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1885#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:47,536 INFO L273 TraceCheckUtils]: 9: Hoare triple {1885#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1886#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:47,540 INFO L273 TraceCheckUtils]: 10: Hoare triple {1886#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1886#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:47,541 INFO L273 TraceCheckUtils]: 11: Hoare triple {1886#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1887#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:47,542 INFO L273 TraceCheckUtils]: 12: Hoare triple {1887#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1887#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:47,543 INFO L273 TraceCheckUtils]: 13: Hoare triple {1887#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1888#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:47,543 INFO L273 TraceCheckUtils]: 14: Hoare triple {1888#(<= main_~i~1 4)} assume !(~i~1 < 20); {1883#false} is VALID [2018-11-23 12:16:47,544 INFO L256 TraceCheckUtils]: 15: Hoare triple {1883#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1883#false} is VALID [2018-11-23 12:16:47,544 INFO L273 TraceCheckUtils]: 16: Hoare triple {1883#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1883#false} is VALID [2018-11-23 12:16:47,544 INFO L273 TraceCheckUtils]: 17: Hoare triple {1883#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1883#false} is VALID [2018-11-23 12:16:47,544 INFO L273 TraceCheckUtils]: 18: Hoare triple {1883#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1883#false} is VALID [2018-11-23 12:16:47,544 INFO L273 TraceCheckUtils]: 19: Hoare triple {1883#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1883#false} is VALID [2018-11-23 12:16:47,544 INFO L273 TraceCheckUtils]: 20: Hoare triple {1883#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1883#false} is VALID [2018-11-23 12:16:47,544 INFO L273 TraceCheckUtils]: 21: Hoare triple {1883#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1883#false} is VALID [2018-11-23 12:16:47,545 INFO L273 TraceCheckUtils]: 22: Hoare triple {1883#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1883#false} is VALID [2018-11-23 12:16:47,545 INFO L273 TraceCheckUtils]: 23: Hoare triple {1883#false} assume !(~i~0 < 20); {1883#false} is VALID [2018-11-23 12:16:47,545 INFO L273 TraceCheckUtils]: 24: Hoare triple {1883#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1883#false} is VALID [2018-11-23 12:16:47,545 INFO L273 TraceCheckUtils]: 25: Hoare triple {1883#false} assume true; {1883#false} is VALID [2018-11-23 12:16:47,545 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1883#false} {1883#false} #75#return; {1883#false} is VALID [2018-11-23 12:16:47,546 INFO L273 TraceCheckUtils]: 27: Hoare triple {1883#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1883#false} is VALID [2018-11-23 12:16:47,546 INFO L256 TraceCheckUtils]: 28: Hoare triple {1883#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1883#false} is VALID [2018-11-23 12:16:47,546 INFO L273 TraceCheckUtils]: 29: Hoare triple {1883#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1883#false} is VALID [2018-11-23 12:16:47,546 INFO L273 TraceCheckUtils]: 30: Hoare triple {1883#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1883#false} is VALID [2018-11-23 12:16:47,546 INFO L273 TraceCheckUtils]: 31: Hoare triple {1883#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1883#false} is VALID [2018-11-23 12:16:47,546 INFO L273 TraceCheckUtils]: 32: Hoare triple {1883#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1883#false} is VALID [2018-11-23 12:16:47,546 INFO L273 TraceCheckUtils]: 33: Hoare triple {1883#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1883#false} is VALID [2018-11-23 12:16:47,547 INFO L273 TraceCheckUtils]: 34: Hoare triple {1883#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1883#false} is VALID [2018-11-23 12:16:47,547 INFO L273 TraceCheckUtils]: 35: Hoare triple {1883#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1883#false} is VALID [2018-11-23 12:16:47,547 INFO L273 TraceCheckUtils]: 36: Hoare triple {1883#false} assume !(~i~0 < 20); {1883#false} is VALID [2018-11-23 12:16:47,547 INFO L273 TraceCheckUtils]: 37: Hoare triple {1883#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1883#false} is VALID [2018-11-23 12:16:47,547 INFO L273 TraceCheckUtils]: 38: Hoare triple {1883#false} assume true; {1883#false} is VALID [2018-11-23 12:16:47,547 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {1883#false} {1883#false} #77#return; {1883#false} is VALID [2018-11-23 12:16:47,548 INFO L273 TraceCheckUtils]: 40: Hoare triple {1883#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1883#false} is VALID [2018-11-23 12:16:47,548 INFO L273 TraceCheckUtils]: 41: Hoare triple {1883#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {1883#false} is VALID [2018-11-23 12:16:47,548 INFO L273 TraceCheckUtils]: 42: Hoare triple {1883#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {1883#false} is VALID [2018-11-23 12:16:47,548 INFO L273 TraceCheckUtils]: 43: Hoare triple {1883#false} assume !(~i~2 < 19); {1883#false} is VALID [2018-11-23 12:16:47,549 INFO L273 TraceCheckUtils]: 44: Hoare triple {1883#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {1883#false} is VALID [2018-11-23 12:16:47,549 INFO L256 TraceCheckUtils]: 45: Hoare triple {1883#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1883#false} is VALID [2018-11-23 12:16:47,549 INFO L273 TraceCheckUtils]: 46: Hoare triple {1883#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1883#false} is VALID [2018-11-23 12:16:47,549 INFO L273 TraceCheckUtils]: 47: Hoare triple {1883#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1883#false} is VALID [2018-11-23 12:16:47,549 INFO L273 TraceCheckUtils]: 48: Hoare triple {1883#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1883#false} is VALID [2018-11-23 12:16:47,549 INFO L273 TraceCheckUtils]: 49: Hoare triple {1883#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1883#false} is VALID [2018-11-23 12:16:47,549 INFO L273 TraceCheckUtils]: 50: Hoare triple {1883#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1883#false} is VALID [2018-11-23 12:16:47,550 INFO L273 TraceCheckUtils]: 51: Hoare triple {1883#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {1883#false} is VALID [2018-11-23 12:16:47,550 INFO L273 TraceCheckUtils]: 52: Hoare triple {1883#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1883#false} is VALID [2018-11-23 12:16:47,550 INFO L273 TraceCheckUtils]: 53: Hoare triple {1883#false} assume !(~i~0 < 20); {1883#false} is VALID [2018-11-23 12:16:47,550 INFO L273 TraceCheckUtils]: 54: Hoare triple {1883#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1883#false} is VALID [2018-11-23 12:16:47,550 INFO L273 TraceCheckUtils]: 55: Hoare triple {1883#false} assume true; {1883#false} is VALID [2018-11-23 12:16:47,550 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {1883#false} {1883#false} #79#return; {1883#false} is VALID [2018-11-23 12:16:47,550 INFO L273 TraceCheckUtils]: 57: Hoare triple {1883#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1883#false} is VALID [2018-11-23 12:16:47,550 INFO L273 TraceCheckUtils]: 58: Hoare triple {1883#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1883#false} is VALID [2018-11-23 12:16:47,551 INFO L273 TraceCheckUtils]: 59: Hoare triple {1883#false} assume !false; {1883#false} is VALID [2018-11-23 12:16:47,552 INFO L134 CoverageAnalysis]: Checked inductivity of 95 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 79 trivial. 0 not checked. [2018-11-23 12:16:47,572 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:47,572 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2018-11-23 12:16:47,573 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 60 [2018-11-23 12:16:47,573 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:47,573 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 12:16:47,637 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:47,637 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 12:16:47,638 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 12:16:47,638 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:16:47,638 INFO L87 Difference]: Start difference. First operand 39 states and 45 transitions. Second operand 8 states. [2018-11-23 12:16:47,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:47,959 INFO L93 Difference]: Finished difference Result 66 states and 78 transitions. [2018-11-23 12:16:47,959 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 12:16:47,959 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 60 [2018-11-23 12:16:47,959 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:47,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:16:47,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2018-11-23 12:16:47,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:16:47,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2018-11-23 12:16:47,963 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 66 transitions. [2018-11-23 12:16:48,091 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:48,093 INFO L225 Difference]: With dead ends: 66 [2018-11-23 12:16:48,093 INFO L226 Difference]: Without dead ends: 42 [2018-11-23 12:16:48,094 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 60 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:16:48,094 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-23 12:16:48,292 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 41. [2018-11-23 12:16:48,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:48,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 41 states. [2018-11-23 12:16:48,292 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 41 states. [2018-11-23 12:16:48,292 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 41 states. [2018-11-23 12:16:48,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:48,294 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2018-11-23 12:16:48,294 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2018-11-23 12:16:48,295 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:48,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:48,295 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 42 states. [2018-11-23 12:16:48,295 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 42 states. [2018-11-23 12:16:48,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:48,297 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2018-11-23 12:16:48,297 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2018-11-23 12:16:48,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:48,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:48,298 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:48,298 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:48,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:16:48,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 47 transitions. [2018-11-23 12:16:48,300 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 47 transitions. Word has length 60 [2018-11-23 12:16:48,300 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:48,300 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 47 transitions. [2018-11-23 12:16:48,301 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 12:16:48,301 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 47 transitions. [2018-11-23 12:16:48,301 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-23 12:16:48,301 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:48,302 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:48,302 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:48,302 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:48,302 INFO L82 PathProgramCache]: Analyzing trace with hash -1389751938, now seen corresponding path program 5 times [2018-11-23 12:16:48,302 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:48,302 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:48,303 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:48,303 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:48,303 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:48,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:48,591 INFO L256 TraceCheckUtils]: 0: Hoare triple {2307#true} call ULTIMATE.init(); {2307#true} is VALID [2018-11-23 12:16:48,591 INFO L273 TraceCheckUtils]: 1: Hoare triple {2307#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2307#true} is VALID [2018-11-23 12:16:48,592 INFO L273 TraceCheckUtils]: 2: Hoare triple {2307#true} assume true; {2307#true} is VALID [2018-11-23 12:16:48,592 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2307#true} {2307#true} #71#return; {2307#true} is VALID [2018-11-23 12:16:48,592 INFO L256 TraceCheckUtils]: 4: Hoare triple {2307#true} call #t~ret14 := main(); {2307#true} is VALID [2018-11-23 12:16:48,592 INFO L273 TraceCheckUtils]: 5: Hoare triple {2307#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2309#(= main_~i~1 0)} is VALID [2018-11-23 12:16:48,593 INFO L273 TraceCheckUtils]: 6: Hoare triple {2309#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2309#(= main_~i~1 0)} is VALID [2018-11-23 12:16:48,594 INFO L273 TraceCheckUtils]: 7: Hoare triple {2309#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2310#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:48,594 INFO L273 TraceCheckUtils]: 8: Hoare triple {2310#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2310#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:48,595 INFO L273 TraceCheckUtils]: 9: Hoare triple {2310#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2311#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:48,596 INFO L273 TraceCheckUtils]: 10: Hoare triple {2311#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2311#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:48,597 INFO L273 TraceCheckUtils]: 11: Hoare triple {2311#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2312#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:48,597 INFO L273 TraceCheckUtils]: 12: Hoare triple {2312#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2312#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:48,598 INFO L273 TraceCheckUtils]: 13: Hoare triple {2312#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2313#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:48,599 INFO L273 TraceCheckUtils]: 14: Hoare triple {2313#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2313#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:48,599 INFO L273 TraceCheckUtils]: 15: Hoare triple {2313#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2314#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:48,600 INFO L273 TraceCheckUtils]: 16: Hoare triple {2314#(<= main_~i~1 5)} assume !(~i~1 < 20); {2308#false} is VALID [2018-11-23 12:16:48,600 INFO L256 TraceCheckUtils]: 17: Hoare triple {2308#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2307#true} is VALID [2018-11-23 12:16:48,601 INFO L273 TraceCheckUtils]: 18: Hoare triple {2307#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2307#true} is VALID [2018-11-23 12:16:48,601 INFO L273 TraceCheckUtils]: 19: Hoare triple {2307#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2307#true} is VALID [2018-11-23 12:16:48,601 INFO L273 TraceCheckUtils]: 20: Hoare triple {2307#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2307#true} is VALID [2018-11-23 12:16:48,601 INFO L273 TraceCheckUtils]: 21: Hoare triple {2307#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2307#true} is VALID [2018-11-23 12:16:48,601 INFO L273 TraceCheckUtils]: 22: Hoare triple {2307#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2307#true} is VALID [2018-11-23 12:16:48,602 INFO L273 TraceCheckUtils]: 23: Hoare triple {2307#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2307#true} is VALID [2018-11-23 12:16:48,602 INFO L273 TraceCheckUtils]: 24: Hoare triple {2307#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2307#true} is VALID [2018-11-23 12:16:48,602 INFO L273 TraceCheckUtils]: 25: Hoare triple {2307#true} assume !(~i~0 < 20); {2307#true} is VALID [2018-11-23 12:16:48,602 INFO L273 TraceCheckUtils]: 26: Hoare triple {2307#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2307#true} is VALID [2018-11-23 12:16:48,603 INFO L273 TraceCheckUtils]: 27: Hoare triple {2307#true} assume true; {2307#true} is VALID [2018-11-23 12:16:48,603 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2307#true} {2308#false} #75#return; {2308#false} is VALID [2018-11-23 12:16:48,603 INFO L273 TraceCheckUtils]: 29: Hoare triple {2308#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {2308#false} is VALID [2018-11-23 12:16:48,603 INFO L256 TraceCheckUtils]: 30: Hoare triple {2308#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2307#true} is VALID [2018-11-23 12:16:48,603 INFO L273 TraceCheckUtils]: 31: Hoare triple {2307#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2307#true} is VALID [2018-11-23 12:16:48,604 INFO L273 TraceCheckUtils]: 32: Hoare triple {2307#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2307#true} is VALID [2018-11-23 12:16:48,604 INFO L273 TraceCheckUtils]: 33: Hoare triple {2307#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2307#true} is VALID [2018-11-23 12:16:48,604 INFO L273 TraceCheckUtils]: 34: Hoare triple {2307#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2307#true} is VALID [2018-11-23 12:16:48,604 INFO L273 TraceCheckUtils]: 35: Hoare triple {2307#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2307#true} is VALID [2018-11-23 12:16:48,604 INFO L273 TraceCheckUtils]: 36: Hoare triple {2307#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2307#true} is VALID [2018-11-23 12:16:48,604 INFO L273 TraceCheckUtils]: 37: Hoare triple {2307#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2307#true} is VALID [2018-11-23 12:16:48,605 INFO L273 TraceCheckUtils]: 38: Hoare triple {2307#true} assume !(~i~0 < 20); {2307#true} is VALID [2018-11-23 12:16:48,605 INFO L273 TraceCheckUtils]: 39: Hoare triple {2307#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2307#true} is VALID [2018-11-23 12:16:48,605 INFO L273 TraceCheckUtils]: 40: Hoare triple {2307#true} assume true; {2307#true} is VALID [2018-11-23 12:16:48,605 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2307#true} {2308#false} #77#return; {2308#false} is VALID [2018-11-23 12:16:48,605 INFO L273 TraceCheckUtils]: 42: Hoare triple {2308#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {2308#false} is VALID [2018-11-23 12:16:48,606 INFO L273 TraceCheckUtils]: 43: Hoare triple {2308#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {2308#false} is VALID [2018-11-23 12:16:48,606 INFO L273 TraceCheckUtils]: 44: Hoare triple {2308#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {2308#false} is VALID [2018-11-23 12:16:48,606 INFO L273 TraceCheckUtils]: 45: Hoare triple {2308#false} assume !(~i~2 < 19); {2308#false} is VALID [2018-11-23 12:16:48,606 INFO L273 TraceCheckUtils]: 46: Hoare triple {2308#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {2308#false} is VALID [2018-11-23 12:16:48,606 INFO L256 TraceCheckUtils]: 47: Hoare triple {2308#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2307#true} is VALID [2018-11-23 12:16:48,606 INFO L273 TraceCheckUtils]: 48: Hoare triple {2307#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2307#true} is VALID [2018-11-23 12:16:48,607 INFO L273 TraceCheckUtils]: 49: Hoare triple {2307#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2307#true} is VALID [2018-11-23 12:16:48,607 INFO L273 TraceCheckUtils]: 50: Hoare triple {2307#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2307#true} is VALID [2018-11-23 12:16:48,607 INFO L273 TraceCheckUtils]: 51: Hoare triple {2307#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2307#true} is VALID [2018-11-23 12:16:48,607 INFO L273 TraceCheckUtils]: 52: Hoare triple {2307#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2307#true} is VALID [2018-11-23 12:16:48,607 INFO L273 TraceCheckUtils]: 53: Hoare triple {2307#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2307#true} is VALID [2018-11-23 12:16:48,607 INFO L273 TraceCheckUtils]: 54: Hoare triple {2307#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2307#true} is VALID [2018-11-23 12:16:48,608 INFO L273 TraceCheckUtils]: 55: Hoare triple {2307#true} assume !(~i~0 < 20); {2307#true} is VALID [2018-11-23 12:16:48,608 INFO L273 TraceCheckUtils]: 56: Hoare triple {2307#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2307#true} is VALID [2018-11-23 12:16:48,608 INFO L273 TraceCheckUtils]: 57: Hoare triple {2307#true} assume true; {2307#true} is VALID [2018-11-23 12:16:48,608 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {2307#true} {2308#false} #79#return; {2308#false} is VALID [2018-11-23 12:16:48,608 INFO L273 TraceCheckUtils]: 59: Hoare triple {2308#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2308#false} is VALID [2018-11-23 12:16:48,609 INFO L273 TraceCheckUtils]: 60: Hoare triple {2308#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2308#false} is VALID [2018-11-23 12:16:48,609 INFO L273 TraceCheckUtils]: 61: Hoare triple {2308#false} assume !false; {2308#false} is VALID [2018-11-23 12:16:48,611 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 79 trivial. 0 not checked. [2018-11-23 12:16:48,611 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:48,611 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:48,626 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:16:48,680 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-23 12:16:48,680 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:48,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:48,701 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:48,879 INFO L256 TraceCheckUtils]: 0: Hoare triple {2307#true} call ULTIMATE.init(); {2307#true} is VALID [2018-11-23 12:16:48,879 INFO L273 TraceCheckUtils]: 1: Hoare triple {2307#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2307#true} is VALID [2018-11-23 12:16:48,880 INFO L273 TraceCheckUtils]: 2: Hoare triple {2307#true} assume true; {2307#true} is VALID [2018-11-23 12:16:48,880 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2307#true} {2307#true} #71#return; {2307#true} is VALID [2018-11-23 12:16:48,880 INFO L256 TraceCheckUtils]: 4: Hoare triple {2307#true} call #t~ret14 := main(); {2307#true} is VALID [2018-11-23 12:16:48,881 INFO L273 TraceCheckUtils]: 5: Hoare triple {2307#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2307#true} is VALID [2018-11-23 12:16:48,881 INFO L273 TraceCheckUtils]: 6: Hoare triple {2307#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2307#true} is VALID [2018-11-23 12:16:48,881 INFO L273 TraceCheckUtils]: 7: Hoare triple {2307#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2307#true} is VALID [2018-11-23 12:16:48,882 INFO L273 TraceCheckUtils]: 8: Hoare triple {2307#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2307#true} is VALID [2018-11-23 12:16:48,882 INFO L273 TraceCheckUtils]: 9: Hoare triple {2307#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2307#true} is VALID [2018-11-23 12:16:48,882 INFO L273 TraceCheckUtils]: 10: Hoare triple {2307#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2307#true} is VALID [2018-11-23 12:16:48,882 INFO L273 TraceCheckUtils]: 11: Hoare triple {2307#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2307#true} is VALID [2018-11-23 12:16:48,883 INFO L273 TraceCheckUtils]: 12: Hoare triple {2307#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2307#true} is VALID [2018-11-23 12:16:48,883 INFO L273 TraceCheckUtils]: 13: Hoare triple {2307#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2307#true} is VALID [2018-11-23 12:16:48,883 INFO L273 TraceCheckUtils]: 14: Hoare triple {2307#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2307#true} is VALID [2018-11-23 12:16:48,883 INFO L273 TraceCheckUtils]: 15: Hoare triple {2307#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2307#true} is VALID [2018-11-23 12:16:48,883 INFO L273 TraceCheckUtils]: 16: Hoare triple {2307#true} assume !(~i~1 < 20); {2307#true} is VALID [2018-11-23 12:16:48,883 INFO L256 TraceCheckUtils]: 17: Hoare triple {2307#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2307#true} is VALID [2018-11-23 12:16:48,886 INFO L273 TraceCheckUtils]: 18: Hoare triple {2307#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2372#(<= sep_~i~0 0)} is VALID [2018-11-23 12:16:48,886 INFO L273 TraceCheckUtils]: 19: Hoare triple {2372#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2372#(<= sep_~i~0 0)} is VALID [2018-11-23 12:16:48,888 INFO L273 TraceCheckUtils]: 20: Hoare triple {2372#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2372#(<= sep_~i~0 0)} is VALID [2018-11-23 12:16:48,888 INFO L273 TraceCheckUtils]: 21: Hoare triple {2372#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2382#(<= sep_~i~0 1)} is VALID [2018-11-23 12:16:48,889 INFO L273 TraceCheckUtils]: 22: Hoare triple {2382#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2382#(<= sep_~i~0 1)} is VALID [2018-11-23 12:16:48,889 INFO L273 TraceCheckUtils]: 23: Hoare triple {2382#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2382#(<= sep_~i~0 1)} is VALID [2018-11-23 12:16:48,889 INFO L273 TraceCheckUtils]: 24: Hoare triple {2382#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2392#(<= sep_~i~0 2)} is VALID [2018-11-23 12:16:48,890 INFO L273 TraceCheckUtils]: 25: Hoare triple {2392#(<= sep_~i~0 2)} assume !(~i~0 < 20); {2308#false} is VALID [2018-11-23 12:16:48,890 INFO L273 TraceCheckUtils]: 26: Hoare triple {2308#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2308#false} is VALID [2018-11-23 12:16:48,890 INFO L273 TraceCheckUtils]: 27: Hoare triple {2308#false} assume true; {2308#false} is VALID [2018-11-23 12:16:48,890 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2308#false} {2307#true} #75#return; {2308#false} is VALID [2018-11-23 12:16:48,890 INFO L273 TraceCheckUtils]: 29: Hoare triple {2308#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {2308#false} is VALID [2018-11-23 12:16:48,890 INFO L256 TraceCheckUtils]: 30: Hoare triple {2308#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2308#false} is VALID [2018-11-23 12:16:48,891 INFO L273 TraceCheckUtils]: 31: Hoare triple {2308#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2308#false} is VALID [2018-11-23 12:16:48,891 INFO L273 TraceCheckUtils]: 32: Hoare triple {2308#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2308#false} is VALID [2018-11-23 12:16:48,891 INFO L273 TraceCheckUtils]: 33: Hoare triple {2308#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2308#false} is VALID [2018-11-23 12:16:48,891 INFO L273 TraceCheckUtils]: 34: Hoare triple {2308#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2308#false} is VALID [2018-11-23 12:16:48,891 INFO L273 TraceCheckUtils]: 35: Hoare triple {2308#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2308#false} is VALID [2018-11-23 12:16:48,891 INFO L273 TraceCheckUtils]: 36: Hoare triple {2308#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2308#false} is VALID [2018-11-23 12:16:48,891 INFO L273 TraceCheckUtils]: 37: Hoare triple {2308#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2308#false} is VALID [2018-11-23 12:16:48,892 INFO L273 TraceCheckUtils]: 38: Hoare triple {2308#false} assume !(~i~0 < 20); {2308#false} is VALID [2018-11-23 12:16:48,892 INFO L273 TraceCheckUtils]: 39: Hoare triple {2308#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2308#false} is VALID [2018-11-23 12:16:48,892 INFO L273 TraceCheckUtils]: 40: Hoare triple {2308#false} assume true; {2308#false} is VALID [2018-11-23 12:16:48,892 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2308#false} {2308#false} #77#return; {2308#false} is VALID [2018-11-23 12:16:48,892 INFO L273 TraceCheckUtils]: 42: Hoare triple {2308#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {2308#false} is VALID [2018-11-23 12:16:48,893 INFO L273 TraceCheckUtils]: 43: Hoare triple {2308#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {2308#false} is VALID [2018-11-23 12:16:48,893 INFO L273 TraceCheckUtils]: 44: Hoare triple {2308#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {2308#false} is VALID [2018-11-23 12:16:48,893 INFO L273 TraceCheckUtils]: 45: Hoare triple {2308#false} assume !(~i~2 < 19); {2308#false} is VALID [2018-11-23 12:16:48,893 INFO L273 TraceCheckUtils]: 46: Hoare triple {2308#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {2308#false} is VALID [2018-11-23 12:16:48,894 INFO L256 TraceCheckUtils]: 47: Hoare triple {2308#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2308#false} is VALID [2018-11-23 12:16:48,894 INFO L273 TraceCheckUtils]: 48: Hoare triple {2308#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2308#false} is VALID [2018-11-23 12:16:48,894 INFO L273 TraceCheckUtils]: 49: Hoare triple {2308#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2308#false} is VALID [2018-11-23 12:16:48,894 INFO L273 TraceCheckUtils]: 50: Hoare triple {2308#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2308#false} is VALID [2018-11-23 12:16:48,894 INFO L273 TraceCheckUtils]: 51: Hoare triple {2308#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2308#false} is VALID [2018-11-23 12:16:48,895 INFO L273 TraceCheckUtils]: 52: Hoare triple {2308#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2308#false} is VALID [2018-11-23 12:16:48,895 INFO L273 TraceCheckUtils]: 53: Hoare triple {2308#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2308#false} is VALID [2018-11-23 12:16:48,895 INFO L273 TraceCheckUtils]: 54: Hoare triple {2308#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2308#false} is VALID [2018-11-23 12:16:48,895 INFO L273 TraceCheckUtils]: 55: Hoare triple {2308#false} assume !(~i~0 < 20); {2308#false} is VALID [2018-11-23 12:16:48,895 INFO L273 TraceCheckUtils]: 56: Hoare triple {2308#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2308#false} is VALID [2018-11-23 12:16:48,895 INFO L273 TraceCheckUtils]: 57: Hoare triple {2308#false} assume true; {2308#false} is VALID [2018-11-23 12:16:48,895 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {2308#false} {2308#false} #79#return; {2308#false} is VALID [2018-11-23 12:16:48,895 INFO L273 TraceCheckUtils]: 59: Hoare triple {2308#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2308#false} is VALID [2018-11-23 12:16:48,896 INFO L273 TraceCheckUtils]: 60: Hoare triple {2308#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2308#false} is VALID [2018-11-23 12:16:48,896 INFO L273 TraceCheckUtils]: 61: Hoare triple {2308#false} assume !false; {2308#false} is VALID [2018-11-23 12:16:48,897 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 36 proven. 5 refuted. 0 times theorem prover too weak. 63 trivial. 0 not checked. [2018-11-23 12:16:48,918 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:48,919 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 5] total 11 [2018-11-23 12:16:48,920 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 62 [2018-11-23 12:16:48,921 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:48,922 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:16:49,001 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:49,002 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:16:49,002 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:16:49,002 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:16:49,003 INFO L87 Difference]: Start difference. First operand 41 states and 47 transitions. Second operand 11 states. [2018-11-23 12:16:49,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:49,580 INFO L93 Difference]: Finished difference Result 73 states and 91 transitions. [2018-11-23 12:16:49,580 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:16:49,581 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 62 [2018-11-23 12:16:49,581 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:49,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:16:49,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 84 transitions. [2018-11-23 12:16:49,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:16:49,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 84 transitions. [2018-11-23 12:16:49,586 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 84 transitions. [2018-11-23 12:16:49,740 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:49,742 INFO L225 Difference]: With dead ends: 73 [2018-11-23 12:16:49,742 INFO L226 Difference]: Without dead ends: 49 [2018-11-23 12:16:49,743 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 60 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:16:49,744 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2018-11-23 12:16:49,763 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 46. [2018-11-23 12:16:49,763 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:49,763 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 46 states. [2018-11-23 12:16:49,763 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 46 states. [2018-11-23 12:16:49,763 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 46 states. [2018-11-23 12:16:49,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:49,765 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2018-11-23 12:16:49,765 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2018-11-23 12:16:49,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:49,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:49,766 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 49 states. [2018-11-23 12:16:49,766 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 49 states. [2018-11-23 12:16:49,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:49,767 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2018-11-23 12:16:49,768 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2018-11-23 12:16:49,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:49,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:49,768 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:49,768 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:49,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-23 12:16:49,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 53 transitions. [2018-11-23 12:16:49,770 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 53 transitions. Word has length 62 [2018-11-23 12:16:49,771 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:49,771 INFO L480 AbstractCegarLoop]: Abstraction has 46 states and 53 transitions. [2018-11-23 12:16:49,771 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:16:49,771 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 53 transitions. [2018-11-23 12:16:49,772 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2018-11-23 12:16:49,772 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:49,772 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 9, 6, 6, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:49,772 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:49,772 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:49,773 INFO L82 PathProgramCache]: Analyzing trace with hash -1972208203, now seen corresponding path program 6 times [2018-11-23 12:16:49,773 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:49,773 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:49,773 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:49,774 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:49,774 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:49,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:50,002 INFO L256 TraceCheckUtils]: 0: Hoare triple {2771#true} call ULTIMATE.init(); {2771#true} is VALID [2018-11-23 12:16:50,002 INFO L273 TraceCheckUtils]: 1: Hoare triple {2771#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2771#true} is VALID [2018-11-23 12:16:50,002 INFO L273 TraceCheckUtils]: 2: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:50,003 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2771#true} {2771#true} #71#return; {2771#true} is VALID [2018-11-23 12:16:50,003 INFO L256 TraceCheckUtils]: 4: Hoare triple {2771#true} call #t~ret14 := main(); {2771#true} is VALID [2018-11-23 12:16:50,004 INFO L273 TraceCheckUtils]: 5: Hoare triple {2771#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2773#(= main_~i~1 0)} is VALID [2018-11-23 12:16:50,004 INFO L273 TraceCheckUtils]: 6: Hoare triple {2773#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2773#(= main_~i~1 0)} is VALID [2018-11-23 12:16:50,005 INFO L273 TraceCheckUtils]: 7: Hoare triple {2773#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2774#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:50,005 INFO L273 TraceCheckUtils]: 8: Hoare triple {2774#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2774#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:50,006 INFO L273 TraceCheckUtils]: 9: Hoare triple {2774#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2775#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:50,006 INFO L273 TraceCheckUtils]: 10: Hoare triple {2775#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2775#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:50,006 INFO L273 TraceCheckUtils]: 11: Hoare triple {2775#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2776#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:50,007 INFO L273 TraceCheckUtils]: 12: Hoare triple {2776#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2776#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:50,008 INFO L273 TraceCheckUtils]: 13: Hoare triple {2776#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2777#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:50,008 INFO L273 TraceCheckUtils]: 14: Hoare triple {2777#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2777#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:50,009 INFO L273 TraceCheckUtils]: 15: Hoare triple {2777#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2778#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:50,012 INFO L273 TraceCheckUtils]: 16: Hoare triple {2778#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2778#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:50,012 INFO L273 TraceCheckUtils]: 17: Hoare triple {2778#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2779#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:50,013 INFO L273 TraceCheckUtils]: 18: Hoare triple {2779#(<= main_~i~1 6)} assume !(~i~1 < 20); {2772#false} is VALID [2018-11-23 12:16:50,013 INFO L256 TraceCheckUtils]: 19: Hoare triple {2772#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2771#true} is VALID [2018-11-23 12:16:50,014 INFO L273 TraceCheckUtils]: 20: Hoare triple {2771#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2771#true} is VALID [2018-11-23 12:16:50,014 INFO L273 TraceCheckUtils]: 21: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,014 INFO L273 TraceCheckUtils]: 22: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,014 INFO L273 TraceCheckUtils]: 23: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,015 INFO L273 TraceCheckUtils]: 24: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,015 INFO L273 TraceCheckUtils]: 25: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,015 INFO L273 TraceCheckUtils]: 26: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,015 INFO L273 TraceCheckUtils]: 27: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,015 INFO L273 TraceCheckUtils]: 28: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,016 INFO L273 TraceCheckUtils]: 29: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,016 INFO L273 TraceCheckUtils]: 30: Hoare triple {2771#true} assume !(~i~0 < 20); {2771#true} is VALID [2018-11-23 12:16:50,016 INFO L273 TraceCheckUtils]: 31: Hoare triple {2771#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2771#true} is VALID [2018-11-23 12:16:50,016 INFO L273 TraceCheckUtils]: 32: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:50,017 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {2771#true} {2772#false} #75#return; {2772#false} is VALID [2018-11-23 12:16:50,017 INFO L273 TraceCheckUtils]: 34: Hoare triple {2772#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {2772#false} is VALID [2018-11-23 12:16:50,017 INFO L256 TraceCheckUtils]: 35: Hoare triple {2772#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2771#true} is VALID [2018-11-23 12:16:50,017 INFO L273 TraceCheckUtils]: 36: Hoare triple {2771#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2771#true} is VALID [2018-11-23 12:16:50,017 INFO L273 TraceCheckUtils]: 37: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,018 INFO L273 TraceCheckUtils]: 38: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,018 INFO L273 TraceCheckUtils]: 39: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,018 INFO L273 TraceCheckUtils]: 40: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,018 INFO L273 TraceCheckUtils]: 41: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,018 INFO L273 TraceCheckUtils]: 42: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,018 INFO L273 TraceCheckUtils]: 43: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,018 INFO L273 TraceCheckUtils]: 44: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,018 INFO L273 TraceCheckUtils]: 45: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,019 INFO L273 TraceCheckUtils]: 46: Hoare triple {2771#true} assume !(~i~0 < 20); {2771#true} is VALID [2018-11-23 12:16:50,019 INFO L273 TraceCheckUtils]: 47: Hoare triple {2771#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2771#true} is VALID [2018-11-23 12:16:50,019 INFO L273 TraceCheckUtils]: 48: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:50,019 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {2771#true} {2772#false} #77#return; {2772#false} is VALID [2018-11-23 12:16:50,019 INFO L273 TraceCheckUtils]: 50: Hoare triple {2772#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {2772#false} is VALID [2018-11-23 12:16:50,019 INFO L273 TraceCheckUtils]: 51: Hoare triple {2772#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {2772#false} is VALID [2018-11-23 12:16:50,019 INFO L273 TraceCheckUtils]: 52: Hoare triple {2772#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {2772#false} is VALID [2018-11-23 12:16:50,019 INFO L273 TraceCheckUtils]: 53: Hoare triple {2772#false} assume !(~i~2 < 19); {2772#false} is VALID [2018-11-23 12:16:50,020 INFO L273 TraceCheckUtils]: 54: Hoare triple {2772#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {2772#false} is VALID [2018-11-23 12:16:50,020 INFO L256 TraceCheckUtils]: 55: Hoare triple {2772#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2771#true} is VALID [2018-11-23 12:16:50,020 INFO L273 TraceCheckUtils]: 56: Hoare triple {2771#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2771#true} is VALID [2018-11-23 12:16:50,020 INFO L273 TraceCheckUtils]: 57: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,020 INFO L273 TraceCheckUtils]: 58: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,020 INFO L273 TraceCheckUtils]: 59: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,020 INFO L273 TraceCheckUtils]: 60: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,020 INFO L273 TraceCheckUtils]: 61: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,021 INFO L273 TraceCheckUtils]: 62: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,021 INFO L273 TraceCheckUtils]: 63: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,021 INFO L273 TraceCheckUtils]: 64: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,021 INFO L273 TraceCheckUtils]: 65: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,021 INFO L273 TraceCheckUtils]: 66: Hoare triple {2771#true} assume !(~i~0 < 20); {2771#true} is VALID [2018-11-23 12:16:50,021 INFO L273 TraceCheckUtils]: 67: Hoare triple {2771#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2771#true} is VALID [2018-11-23 12:16:50,021 INFO L273 TraceCheckUtils]: 68: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:50,021 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {2771#true} {2772#false} #79#return; {2772#false} is VALID [2018-11-23 12:16:50,022 INFO L273 TraceCheckUtils]: 70: Hoare triple {2772#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2772#false} is VALID [2018-11-23 12:16:50,022 INFO L273 TraceCheckUtils]: 71: Hoare triple {2772#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2772#false} is VALID [2018-11-23 12:16:50,022 INFO L273 TraceCheckUtils]: 72: Hoare triple {2772#false} assume !false; {2772#false} is VALID [2018-11-23 12:16:50,025 INFO L134 CoverageAnalysis]: Checked inductivity of 187 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 151 trivial. 0 not checked. [2018-11-23 12:16:50,025 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:50,025 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:50,039 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:16:50,083 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-23 12:16:50,084 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:50,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:50,122 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:50,242 INFO L256 TraceCheckUtils]: 0: Hoare triple {2771#true} call ULTIMATE.init(); {2771#true} is VALID [2018-11-23 12:16:50,243 INFO L273 TraceCheckUtils]: 1: Hoare triple {2771#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2771#true} is VALID [2018-11-23 12:16:50,243 INFO L273 TraceCheckUtils]: 2: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:50,243 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2771#true} {2771#true} #71#return; {2771#true} is VALID [2018-11-23 12:16:50,244 INFO L256 TraceCheckUtils]: 4: Hoare triple {2771#true} call #t~ret14 := main(); {2771#true} is VALID [2018-11-23 12:16:50,244 INFO L273 TraceCheckUtils]: 5: Hoare triple {2771#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2771#true} is VALID [2018-11-23 12:16:50,244 INFO L273 TraceCheckUtils]: 6: Hoare triple {2771#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2771#true} is VALID [2018-11-23 12:16:50,245 INFO L273 TraceCheckUtils]: 7: Hoare triple {2771#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2771#true} is VALID [2018-11-23 12:16:50,245 INFO L273 TraceCheckUtils]: 8: Hoare triple {2771#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2771#true} is VALID [2018-11-23 12:16:50,246 INFO L273 TraceCheckUtils]: 9: Hoare triple {2771#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2771#true} is VALID [2018-11-23 12:16:50,246 INFO L273 TraceCheckUtils]: 10: Hoare triple {2771#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2771#true} is VALID [2018-11-23 12:16:50,246 INFO L273 TraceCheckUtils]: 11: Hoare triple {2771#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2771#true} is VALID [2018-11-23 12:16:50,246 INFO L273 TraceCheckUtils]: 12: Hoare triple {2771#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2771#true} is VALID [2018-11-23 12:16:50,247 INFO L273 TraceCheckUtils]: 13: Hoare triple {2771#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2771#true} is VALID [2018-11-23 12:16:50,247 INFO L273 TraceCheckUtils]: 14: Hoare triple {2771#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2771#true} is VALID [2018-11-23 12:16:50,247 INFO L273 TraceCheckUtils]: 15: Hoare triple {2771#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2771#true} is VALID [2018-11-23 12:16:50,247 INFO L273 TraceCheckUtils]: 16: Hoare triple {2771#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2771#true} is VALID [2018-11-23 12:16:50,248 INFO L273 TraceCheckUtils]: 17: Hoare triple {2771#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2771#true} is VALID [2018-11-23 12:16:50,248 INFO L273 TraceCheckUtils]: 18: Hoare triple {2771#true} assume !(~i~1 < 20); {2771#true} is VALID [2018-11-23 12:16:50,248 INFO L256 TraceCheckUtils]: 19: Hoare triple {2771#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2771#true} is VALID [2018-11-23 12:16:50,248 INFO L273 TraceCheckUtils]: 20: Hoare triple {2771#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2771#true} is VALID [2018-11-23 12:16:50,248 INFO L273 TraceCheckUtils]: 21: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,249 INFO L273 TraceCheckUtils]: 22: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,249 INFO L273 TraceCheckUtils]: 23: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,249 INFO L273 TraceCheckUtils]: 24: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,249 INFO L273 TraceCheckUtils]: 25: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,250 INFO L273 TraceCheckUtils]: 26: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,250 INFO L273 TraceCheckUtils]: 27: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,250 INFO L273 TraceCheckUtils]: 28: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,250 INFO L273 TraceCheckUtils]: 29: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,250 INFO L273 TraceCheckUtils]: 30: Hoare triple {2771#true} assume !(~i~0 < 20); {2771#true} is VALID [2018-11-23 12:16:50,251 INFO L273 TraceCheckUtils]: 31: Hoare triple {2771#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2771#true} is VALID [2018-11-23 12:16:50,251 INFO L273 TraceCheckUtils]: 32: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:50,251 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {2771#true} {2771#true} #75#return; {2771#true} is VALID [2018-11-23 12:16:50,251 INFO L273 TraceCheckUtils]: 34: Hoare triple {2771#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {2771#true} is VALID [2018-11-23 12:16:50,252 INFO L256 TraceCheckUtils]: 35: Hoare triple {2771#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2771#true} is VALID [2018-11-23 12:16:50,252 INFO L273 TraceCheckUtils]: 36: Hoare triple {2771#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2771#true} is VALID [2018-11-23 12:16:50,252 INFO L273 TraceCheckUtils]: 37: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,252 INFO L273 TraceCheckUtils]: 38: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,252 INFO L273 TraceCheckUtils]: 39: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,253 INFO L273 TraceCheckUtils]: 40: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,253 INFO L273 TraceCheckUtils]: 41: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,253 INFO L273 TraceCheckUtils]: 42: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,253 INFO L273 TraceCheckUtils]: 43: Hoare triple {2771#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:50,253 INFO L273 TraceCheckUtils]: 44: Hoare triple {2771#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2771#true} is VALID [2018-11-23 12:16:50,253 INFO L273 TraceCheckUtils]: 45: Hoare triple {2771#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#true} is VALID [2018-11-23 12:16:50,254 INFO L273 TraceCheckUtils]: 46: Hoare triple {2771#true} assume !(~i~0 < 20); {2771#true} is VALID [2018-11-23 12:16:50,254 INFO L273 TraceCheckUtils]: 47: Hoare triple {2771#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2771#true} is VALID [2018-11-23 12:16:50,254 INFO L273 TraceCheckUtils]: 48: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:50,254 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {2771#true} {2771#true} #77#return; {2771#true} is VALID [2018-11-23 12:16:50,269 INFO L273 TraceCheckUtils]: 50: Hoare triple {2771#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {2933#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:50,277 INFO L273 TraceCheckUtils]: 51: Hoare triple {2933#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {2933#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:50,292 INFO L273 TraceCheckUtils]: 52: Hoare triple {2933#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {2940#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:50,301 INFO L273 TraceCheckUtils]: 53: Hoare triple {2940#(<= main_~i~2 1)} assume !(~i~2 < 19); {2772#false} is VALID [2018-11-23 12:16:50,301 INFO L273 TraceCheckUtils]: 54: Hoare triple {2772#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {2772#false} is VALID [2018-11-23 12:16:50,301 INFO L256 TraceCheckUtils]: 55: Hoare triple {2772#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2772#false} is VALID [2018-11-23 12:16:50,301 INFO L273 TraceCheckUtils]: 56: Hoare triple {2772#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2772#false} is VALID [2018-11-23 12:16:50,301 INFO L273 TraceCheckUtils]: 57: Hoare triple {2772#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2772#false} is VALID [2018-11-23 12:16:50,302 INFO L273 TraceCheckUtils]: 58: Hoare triple {2772#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2772#false} is VALID [2018-11-23 12:16:50,302 INFO L273 TraceCheckUtils]: 59: Hoare triple {2772#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2772#false} is VALID [2018-11-23 12:16:50,302 INFO L273 TraceCheckUtils]: 60: Hoare triple {2772#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2772#false} is VALID [2018-11-23 12:16:50,302 INFO L273 TraceCheckUtils]: 61: Hoare triple {2772#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2772#false} is VALID [2018-11-23 12:16:50,302 INFO L273 TraceCheckUtils]: 62: Hoare triple {2772#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2772#false} is VALID [2018-11-23 12:16:50,303 INFO L273 TraceCheckUtils]: 63: Hoare triple {2772#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2772#false} is VALID [2018-11-23 12:16:50,303 INFO L273 TraceCheckUtils]: 64: Hoare triple {2772#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {2772#false} is VALID [2018-11-23 12:16:50,303 INFO L273 TraceCheckUtils]: 65: Hoare triple {2772#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2772#false} is VALID [2018-11-23 12:16:50,303 INFO L273 TraceCheckUtils]: 66: Hoare triple {2772#false} assume !(~i~0 < 20); {2772#false} is VALID [2018-11-23 12:16:50,303 INFO L273 TraceCheckUtils]: 67: Hoare triple {2772#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2772#false} is VALID [2018-11-23 12:16:50,303 INFO L273 TraceCheckUtils]: 68: Hoare triple {2772#false} assume true; {2772#false} is VALID [2018-11-23 12:16:50,304 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {2772#false} {2772#false} #79#return; {2772#false} is VALID [2018-11-23 12:16:50,304 INFO L273 TraceCheckUtils]: 70: Hoare triple {2772#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2772#false} is VALID [2018-11-23 12:16:50,304 INFO L273 TraceCheckUtils]: 71: Hoare triple {2772#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2772#false} is VALID [2018-11-23 12:16:50,304 INFO L273 TraceCheckUtils]: 72: Hoare triple {2772#false} assume !false; {2772#false} is VALID [2018-11-23 12:16:50,307 INFO L134 CoverageAnalysis]: Checked inductivity of 187 backedges. 76 proven. 1 refuted. 0 times theorem prover too weak. 110 trivial. 0 not checked. [2018-11-23 12:16:50,331 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:50,331 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 4] total 11 [2018-11-23 12:16:50,332 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 73 [2018-11-23 12:16:50,332 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:50,333 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:16:50,423 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:50,423 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:16:50,424 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:16:50,424 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:16:50,424 INFO L87 Difference]: Start difference. First operand 46 states and 53 transitions. Second operand 11 states. [2018-11-23 12:16:50,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:50,898 INFO L93 Difference]: Finished difference Result 79 states and 94 transitions. [2018-11-23 12:16:50,898 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:16:50,898 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 73 [2018-11-23 12:16:50,898 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:50,898 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:16:50,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2018-11-23 12:16:50,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:16:50,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2018-11-23 12:16:50,910 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 75 transitions. [2018-11-23 12:16:51,012 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:51,014 INFO L225 Difference]: With dead ends: 79 [2018-11-23 12:16:51,014 INFO L226 Difference]: Without dead ends: 52 [2018-11-23 12:16:51,015 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 72 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:16:51,015 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-23 12:16:51,172 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2018-11-23 12:16:51,172 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:51,172 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 50 states. [2018-11-23 12:16:51,172 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 50 states. [2018-11-23 12:16:51,172 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 50 states. [2018-11-23 12:16:51,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:51,176 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2018-11-23 12:16:51,176 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2018-11-23 12:16:51,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:51,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:51,180 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 52 states. [2018-11-23 12:16:51,180 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 52 states. [2018-11-23 12:16:51,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:51,182 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2018-11-23 12:16:51,182 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2018-11-23 12:16:51,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:51,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:51,183 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:51,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:51,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-23 12:16:51,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 57 transitions. [2018-11-23 12:16:51,185 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 57 transitions. Word has length 73 [2018-11-23 12:16:51,185 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:51,185 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 57 transitions. [2018-11-23 12:16:51,185 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:16:51,185 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2018-11-23 12:16:51,186 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2018-11-23 12:16:51,186 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:51,186 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 9, 7, 7, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:51,186 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:51,186 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:51,187 INFO L82 PathProgramCache]: Analyzing trace with hash 1857138133, now seen corresponding path program 7 times [2018-11-23 12:16:51,187 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:51,187 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:51,188 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:51,188 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:51,188 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:51,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:51,538 INFO L256 TraceCheckUtils]: 0: Hoare triple {3289#true} call ULTIMATE.init(); {3289#true} is VALID [2018-11-23 12:16:51,538 INFO L273 TraceCheckUtils]: 1: Hoare triple {3289#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3289#true} is VALID [2018-11-23 12:16:51,539 INFO L273 TraceCheckUtils]: 2: Hoare triple {3289#true} assume true; {3289#true} is VALID [2018-11-23 12:16:51,539 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3289#true} {3289#true} #71#return; {3289#true} is VALID [2018-11-23 12:16:51,539 INFO L256 TraceCheckUtils]: 4: Hoare triple {3289#true} call #t~ret14 := main(); {3289#true} is VALID [2018-11-23 12:16:51,540 INFO L273 TraceCheckUtils]: 5: Hoare triple {3289#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3291#(= main_~i~1 0)} is VALID [2018-11-23 12:16:51,540 INFO L273 TraceCheckUtils]: 6: Hoare triple {3291#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3291#(= main_~i~1 0)} is VALID [2018-11-23 12:16:51,541 INFO L273 TraceCheckUtils]: 7: Hoare triple {3291#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3292#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:51,541 INFO L273 TraceCheckUtils]: 8: Hoare triple {3292#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3292#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:51,542 INFO L273 TraceCheckUtils]: 9: Hoare triple {3292#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3293#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:51,559 INFO L273 TraceCheckUtils]: 10: Hoare triple {3293#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3293#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:51,566 INFO L273 TraceCheckUtils]: 11: Hoare triple {3293#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3294#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:51,566 INFO L273 TraceCheckUtils]: 12: Hoare triple {3294#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3294#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:51,567 INFO L273 TraceCheckUtils]: 13: Hoare triple {3294#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3295#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:51,567 INFO L273 TraceCheckUtils]: 14: Hoare triple {3295#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3295#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:51,568 INFO L273 TraceCheckUtils]: 15: Hoare triple {3295#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3296#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:51,568 INFO L273 TraceCheckUtils]: 16: Hoare triple {3296#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3296#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:51,568 INFO L273 TraceCheckUtils]: 17: Hoare triple {3296#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3297#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:51,569 INFO L273 TraceCheckUtils]: 18: Hoare triple {3297#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3297#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:51,569 INFO L273 TraceCheckUtils]: 19: Hoare triple {3297#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3298#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:51,570 INFO L273 TraceCheckUtils]: 20: Hoare triple {3298#(<= main_~i~1 7)} assume !(~i~1 < 20); {3290#false} is VALID [2018-11-23 12:16:51,570 INFO L256 TraceCheckUtils]: 21: Hoare triple {3290#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {3289#true} is VALID [2018-11-23 12:16:51,570 INFO L273 TraceCheckUtils]: 22: Hoare triple {3289#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3289#true} is VALID [2018-11-23 12:16:51,570 INFO L273 TraceCheckUtils]: 23: Hoare triple {3289#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:51,570 INFO L273 TraceCheckUtils]: 24: Hoare triple {3289#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3289#true} is VALID [2018-11-23 12:16:51,570 INFO L273 TraceCheckUtils]: 25: Hoare triple {3289#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3289#true} is VALID [2018-11-23 12:16:51,570 INFO L273 TraceCheckUtils]: 26: Hoare triple {3289#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:51,570 INFO L273 TraceCheckUtils]: 27: Hoare triple {3289#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3289#true} is VALID [2018-11-23 12:16:51,571 INFO L273 TraceCheckUtils]: 28: Hoare triple {3289#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3289#true} is VALID [2018-11-23 12:16:51,571 INFO L273 TraceCheckUtils]: 29: Hoare triple {3289#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:51,571 INFO L273 TraceCheckUtils]: 30: Hoare triple {3289#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3289#true} is VALID [2018-11-23 12:16:51,571 INFO L273 TraceCheckUtils]: 31: Hoare triple {3289#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3289#true} is VALID [2018-11-23 12:16:51,571 INFO L273 TraceCheckUtils]: 32: Hoare triple {3289#true} assume !(~i~0 < 20); {3289#true} is VALID [2018-11-23 12:16:51,572 INFO L273 TraceCheckUtils]: 33: Hoare triple {3289#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3289#true} is VALID [2018-11-23 12:16:51,572 INFO L273 TraceCheckUtils]: 34: Hoare triple {3289#true} assume true; {3289#true} is VALID [2018-11-23 12:16:51,572 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {3289#true} {3290#false} #75#return; {3290#false} is VALID [2018-11-23 12:16:51,572 INFO L273 TraceCheckUtils]: 36: Hoare triple {3290#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {3290#false} is VALID [2018-11-23 12:16:51,572 INFO L256 TraceCheckUtils]: 37: Hoare triple {3290#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {3289#true} is VALID [2018-11-23 12:16:51,573 INFO L273 TraceCheckUtils]: 38: Hoare triple {3289#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3289#true} is VALID [2018-11-23 12:16:51,573 INFO L273 TraceCheckUtils]: 39: Hoare triple {3289#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:51,573 INFO L273 TraceCheckUtils]: 40: Hoare triple {3289#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3289#true} is VALID [2018-11-23 12:16:51,573 INFO L273 TraceCheckUtils]: 41: Hoare triple {3289#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3289#true} is VALID [2018-11-23 12:16:51,573 INFO L273 TraceCheckUtils]: 42: Hoare triple {3289#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:51,573 INFO L273 TraceCheckUtils]: 43: Hoare triple {3289#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3289#true} is VALID [2018-11-23 12:16:51,573 INFO L273 TraceCheckUtils]: 44: Hoare triple {3289#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3289#true} is VALID [2018-11-23 12:16:51,573 INFO L273 TraceCheckUtils]: 45: Hoare triple {3289#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:51,574 INFO L273 TraceCheckUtils]: 46: Hoare triple {3289#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3289#true} is VALID [2018-11-23 12:16:51,574 INFO L273 TraceCheckUtils]: 47: Hoare triple {3289#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3289#true} is VALID [2018-11-23 12:16:51,574 INFO L273 TraceCheckUtils]: 48: Hoare triple {3289#true} assume !(~i~0 < 20); {3289#true} is VALID [2018-11-23 12:16:51,574 INFO L273 TraceCheckUtils]: 49: Hoare triple {3289#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3289#true} is VALID [2018-11-23 12:16:51,574 INFO L273 TraceCheckUtils]: 50: Hoare triple {3289#true} assume true; {3289#true} is VALID [2018-11-23 12:16:51,574 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {3289#true} {3290#false} #77#return; {3290#false} is VALID [2018-11-23 12:16:51,574 INFO L273 TraceCheckUtils]: 52: Hoare triple {3290#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {3290#false} is VALID [2018-11-23 12:16:51,574 INFO L273 TraceCheckUtils]: 53: Hoare triple {3290#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {3290#false} is VALID [2018-11-23 12:16:51,574 INFO L273 TraceCheckUtils]: 54: Hoare triple {3290#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {3290#false} is VALID [2018-11-23 12:16:51,575 INFO L273 TraceCheckUtils]: 55: Hoare triple {3290#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {3290#false} is VALID [2018-11-23 12:16:51,575 INFO L273 TraceCheckUtils]: 56: Hoare triple {3290#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {3290#false} is VALID [2018-11-23 12:16:51,575 INFO L273 TraceCheckUtils]: 57: Hoare triple {3290#false} assume !(~i~2 < 19); {3290#false} is VALID [2018-11-23 12:16:51,575 INFO L273 TraceCheckUtils]: 58: Hoare triple {3290#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {3290#false} is VALID [2018-11-23 12:16:51,575 INFO L256 TraceCheckUtils]: 59: Hoare triple {3290#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {3289#true} is VALID [2018-11-23 12:16:51,575 INFO L273 TraceCheckUtils]: 60: Hoare triple {3289#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3289#true} is VALID [2018-11-23 12:16:51,575 INFO L273 TraceCheckUtils]: 61: Hoare triple {3289#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:51,575 INFO L273 TraceCheckUtils]: 62: Hoare triple {3289#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3289#true} is VALID [2018-11-23 12:16:51,576 INFO L273 TraceCheckUtils]: 63: Hoare triple {3289#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3289#true} is VALID [2018-11-23 12:16:51,576 INFO L273 TraceCheckUtils]: 64: Hoare triple {3289#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:51,576 INFO L273 TraceCheckUtils]: 65: Hoare triple {3289#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3289#true} is VALID [2018-11-23 12:16:51,576 INFO L273 TraceCheckUtils]: 66: Hoare triple {3289#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3289#true} is VALID [2018-11-23 12:16:51,576 INFO L273 TraceCheckUtils]: 67: Hoare triple {3289#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:51,576 INFO L273 TraceCheckUtils]: 68: Hoare triple {3289#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3289#true} is VALID [2018-11-23 12:16:51,576 INFO L273 TraceCheckUtils]: 69: Hoare triple {3289#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3289#true} is VALID [2018-11-23 12:16:51,576 INFO L273 TraceCheckUtils]: 70: Hoare triple {3289#true} assume !(~i~0 < 20); {3289#true} is VALID [2018-11-23 12:16:51,576 INFO L273 TraceCheckUtils]: 71: Hoare triple {3289#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3289#true} is VALID [2018-11-23 12:16:51,577 INFO L273 TraceCheckUtils]: 72: Hoare triple {3289#true} assume true; {3289#true} is VALID [2018-11-23 12:16:51,577 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {3289#true} {3290#false} #79#return; {3290#false} is VALID [2018-11-23 12:16:51,577 INFO L273 TraceCheckUtils]: 74: Hoare triple {3290#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {3290#false} is VALID [2018-11-23 12:16:51,577 INFO L273 TraceCheckUtils]: 75: Hoare triple {3290#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3290#false} is VALID [2018-11-23 12:16:51,577 INFO L273 TraceCheckUtils]: 76: Hoare triple {3290#false} assume !false; {3290#false} is VALID [2018-11-23 12:16:51,580 INFO L134 CoverageAnalysis]: Checked inductivity of 203 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 154 trivial. 0 not checked. [2018-11-23 12:16:51,580 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:51,581 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:51,591 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:51,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:51,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:51,650 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:51,762 INFO L256 TraceCheckUtils]: 0: Hoare triple {3289#true} call ULTIMATE.init(); {3289#true} is VALID [2018-11-23 12:16:51,763 INFO L273 TraceCheckUtils]: 1: Hoare triple {3289#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3289#true} is VALID [2018-11-23 12:16:51,763 INFO L273 TraceCheckUtils]: 2: Hoare triple {3289#true} assume true; {3289#true} is VALID [2018-11-23 12:16:51,763 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3289#true} {3289#true} #71#return; {3289#true} is VALID [2018-11-23 12:16:51,763 INFO L256 TraceCheckUtils]: 4: Hoare triple {3289#true} call #t~ret14 := main(); {3289#true} is VALID [2018-11-23 12:16:51,764 INFO L273 TraceCheckUtils]: 5: Hoare triple {3289#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3317#(<= main_~i~1 0)} is VALID [2018-11-23 12:16:51,765 INFO L273 TraceCheckUtils]: 6: Hoare triple {3317#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3317#(<= main_~i~1 0)} is VALID [2018-11-23 12:16:51,765 INFO L273 TraceCheckUtils]: 7: Hoare triple {3317#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3292#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:51,765 INFO L273 TraceCheckUtils]: 8: Hoare triple {3292#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3292#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:51,766 INFO L273 TraceCheckUtils]: 9: Hoare triple {3292#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3293#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:51,766 INFO L273 TraceCheckUtils]: 10: Hoare triple {3293#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3293#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:51,767 INFO L273 TraceCheckUtils]: 11: Hoare triple {3293#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3294#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:51,767 INFO L273 TraceCheckUtils]: 12: Hoare triple {3294#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3294#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:51,767 INFO L273 TraceCheckUtils]: 13: Hoare triple {3294#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3295#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:51,768 INFO L273 TraceCheckUtils]: 14: Hoare triple {3295#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3295#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:51,768 INFO L273 TraceCheckUtils]: 15: Hoare triple {3295#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3296#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:51,769 INFO L273 TraceCheckUtils]: 16: Hoare triple {3296#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3296#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:51,770 INFO L273 TraceCheckUtils]: 17: Hoare triple {3296#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3297#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:51,770 INFO L273 TraceCheckUtils]: 18: Hoare triple {3297#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3297#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:51,771 INFO L273 TraceCheckUtils]: 19: Hoare triple {3297#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3298#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:51,772 INFO L273 TraceCheckUtils]: 20: Hoare triple {3298#(<= main_~i~1 7)} assume !(~i~1 < 20); {3290#false} is VALID [2018-11-23 12:16:51,772 INFO L256 TraceCheckUtils]: 21: Hoare triple {3290#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {3290#false} is VALID [2018-11-23 12:16:51,772 INFO L273 TraceCheckUtils]: 22: Hoare triple {3290#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3290#false} is VALID [2018-11-23 12:16:51,772 INFO L273 TraceCheckUtils]: 23: Hoare triple {3290#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:51,772 INFO L273 TraceCheckUtils]: 24: Hoare triple {3290#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3290#false} is VALID [2018-11-23 12:16:51,773 INFO L273 TraceCheckUtils]: 25: Hoare triple {3290#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3290#false} is VALID [2018-11-23 12:16:51,773 INFO L273 TraceCheckUtils]: 26: Hoare triple {3290#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:51,773 INFO L273 TraceCheckUtils]: 27: Hoare triple {3290#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3290#false} is VALID [2018-11-23 12:16:51,773 INFO L273 TraceCheckUtils]: 28: Hoare triple {3290#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3290#false} is VALID [2018-11-23 12:16:51,773 INFO L273 TraceCheckUtils]: 29: Hoare triple {3290#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:51,774 INFO L273 TraceCheckUtils]: 30: Hoare triple {3290#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3290#false} is VALID [2018-11-23 12:16:51,774 INFO L273 TraceCheckUtils]: 31: Hoare triple {3290#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3290#false} is VALID [2018-11-23 12:16:51,774 INFO L273 TraceCheckUtils]: 32: Hoare triple {3290#false} assume !(~i~0 < 20); {3290#false} is VALID [2018-11-23 12:16:51,774 INFO L273 TraceCheckUtils]: 33: Hoare triple {3290#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3290#false} is VALID [2018-11-23 12:16:51,774 INFO L273 TraceCheckUtils]: 34: Hoare triple {3290#false} assume true; {3290#false} is VALID [2018-11-23 12:16:51,775 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {3290#false} {3290#false} #75#return; {3290#false} is VALID [2018-11-23 12:16:51,775 INFO L273 TraceCheckUtils]: 36: Hoare triple {3290#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {3290#false} is VALID [2018-11-23 12:16:51,775 INFO L256 TraceCheckUtils]: 37: Hoare triple {3290#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {3290#false} is VALID [2018-11-23 12:16:51,775 INFO L273 TraceCheckUtils]: 38: Hoare triple {3290#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3290#false} is VALID [2018-11-23 12:16:51,775 INFO L273 TraceCheckUtils]: 39: Hoare triple {3290#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:51,776 INFO L273 TraceCheckUtils]: 40: Hoare triple {3290#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3290#false} is VALID [2018-11-23 12:16:51,776 INFO L273 TraceCheckUtils]: 41: Hoare triple {3290#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3290#false} is VALID [2018-11-23 12:16:51,776 INFO L273 TraceCheckUtils]: 42: Hoare triple {3290#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:51,776 INFO L273 TraceCheckUtils]: 43: Hoare triple {3290#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3290#false} is VALID [2018-11-23 12:16:51,776 INFO L273 TraceCheckUtils]: 44: Hoare triple {3290#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3290#false} is VALID [2018-11-23 12:16:51,776 INFO L273 TraceCheckUtils]: 45: Hoare triple {3290#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:51,776 INFO L273 TraceCheckUtils]: 46: Hoare triple {3290#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3290#false} is VALID [2018-11-23 12:16:51,777 INFO L273 TraceCheckUtils]: 47: Hoare triple {3290#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3290#false} is VALID [2018-11-23 12:16:51,777 INFO L273 TraceCheckUtils]: 48: Hoare triple {3290#false} assume !(~i~0 < 20); {3290#false} is VALID [2018-11-23 12:16:51,777 INFO L273 TraceCheckUtils]: 49: Hoare triple {3290#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3290#false} is VALID [2018-11-23 12:16:51,777 INFO L273 TraceCheckUtils]: 50: Hoare triple {3290#false} assume true; {3290#false} is VALID [2018-11-23 12:16:51,777 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {3290#false} {3290#false} #77#return; {3290#false} is VALID [2018-11-23 12:16:51,777 INFO L273 TraceCheckUtils]: 52: Hoare triple {3290#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {3290#false} is VALID [2018-11-23 12:16:51,778 INFO L273 TraceCheckUtils]: 53: Hoare triple {3290#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {3290#false} is VALID [2018-11-23 12:16:51,778 INFO L273 TraceCheckUtils]: 54: Hoare triple {3290#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {3290#false} is VALID [2018-11-23 12:16:51,778 INFO L273 TraceCheckUtils]: 55: Hoare triple {3290#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {3290#false} is VALID [2018-11-23 12:16:51,778 INFO L273 TraceCheckUtils]: 56: Hoare triple {3290#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {3290#false} is VALID [2018-11-23 12:16:51,778 INFO L273 TraceCheckUtils]: 57: Hoare triple {3290#false} assume !(~i~2 < 19); {3290#false} is VALID [2018-11-23 12:16:51,778 INFO L273 TraceCheckUtils]: 58: Hoare triple {3290#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {3290#false} is VALID [2018-11-23 12:16:51,778 INFO L256 TraceCheckUtils]: 59: Hoare triple {3290#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {3290#false} is VALID [2018-11-23 12:16:51,778 INFO L273 TraceCheckUtils]: 60: Hoare triple {3290#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3290#false} is VALID [2018-11-23 12:16:51,778 INFO L273 TraceCheckUtils]: 61: Hoare triple {3290#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:51,779 INFO L273 TraceCheckUtils]: 62: Hoare triple {3290#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3290#false} is VALID [2018-11-23 12:16:51,779 INFO L273 TraceCheckUtils]: 63: Hoare triple {3290#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3290#false} is VALID [2018-11-23 12:16:51,779 INFO L273 TraceCheckUtils]: 64: Hoare triple {3290#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:51,779 INFO L273 TraceCheckUtils]: 65: Hoare triple {3290#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3290#false} is VALID [2018-11-23 12:16:51,779 INFO L273 TraceCheckUtils]: 66: Hoare triple {3290#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3290#false} is VALID [2018-11-23 12:16:51,779 INFO L273 TraceCheckUtils]: 67: Hoare triple {3290#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:51,779 INFO L273 TraceCheckUtils]: 68: Hoare triple {3290#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3290#false} is VALID [2018-11-23 12:16:51,779 INFO L273 TraceCheckUtils]: 69: Hoare triple {3290#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3290#false} is VALID [2018-11-23 12:16:51,780 INFO L273 TraceCheckUtils]: 70: Hoare triple {3290#false} assume !(~i~0 < 20); {3290#false} is VALID [2018-11-23 12:16:51,780 INFO L273 TraceCheckUtils]: 71: Hoare triple {3290#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3290#false} is VALID [2018-11-23 12:16:51,780 INFO L273 TraceCheckUtils]: 72: Hoare triple {3290#false} assume true; {3290#false} is VALID [2018-11-23 12:16:51,780 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {3290#false} {3290#false} #79#return; {3290#false} is VALID [2018-11-23 12:16:51,780 INFO L273 TraceCheckUtils]: 74: Hoare triple {3290#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {3290#false} is VALID [2018-11-23 12:16:51,780 INFO L273 TraceCheckUtils]: 75: Hoare triple {3290#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3290#false} is VALID [2018-11-23 12:16:51,780 INFO L273 TraceCheckUtils]: 76: Hoare triple {3290#false} assume !false; {3290#false} is VALID [2018-11-23 12:16:51,783 INFO L134 CoverageAnalysis]: Checked inductivity of 203 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 154 trivial. 0 not checked. [2018-11-23 12:16:51,806 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:51,806 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2018-11-23 12:16:51,806 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 77 [2018-11-23 12:16:51,807 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:51,808 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:16:51,865 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:51,865 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:16:51,866 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:16:51,866 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:16:51,866 INFO L87 Difference]: Start difference. First operand 50 states and 57 transitions. Second operand 11 states. [2018-11-23 12:16:52,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:52,056 INFO L93 Difference]: Finished difference Result 82 states and 96 transitions. [2018-11-23 12:16:52,056 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:16:52,056 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 77 [2018-11-23 12:16:52,056 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:52,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:16:52,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 72 transitions. [2018-11-23 12:16:52,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:16:52,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 72 transitions. [2018-11-23 12:16:52,059 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 72 transitions. [2018-11-23 12:16:52,163 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:52,165 INFO L225 Difference]: With dead ends: 82 [2018-11-23 12:16:52,165 INFO L226 Difference]: Without dead ends: 53 [2018-11-23 12:16:52,166 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:16:52,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-11-23 12:16:52,194 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2018-11-23 12:16:52,195 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:52,195 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 52 states. [2018-11-23 12:16:52,195 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 52 states. [2018-11-23 12:16:52,195 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 52 states. [2018-11-23 12:16:52,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:52,197 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2018-11-23 12:16:52,197 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2018-11-23 12:16:52,197 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:52,197 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:52,197 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 53 states. [2018-11-23 12:16:52,198 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 53 states. [2018-11-23 12:16:52,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:52,199 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2018-11-23 12:16:52,199 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2018-11-23 12:16:52,200 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:52,200 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:52,200 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:52,200 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:52,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 12:16:52,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 59 transitions. [2018-11-23 12:16:52,202 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 59 transitions. Word has length 77 [2018-11-23 12:16:52,202 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:52,202 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 59 transitions. [2018-11-23 12:16:52,202 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:16:52,203 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2018-11-23 12:16:52,203 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2018-11-23 12:16:52,203 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:52,204 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 9, 8, 8, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:52,204 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:52,204 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:52,204 INFO L82 PathProgramCache]: Analyzing trace with hash 15831411, now seen corresponding path program 8 times [2018-11-23 12:16:52,204 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:52,204 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:52,205 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:52,205 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:52,205 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:52,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:52,419 INFO L256 TraceCheckUtils]: 0: Hoare triple {3829#true} call ULTIMATE.init(); {3829#true} is VALID [2018-11-23 12:16:52,419 INFO L273 TraceCheckUtils]: 1: Hoare triple {3829#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3829#true} is VALID [2018-11-23 12:16:52,419 INFO L273 TraceCheckUtils]: 2: Hoare triple {3829#true} assume true; {3829#true} is VALID [2018-11-23 12:16:52,420 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3829#true} {3829#true} #71#return; {3829#true} is VALID [2018-11-23 12:16:52,420 INFO L256 TraceCheckUtils]: 4: Hoare triple {3829#true} call #t~ret14 := main(); {3829#true} is VALID [2018-11-23 12:16:52,420 INFO L273 TraceCheckUtils]: 5: Hoare triple {3829#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3831#(= main_~i~1 0)} is VALID [2018-11-23 12:16:52,421 INFO L273 TraceCheckUtils]: 6: Hoare triple {3831#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3831#(= main_~i~1 0)} is VALID [2018-11-23 12:16:52,421 INFO L273 TraceCheckUtils]: 7: Hoare triple {3831#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3832#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:52,422 INFO L273 TraceCheckUtils]: 8: Hoare triple {3832#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3832#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:52,422 INFO L273 TraceCheckUtils]: 9: Hoare triple {3832#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3833#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:52,422 INFO L273 TraceCheckUtils]: 10: Hoare triple {3833#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3833#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:52,423 INFO L273 TraceCheckUtils]: 11: Hoare triple {3833#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3834#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:52,423 INFO L273 TraceCheckUtils]: 12: Hoare triple {3834#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3834#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:52,424 INFO L273 TraceCheckUtils]: 13: Hoare triple {3834#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3835#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:52,424 INFO L273 TraceCheckUtils]: 14: Hoare triple {3835#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3835#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:52,425 INFO L273 TraceCheckUtils]: 15: Hoare triple {3835#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3836#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:52,425 INFO L273 TraceCheckUtils]: 16: Hoare triple {3836#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3836#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:52,426 INFO L273 TraceCheckUtils]: 17: Hoare triple {3836#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3837#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:52,427 INFO L273 TraceCheckUtils]: 18: Hoare triple {3837#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3837#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:52,427 INFO L273 TraceCheckUtils]: 19: Hoare triple {3837#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3838#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:52,428 INFO L273 TraceCheckUtils]: 20: Hoare triple {3838#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3838#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:52,429 INFO L273 TraceCheckUtils]: 21: Hoare triple {3838#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3839#(<= main_~i~1 8)} is VALID [2018-11-23 12:16:52,429 INFO L273 TraceCheckUtils]: 22: Hoare triple {3839#(<= main_~i~1 8)} assume !(~i~1 < 20); {3830#false} is VALID [2018-11-23 12:16:52,430 INFO L256 TraceCheckUtils]: 23: Hoare triple {3830#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {3829#true} is VALID [2018-11-23 12:16:52,430 INFO L273 TraceCheckUtils]: 24: Hoare triple {3829#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3829#true} is VALID [2018-11-23 12:16:52,430 INFO L273 TraceCheckUtils]: 25: Hoare triple {3829#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:52,430 INFO L273 TraceCheckUtils]: 26: Hoare triple {3829#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3829#true} is VALID [2018-11-23 12:16:52,430 INFO L273 TraceCheckUtils]: 27: Hoare triple {3829#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3829#true} is VALID [2018-11-23 12:16:52,431 INFO L273 TraceCheckUtils]: 28: Hoare triple {3829#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:52,431 INFO L273 TraceCheckUtils]: 29: Hoare triple {3829#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3829#true} is VALID [2018-11-23 12:16:52,431 INFO L273 TraceCheckUtils]: 30: Hoare triple {3829#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3829#true} is VALID [2018-11-23 12:16:52,431 INFO L273 TraceCheckUtils]: 31: Hoare triple {3829#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:52,431 INFO L273 TraceCheckUtils]: 32: Hoare triple {3829#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3829#true} is VALID [2018-11-23 12:16:52,431 INFO L273 TraceCheckUtils]: 33: Hoare triple {3829#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3829#true} is VALID [2018-11-23 12:16:52,432 INFO L273 TraceCheckUtils]: 34: Hoare triple {3829#true} assume !(~i~0 < 20); {3829#true} is VALID [2018-11-23 12:16:52,432 INFO L273 TraceCheckUtils]: 35: Hoare triple {3829#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3829#true} is VALID [2018-11-23 12:16:52,432 INFO L273 TraceCheckUtils]: 36: Hoare triple {3829#true} assume true; {3829#true} is VALID [2018-11-23 12:16:52,432 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {3829#true} {3830#false} #75#return; {3830#false} is VALID [2018-11-23 12:16:52,432 INFO L273 TraceCheckUtils]: 38: Hoare triple {3830#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {3830#false} is VALID [2018-11-23 12:16:52,432 INFO L256 TraceCheckUtils]: 39: Hoare triple {3830#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {3829#true} is VALID [2018-11-23 12:16:52,432 INFO L273 TraceCheckUtils]: 40: Hoare triple {3829#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3829#true} is VALID [2018-11-23 12:16:52,432 INFO L273 TraceCheckUtils]: 41: Hoare triple {3829#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:52,432 INFO L273 TraceCheckUtils]: 42: Hoare triple {3829#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3829#true} is VALID [2018-11-23 12:16:52,433 INFO L273 TraceCheckUtils]: 43: Hoare triple {3829#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3829#true} is VALID [2018-11-23 12:16:52,433 INFO L273 TraceCheckUtils]: 44: Hoare triple {3829#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:52,433 INFO L273 TraceCheckUtils]: 45: Hoare triple {3829#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3829#true} is VALID [2018-11-23 12:16:52,433 INFO L273 TraceCheckUtils]: 46: Hoare triple {3829#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3829#true} is VALID [2018-11-23 12:16:52,433 INFO L273 TraceCheckUtils]: 47: Hoare triple {3829#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:52,433 INFO L273 TraceCheckUtils]: 48: Hoare triple {3829#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3829#true} is VALID [2018-11-23 12:16:52,433 INFO L273 TraceCheckUtils]: 49: Hoare triple {3829#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3829#true} is VALID [2018-11-23 12:16:52,434 INFO L273 TraceCheckUtils]: 50: Hoare triple {3829#true} assume !(~i~0 < 20); {3829#true} is VALID [2018-11-23 12:16:52,434 INFO L273 TraceCheckUtils]: 51: Hoare triple {3829#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3829#true} is VALID [2018-11-23 12:16:52,434 INFO L273 TraceCheckUtils]: 52: Hoare triple {3829#true} assume true; {3829#true} is VALID [2018-11-23 12:16:52,434 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {3829#true} {3830#false} #77#return; {3830#false} is VALID [2018-11-23 12:16:52,434 INFO L273 TraceCheckUtils]: 54: Hoare triple {3830#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {3830#false} is VALID [2018-11-23 12:16:52,434 INFO L273 TraceCheckUtils]: 55: Hoare triple {3830#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {3830#false} is VALID [2018-11-23 12:16:52,435 INFO L273 TraceCheckUtils]: 56: Hoare triple {3830#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {3830#false} is VALID [2018-11-23 12:16:52,435 INFO L273 TraceCheckUtils]: 57: Hoare triple {3830#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {3830#false} is VALID [2018-11-23 12:16:52,435 INFO L273 TraceCheckUtils]: 58: Hoare triple {3830#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {3830#false} is VALID [2018-11-23 12:16:52,435 INFO L273 TraceCheckUtils]: 59: Hoare triple {3830#false} assume !(~i~2 < 19); {3830#false} is VALID [2018-11-23 12:16:52,435 INFO L273 TraceCheckUtils]: 60: Hoare triple {3830#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {3830#false} is VALID [2018-11-23 12:16:52,435 INFO L256 TraceCheckUtils]: 61: Hoare triple {3830#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {3829#true} is VALID [2018-11-23 12:16:52,435 INFO L273 TraceCheckUtils]: 62: Hoare triple {3829#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3829#true} is VALID [2018-11-23 12:16:52,436 INFO L273 TraceCheckUtils]: 63: Hoare triple {3829#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:52,436 INFO L273 TraceCheckUtils]: 64: Hoare triple {3829#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3829#true} is VALID [2018-11-23 12:16:52,436 INFO L273 TraceCheckUtils]: 65: Hoare triple {3829#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3829#true} is VALID [2018-11-23 12:16:52,436 INFO L273 TraceCheckUtils]: 66: Hoare triple {3829#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:52,436 INFO L273 TraceCheckUtils]: 67: Hoare triple {3829#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3829#true} is VALID [2018-11-23 12:16:52,436 INFO L273 TraceCheckUtils]: 68: Hoare triple {3829#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3829#true} is VALID [2018-11-23 12:16:52,436 INFO L273 TraceCheckUtils]: 69: Hoare triple {3829#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:52,436 INFO L273 TraceCheckUtils]: 70: Hoare triple {3829#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3829#true} is VALID [2018-11-23 12:16:52,437 INFO L273 TraceCheckUtils]: 71: Hoare triple {3829#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3829#true} is VALID [2018-11-23 12:16:52,437 INFO L273 TraceCheckUtils]: 72: Hoare triple {3829#true} assume !(~i~0 < 20); {3829#true} is VALID [2018-11-23 12:16:52,437 INFO L273 TraceCheckUtils]: 73: Hoare triple {3829#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3829#true} is VALID [2018-11-23 12:16:52,437 INFO L273 TraceCheckUtils]: 74: Hoare triple {3829#true} assume true; {3829#true} is VALID [2018-11-23 12:16:52,437 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {3829#true} {3830#false} #79#return; {3830#false} is VALID [2018-11-23 12:16:52,437 INFO L273 TraceCheckUtils]: 76: Hoare triple {3830#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {3830#false} is VALID [2018-11-23 12:16:52,437 INFO L273 TraceCheckUtils]: 77: Hoare triple {3830#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3830#false} is VALID [2018-11-23 12:16:52,437 INFO L273 TraceCheckUtils]: 78: Hoare triple {3830#false} assume !false; {3830#false} is VALID [2018-11-23 12:16:52,440 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 0 proven. 64 refuted. 0 times theorem prover too weak. 154 trivial. 0 not checked. [2018-11-23 12:16:52,440 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:52,440 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:52,449 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:16:52,511 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:16:52,511 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:52,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:52,529 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:52,644 INFO L256 TraceCheckUtils]: 0: Hoare triple {3829#true} call ULTIMATE.init(); {3829#true} is VALID [2018-11-23 12:16:52,645 INFO L273 TraceCheckUtils]: 1: Hoare triple {3829#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3829#true} is VALID [2018-11-23 12:16:52,645 INFO L273 TraceCheckUtils]: 2: Hoare triple {3829#true} assume true; {3829#true} is VALID [2018-11-23 12:16:52,645 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3829#true} {3829#true} #71#return; {3829#true} is VALID [2018-11-23 12:16:52,645 INFO L256 TraceCheckUtils]: 4: Hoare triple {3829#true} call #t~ret14 := main(); {3829#true} is VALID [2018-11-23 12:16:52,646 INFO L273 TraceCheckUtils]: 5: Hoare triple {3829#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3858#(<= main_~i~1 0)} is VALID [2018-11-23 12:16:52,646 INFO L273 TraceCheckUtils]: 6: Hoare triple {3858#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3858#(<= main_~i~1 0)} is VALID [2018-11-23 12:16:52,647 INFO L273 TraceCheckUtils]: 7: Hoare triple {3858#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3832#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:52,647 INFO L273 TraceCheckUtils]: 8: Hoare triple {3832#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3832#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:52,648 INFO L273 TraceCheckUtils]: 9: Hoare triple {3832#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3833#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:52,648 INFO L273 TraceCheckUtils]: 10: Hoare triple {3833#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3833#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:52,649 INFO L273 TraceCheckUtils]: 11: Hoare triple {3833#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3834#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:52,649 INFO L273 TraceCheckUtils]: 12: Hoare triple {3834#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3834#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:52,650 INFO L273 TraceCheckUtils]: 13: Hoare triple {3834#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3835#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:52,650 INFO L273 TraceCheckUtils]: 14: Hoare triple {3835#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3835#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:52,651 INFO L273 TraceCheckUtils]: 15: Hoare triple {3835#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3836#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:52,652 INFO L273 TraceCheckUtils]: 16: Hoare triple {3836#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3836#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:52,653 INFO L273 TraceCheckUtils]: 17: Hoare triple {3836#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3837#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:52,653 INFO L273 TraceCheckUtils]: 18: Hoare triple {3837#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3837#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:52,654 INFO L273 TraceCheckUtils]: 19: Hoare triple {3837#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3838#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:52,654 INFO L273 TraceCheckUtils]: 20: Hoare triple {3838#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3838#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:52,655 INFO L273 TraceCheckUtils]: 21: Hoare triple {3838#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3839#(<= main_~i~1 8)} is VALID [2018-11-23 12:16:52,656 INFO L273 TraceCheckUtils]: 22: Hoare triple {3839#(<= main_~i~1 8)} assume !(~i~1 < 20); {3830#false} is VALID [2018-11-23 12:16:52,656 INFO L256 TraceCheckUtils]: 23: Hoare triple {3830#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {3830#false} is VALID [2018-11-23 12:16:52,656 INFO L273 TraceCheckUtils]: 24: Hoare triple {3830#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3830#false} is VALID [2018-11-23 12:16:52,657 INFO L273 TraceCheckUtils]: 25: Hoare triple {3830#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:52,657 INFO L273 TraceCheckUtils]: 26: Hoare triple {3830#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3830#false} is VALID [2018-11-23 12:16:52,657 INFO L273 TraceCheckUtils]: 27: Hoare triple {3830#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3830#false} is VALID [2018-11-23 12:16:52,657 INFO L273 TraceCheckUtils]: 28: Hoare triple {3830#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:52,657 INFO L273 TraceCheckUtils]: 29: Hoare triple {3830#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3830#false} is VALID [2018-11-23 12:16:52,658 INFO L273 TraceCheckUtils]: 30: Hoare triple {3830#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3830#false} is VALID [2018-11-23 12:16:52,658 INFO L273 TraceCheckUtils]: 31: Hoare triple {3830#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:52,658 INFO L273 TraceCheckUtils]: 32: Hoare triple {3830#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3830#false} is VALID [2018-11-23 12:16:52,658 INFO L273 TraceCheckUtils]: 33: Hoare triple {3830#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3830#false} is VALID [2018-11-23 12:16:52,658 INFO L273 TraceCheckUtils]: 34: Hoare triple {3830#false} assume !(~i~0 < 20); {3830#false} is VALID [2018-11-23 12:16:52,659 INFO L273 TraceCheckUtils]: 35: Hoare triple {3830#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3830#false} is VALID [2018-11-23 12:16:52,659 INFO L273 TraceCheckUtils]: 36: Hoare triple {3830#false} assume true; {3830#false} is VALID [2018-11-23 12:16:52,659 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {3830#false} {3830#false} #75#return; {3830#false} is VALID [2018-11-23 12:16:52,659 INFO L273 TraceCheckUtils]: 38: Hoare triple {3830#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {3830#false} is VALID [2018-11-23 12:16:52,659 INFO L256 TraceCheckUtils]: 39: Hoare triple {3830#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {3830#false} is VALID [2018-11-23 12:16:52,659 INFO L273 TraceCheckUtils]: 40: Hoare triple {3830#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3830#false} is VALID [2018-11-23 12:16:52,659 INFO L273 TraceCheckUtils]: 41: Hoare triple {3830#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:52,659 INFO L273 TraceCheckUtils]: 42: Hoare triple {3830#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3830#false} is VALID [2018-11-23 12:16:52,660 INFO L273 TraceCheckUtils]: 43: Hoare triple {3830#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3830#false} is VALID [2018-11-23 12:16:52,660 INFO L273 TraceCheckUtils]: 44: Hoare triple {3830#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:52,660 INFO L273 TraceCheckUtils]: 45: Hoare triple {3830#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3830#false} is VALID [2018-11-23 12:16:52,660 INFO L273 TraceCheckUtils]: 46: Hoare triple {3830#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3830#false} is VALID [2018-11-23 12:16:52,660 INFO L273 TraceCheckUtils]: 47: Hoare triple {3830#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:52,660 INFO L273 TraceCheckUtils]: 48: Hoare triple {3830#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3830#false} is VALID [2018-11-23 12:16:52,660 INFO L273 TraceCheckUtils]: 49: Hoare triple {3830#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3830#false} is VALID [2018-11-23 12:16:52,660 INFO L273 TraceCheckUtils]: 50: Hoare triple {3830#false} assume !(~i~0 < 20); {3830#false} is VALID [2018-11-23 12:16:52,661 INFO L273 TraceCheckUtils]: 51: Hoare triple {3830#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3830#false} is VALID [2018-11-23 12:16:52,661 INFO L273 TraceCheckUtils]: 52: Hoare triple {3830#false} assume true; {3830#false} is VALID [2018-11-23 12:16:52,661 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {3830#false} {3830#false} #77#return; {3830#false} is VALID [2018-11-23 12:16:52,661 INFO L273 TraceCheckUtils]: 54: Hoare triple {3830#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {3830#false} is VALID [2018-11-23 12:16:52,661 INFO L273 TraceCheckUtils]: 55: Hoare triple {3830#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {3830#false} is VALID [2018-11-23 12:16:52,661 INFO L273 TraceCheckUtils]: 56: Hoare triple {3830#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {3830#false} is VALID [2018-11-23 12:16:52,661 INFO L273 TraceCheckUtils]: 57: Hoare triple {3830#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {3830#false} is VALID [2018-11-23 12:16:52,661 INFO L273 TraceCheckUtils]: 58: Hoare triple {3830#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {3830#false} is VALID [2018-11-23 12:16:52,661 INFO L273 TraceCheckUtils]: 59: Hoare triple {3830#false} assume !(~i~2 < 19); {3830#false} is VALID [2018-11-23 12:16:52,662 INFO L273 TraceCheckUtils]: 60: Hoare triple {3830#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {3830#false} is VALID [2018-11-23 12:16:52,662 INFO L256 TraceCheckUtils]: 61: Hoare triple {3830#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {3830#false} is VALID [2018-11-23 12:16:52,662 INFO L273 TraceCheckUtils]: 62: Hoare triple {3830#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3830#false} is VALID [2018-11-23 12:16:52,662 INFO L273 TraceCheckUtils]: 63: Hoare triple {3830#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:52,662 INFO L273 TraceCheckUtils]: 64: Hoare triple {3830#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3830#false} is VALID [2018-11-23 12:16:52,662 INFO L273 TraceCheckUtils]: 65: Hoare triple {3830#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3830#false} is VALID [2018-11-23 12:16:52,662 INFO L273 TraceCheckUtils]: 66: Hoare triple {3830#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:52,662 INFO L273 TraceCheckUtils]: 67: Hoare triple {3830#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3830#false} is VALID [2018-11-23 12:16:52,663 INFO L273 TraceCheckUtils]: 68: Hoare triple {3830#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3830#false} is VALID [2018-11-23 12:16:52,663 INFO L273 TraceCheckUtils]: 69: Hoare triple {3830#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:52,663 INFO L273 TraceCheckUtils]: 70: Hoare triple {3830#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {3830#false} is VALID [2018-11-23 12:16:52,663 INFO L273 TraceCheckUtils]: 71: Hoare triple {3830#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3830#false} is VALID [2018-11-23 12:16:52,663 INFO L273 TraceCheckUtils]: 72: Hoare triple {3830#false} assume !(~i~0 < 20); {3830#false} is VALID [2018-11-23 12:16:52,663 INFO L273 TraceCheckUtils]: 73: Hoare triple {3830#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3830#false} is VALID [2018-11-23 12:16:52,663 INFO L273 TraceCheckUtils]: 74: Hoare triple {3830#false} assume true; {3830#false} is VALID [2018-11-23 12:16:52,663 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {3830#false} {3830#false} #79#return; {3830#false} is VALID [2018-11-23 12:16:52,664 INFO L273 TraceCheckUtils]: 76: Hoare triple {3830#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {3830#false} is VALID [2018-11-23 12:16:52,664 INFO L273 TraceCheckUtils]: 77: Hoare triple {3830#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3830#false} is VALID [2018-11-23 12:16:52,664 INFO L273 TraceCheckUtils]: 78: Hoare triple {3830#false} assume !false; {3830#false} is VALID [2018-11-23 12:16:52,668 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 0 proven. 64 refuted. 0 times theorem prover too weak. 154 trivial. 0 not checked. [2018-11-23 12:16:52,688 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:52,688 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 12 [2018-11-23 12:16:52,689 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 79 [2018-11-23 12:16:52,689 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:52,690 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 12:16:52,750 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:52,750 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 12:16:52,751 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 12:16:52,751 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-23 12:16:52,751 INFO L87 Difference]: Start difference. First operand 52 states and 59 transitions. Second operand 12 states. [2018-11-23 12:16:53,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:53,274 INFO L93 Difference]: Finished difference Result 84 states and 98 transitions. [2018-11-23 12:16:53,274 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:16:53,274 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 79 [2018-11-23 12:16:53,274 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:53,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:16:53,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 74 transitions. [2018-11-23 12:16:53,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:16:53,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 74 transitions. [2018-11-23 12:16:53,277 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 74 transitions. [2018-11-23 12:16:53,374 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:53,376 INFO L225 Difference]: With dead ends: 84 [2018-11-23 12:16:53,376 INFO L226 Difference]: Without dead ends: 55 [2018-11-23 12:16:53,377 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 79 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-23 12:16:53,378 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-23 12:16:53,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 54. [2018-11-23 12:16:53,402 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:53,402 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 54 states. [2018-11-23 12:16:53,402 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 54 states. [2018-11-23 12:16:53,402 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 54 states. [2018-11-23 12:16:53,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:53,404 INFO L93 Difference]: Finished difference Result 55 states and 62 transitions. [2018-11-23 12:16:53,404 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 62 transitions. [2018-11-23 12:16:53,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:53,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:53,405 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 55 states. [2018-11-23 12:16:53,405 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 55 states. [2018-11-23 12:16:53,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:53,406 INFO L93 Difference]: Finished difference Result 55 states and 62 transitions. [2018-11-23 12:16:53,406 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 62 transitions. [2018-11-23 12:16:53,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:53,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:53,407 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:53,407 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:53,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-23 12:16:53,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 61 transitions. [2018-11-23 12:16:53,409 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 61 transitions. Word has length 79 [2018-11-23 12:16:53,409 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:53,409 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 61 transitions. [2018-11-23 12:16:53,409 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 12:16:53,410 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 61 transitions. [2018-11-23 12:16:53,410 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2018-11-23 12:16:53,410 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:53,411 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 9, 9, 9, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:53,411 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:53,411 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:53,411 INFO L82 PathProgramCache]: Analyzing trace with hash 46597521, now seen corresponding path program 9 times [2018-11-23 12:16:53,411 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:53,412 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:53,412 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:53,413 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:53,413 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:53,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:54,432 INFO L256 TraceCheckUtils]: 0: Hoare triple {4386#true} call ULTIMATE.init(); {4386#true} is VALID [2018-11-23 12:16:54,432 INFO L273 TraceCheckUtils]: 1: Hoare triple {4386#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4386#true} is VALID [2018-11-23 12:16:54,433 INFO L273 TraceCheckUtils]: 2: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:16:54,433 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4386#true} {4386#true} #71#return; {4386#true} is VALID [2018-11-23 12:16:54,433 INFO L256 TraceCheckUtils]: 4: Hoare triple {4386#true} call #t~ret14 := main(); {4386#true} is VALID [2018-11-23 12:16:54,434 INFO L273 TraceCheckUtils]: 5: Hoare triple {4386#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4388#(= main_~i~1 0)} is VALID [2018-11-23 12:16:54,435 INFO L273 TraceCheckUtils]: 6: Hoare triple {4388#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4388#(= main_~i~1 0)} is VALID [2018-11-23 12:16:54,435 INFO L273 TraceCheckUtils]: 7: Hoare triple {4388#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4389#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:54,436 INFO L273 TraceCheckUtils]: 8: Hoare triple {4389#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4389#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:54,437 INFO L273 TraceCheckUtils]: 9: Hoare triple {4389#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4390#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:54,437 INFO L273 TraceCheckUtils]: 10: Hoare triple {4390#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4390#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:54,438 INFO L273 TraceCheckUtils]: 11: Hoare triple {4390#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4391#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:54,439 INFO L273 TraceCheckUtils]: 12: Hoare triple {4391#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4391#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:54,440 INFO L273 TraceCheckUtils]: 13: Hoare triple {4391#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4392#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:54,440 INFO L273 TraceCheckUtils]: 14: Hoare triple {4392#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4392#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:54,441 INFO L273 TraceCheckUtils]: 15: Hoare triple {4392#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4393#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:54,442 INFO L273 TraceCheckUtils]: 16: Hoare triple {4393#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4393#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:54,443 INFO L273 TraceCheckUtils]: 17: Hoare triple {4393#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4394#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:54,443 INFO L273 TraceCheckUtils]: 18: Hoare triple {4394#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4394#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:54,444 INFO L273 TraceCheckUtils]: 19: Hoare triple {4394#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4395#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:54,445 INFO L273 TraceCheckUtils]: 20: Hoare triple {4395#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4395#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:54,446 INFO L273 TraceCheckUtils]: 21: Hoare triple {4395#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4396#(<= main_~i~1 8)} is VALID [2018-11-23 12:16:54,446 INFO L273 TraceCheckUtils]: 22: Hoare triple {4396#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4396#(<= main_~i~1 8)} is VALID [2018-11-23 12:16:54,447 INFO L273 TraceCheckUtils]: 23: Hoare triple {4396#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4397#(<= main_~i~1 9)} is VALID [2018-11-23 12:16:54,448 INFO L273 TraceCheckUtils]: 24: Hoare triple {4397#(<= main_~i~1 9)} assume !(~i~1 < 20); {4387#false} is VALID [2018-11-23 12:16:54,448 INFO L256 TraceCheckUtils]: 25: Hoare triple {4387#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4386#true} is VALID [2018-11-23 12:16:54,448 INFO L273 TraceCheckUtils]: 26: Hoare triple {4386#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4386#true} is VALID [2018-11-23 12:16:54,449 INFO L273 TraceCheckUtils]: 27: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,449 INFO L273 TraceCheckUtils]: 28: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,449 INFO L273 TraceCheckUtils]: 29: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,449 INFO L273 TraceCheckUtils]: 30: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,450 INFO L273 TraceCheckUtils]: 31: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,450 INFO L273 TraceCheckUtils]: 32: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,450 INFO L273 TraceCheckUtils]: 33: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,450 INFO L273 TraceCheckUtils]: 34: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,451 INFO L273 TraceCheckUtils]: 35: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,451 INFO L273 TraceCheckUtils]: 36: Hoare triple {4386#true} assume !(~i~0 < 20); {4386#true} is VALID [2018-11-23 12:16:54,451 INFO L273 TraceCheckUtils]: 37: Hoare triple {4386#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4386#true} is VALID [2018-11-23 12:16:54,451 INFO L273 TraceCheckUtils]: 38: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:16:54,451 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {4386#true} {4387#false} #75#return; {4387#false} is VALID [2018-11-23 12:16:54,452 INFO L273 TraceCheckUtils]: 40: Hoare triple {4387#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {4387#false} is VALID [2018-11-23 12:16:54,452 INFO L256 TraceCheckUtils]: 41: Hoare triple {4387#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4386#true} is VALID [2018-11-23 12:16:54,452 INFO L273 TraceCheckUtils]: 42: Hoare triple {4386#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4386#true} is VALID [2018-11-23 12:16:54,452 INFO L273 TraceCheckUtils]: 43: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,452 INFO L273 TraceCheckUtils]: 44: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,452 INFO L273 TraceCheckUtils]: 45: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,452 INFO L273 TraceCheckUtils]: 46: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,453 INFO L273 TraceCheckUtils]: 47: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,453 INFO L273 TraceCheckUtils]: 48: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,453 INFO L273 TraceCheckUtils]: 49: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,453 INFO L273 TraceCheckUtils]: 50: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,453 INFO L273 TraceCheckUtils]: 51: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,453 INFO L273 TraceCheckUtils]: 52: Hoare triple {4386#true} assume !(~i~0 < 20); {4386#true} is VALID [2018-11-23 12:16:54,454 INFO L273 TraceCheckUtils]: 53: Hoare triple {4386#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4386#true} is VALID [2018-11-23 12:16:54,454 INFO L273 TraceCheckUtils]: 54: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:16:54,454 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {4386#true} {4387#false} #77#return; {4387#false} is VALID [2018-11-23 12:16:54,454 INFO L273 TraceCheckUtils]: 56: Hoare triple {4387#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {4387#false} is VALID [2018-11-23 12:16:54,454 INFO L273 TraceCheckUtils]: 57: Hoare triple {4387#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4387#false} is VALID [2018-11-23 12:16:54,454 INFO L273 TraceCheckUtils]: 58: Hoare triple {4387#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4387#false} is VALID [2018-11-23 12:16:54,455 INFO L273 TraceCheckUtils]: 59: Hoare triple {4387#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4387#false} is VALID [2018-11-23 12:16:54,455 INFO L273 TraceCheckUtils]: 60: Hoare triple {4387#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4387#false} is VALID [2018-11-23 12:16:54,455 INFO L273 TraceCheckUtils]: 61: Hoare triple {4387#false} assume !(~i~2 < 19); {4387#false} is VALID [2018-11-23 12:16:54,455 INFO L273 TraceCheckUtils]: 62: Hoare triple {4387#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {4387#false} is VALID [2018-11-23 12:16:54,455 INFO L256 TraceCheckUtils]: 63: Hoare triple {4387#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4386#true} is VALID [2018-11-23 12:16:54,455 INFO L273 TraceCheckUtils]: 64: Hoare triple {4386#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4386#true} is VALID [2018-11-23 12:16:54,455 INFO L273 TraceCheckUtils]: 65: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,456 INFO L273 TraceCheckUtils]: 66: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,456 INFO L273 TraceCheckUtils]: 67: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,456 INFO L273 TraceCheckUtils]: 68: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,456 INFO L273 TraceCheckUtils]: 69: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,456 INFO L273 TraceCheckUtils]: 70: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,456 INFO L273 TraceCheckUtils]: 71: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,457 INFO L273 TraceCheckUtils]: 72: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,457 INFO L273 TraceCheckUtils]: 73: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,457 INFO L273 TraceCheckUtils]: 74: Hoare triple {4386#true} assume !(~i~0 < 20); {4386#true} is VALID [2018-11-23 12:16:54,457 INFO L273 TraceCheckUtils]: 75: Hoare triple {4386#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4386#true} is VALID [2018-11-23 12:16:54,457 INFO L273 TraceCheckUtils]: 76: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:16:54,457 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {4386#true} {4387#false} #79#return; {4387#false} is VALID [2018-11-23 12:16:54,458 INFO L273 TraceCheckUtils]: 78: Hoare triple {4387#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4387#false} is VALID [2018-11-23 12:16:54,458 INFO L273 TraceCheckUtils]: 79: Hoare triple {4387#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4387#false} is VALID [2018-11-23 12:16:54,458 INFO L273 TraceCheckUtils]: 80: Hoare triple {4387#false} assume !false; {4387#false} is VALID [2018-11-23 12:16:54,464 INFO L134 CoverageAnalysis]: Checked inductivity of 235 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 154 trivial. 0 not checked. [2018-11-23 12:16:54,465 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:54,465 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:54,475 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:16:54,511 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 12:16:54,511 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:54,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:54,529 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:54,690 INFO L256 TraceCheckUtils]: 0: Hoare triple {4386#true} call ULTIMATE.init(); {4386#true} is VALID [2018-11-23 12:16:54,691 INFO L273 TraceCheckUtils]: 1: Hoare triple {4386#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4386#true} is VALID [2018-11-23 12:16:54,691 INFO L273 TraceCheckUtils]: 2: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:16:54,691 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4386#true} {4386#true} #71#return; {4386#true} is VALID [2018-11-23 12:16:54,691 INFO L256 TraceCheckUtils]: 4: Hoare triple {4386#true} call #t~ret14 := main(); {4386#true} is VALID [2018-11-23 12:16:54,691 INFO L273 TraceCheckUtils]: 5: Hoare triple {4386#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4386#true} is VALID [2018-11-23 12:16:54,692 INFO L273 TraceCheckUtils]: 6: Hoare triple {4386#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4386#true} is VALID [2018-11-23 12:16:54,692 INFO L273 TraceCheckUtils]: 7: Hoare triple {4386#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4386#true} is VALID [2018-11-23 12:16:54,692 INFO L273 TraceCheckUtils]: 8: Hoare triple {4386#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4386#true} is VALID [2018-11-23 12:16:54,692 INFO L273 TraceCheckUtils]: 9: Hoare triple {4386#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4386#true} is VALID [2018-11-23 12:16:54,692 INFO L273 TraceCheckUtils]: 10: Hoare triple {4386#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4386#true} is VALID [2018-11-23 12:16:54,692 INFO L273 TraceCheckUtils]: 11: Hoare triple {4386#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4386#true} is VALID [2018-11-23 12:16:54,693 INFO L273 TraceCheckUtils]: 12: Hoare triple {4386#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4386#true} is VALID [2018-11-23 12:16:54,693 INFO L273 TraceCheckUtils]: 13: Hoare triple {4386#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4386#true} is VALID [2018-11-23 12:16:54,693 INFO L273 TraceCheckUtils]: 14: Hoare triple {4386#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4386#true} is VALID [2018-11-23 12:16:54,693 INFO L273 TraceCheckUtils]: 15: Hoare triple {4386#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4386#true} is VALID [2018-11-23 12:16:54,693 INFO L273 TraceCheckUtils]: 16: Hoare triple {4386#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4386#true} is VALID [2018-11-23 12:16:54,693 INFO L273 TraceCheckUtils]: 17: Hoare triple {4386#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4386#true} is VALID [2018-11-23 12:16:54,694 INFO L273 TraceCheckUtils]: 18: Hoare triple {4386#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4386#true} is VALID [2018-11-23 12:16:54,694 INFO L273 TraceCheckUtils]: 19: Hoare triple {4386#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4386#true} is VALID [2018-11-23 12:16:54,694 INFO L273 TraceCheckUtils]: 20: Hoare triple {4386#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4386#true} is VALID [2018-11-23 12:16:54,694 INFO L273 TraceCheckUtils]: 21: Hoare triple {4386#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4386#true} is VALID [2018-11-23 12:16:54,694 INFO L273 TraceCheckUtils]: 22: Hoare triple {4386#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4386#true} is VALID [2018-11-23 12:16:54,695 INFO L273 TraceCheckUtils]: 23: Hoare triple {4386#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4386#true} is VALID [2018-11-23 12:16:54,695 INFO L273 TraceCheckUtils]: 24: Hoare triple {4386#true} assume !(~i~1 < 20); {4386#true} is VALID [2018-11-23 12:16:54,695 INFO L256 TraceCheckUtils]: 25: Hoare triple {4386#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4386#true} is VALID [2018-11-23 12:16:54,695 INFO L273 TraceCheckUtils]: 26: Hoare triple {4386#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4386#true} is VALID [2018-11-23 12:16:54,695 INFO L273 TraceCheckUtils]: 27: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,695 INFO L273 TraceCheckUtils]: 28: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,696 INFO L273 TraceCheckUtils]: 29: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,696 INFO L273 TraceCheckUtils]: 30: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,696 INFO L273 TraceCheckUtils]: 31: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,696 INFO L273 TraceCheckUtils]: 32: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,696 INFO L273 TraceCheckUtils]: 33: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,696 INFO L273 TraceCheckUtils]: 34: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,696 INFO L273 TraceCheckUtils]: 35: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,696 INFO L273 TraceCheckUtils]: 36: Hoare triple {4386#true} assume !(~i~0 < 20); {4386#true} is VALID [2018-11-23 12:16:54,697 INFO L273 TraceCheckUtils]: 37: Hoare triple {4386#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4386#true} is VALID [2018-11-23 12:16:54,697 INFO L273 TraceCheckUtils]: 38: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:16:54,697 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {4386#true} {4386#true} #75#return; {4386#true} is VALID [2018-11-23 12:16:54,697 INFO L273 TraceCheckUtils]: 40: Hoare triple {4386#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {4386#true} is VALID [2018-11-23 12:16:54,697 INFO L256 TraceCheckUtils]: 41: Hoare triple {4386#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4386#true} is VALID [2018-11-23 12:16:54,697 INFO L273 TraceCheckUtils]: 42: Hoare triple {4386#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4386#true} is VALID [2018-11-23 12:16:54,697 INFO L273 TraceCheckUtils]: 43: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,697 INFO L273 TraceCheckUtils]: 44: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,698 INFO L273 TraceCheckUtils]: 45: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,698 INFO L273 TraceCheckUtils]: 46: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,698 INFO L273 TraceCheckUtils]: 47: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,698 INFO L273 TraceCheckUtils]: 48: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,698 INFO L273 TraceCheckUtils]: 49: Hoare triple {4386#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:16:54,698 INFO L273 TraceCheckUtils]: 50: Hoare triple {4386#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4386#true} is VALID [2018-11-23 12:16:54,698 INFO L273 TraceCheckUtils]: 51: Hoare triple {4386#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4386#true} is VALID [2018-11-23 12:16:54,698 INFO L273 TraceCheckUtils]: 52: Hoare triple {4386#true} assume !(~i~0 < 20); {4386#true} is VALID [2018-11-23 12:16:54,699 INFO L273 TraceCheckUtils]: 53: Hoare triple {4386#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4386#true} is VALID [2018-11-23 12:16:54,699 INFO L273 TraceCheckUtils]: 54: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:16:54,699 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {4386#true} {4386#true} #77#return; {4386#true} is VALID [2018-11-23 12:16:54,699 INFO L273 TraceCheckUtils]: 56: Hoare triple {4386#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {4386#true} is VALID [2018-11-23 12:16:54,699 INFO L273 TraceCheckUtils]: 57: Hoare triple {4386#true} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4386#true} is VALID [2018-11-23 12:16:54,699 INFO L273 TraceCheckUtils]: 58: Hoare triple {4386#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4386#true} is VALID [2018-11-23 12:16:54,699 INFO L273 TraceCheckUtils]: 59: Hoare triple {4386#true} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4386#true} is VALID [2018-11-23 12:16:54,699 INFO L273 TraceCheckUtils]: 60: Hoare triple {4386#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4386#true} is VALID [2018-11-23 12:16:54,700 INFO L273 TraceCheckUtils]: 61: Hoare triple {4386#true} assume !(~i~2 < 19); {4386#true} is VALID [2018-11-23 12:16:54,700 INFO L273 TraceCheckUtils]: 62: Hoare triple {4386#true} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {4386#true} is VALID [2018-11-23 12:16:54,700 INFO L256 TraceCheckUtils]: 63: Hoare triple {4386#true} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4386#true} is VALID [2018-11-23 12:16:54,700 INFO L273 TraceCheckUtils]: 64: Hoare triple {4386#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4593#(<= sep_~i~0 0)} is VALID [2018-11-23 12:16:54,701 INFO L273 TraceCheckUtils]: 65: Hoare triple {4593#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4593#(<= sep_~i~0 0)} is VALID [2018-11-23 12:16:54,702 INFO L273 TraceCheckUtils]: 66: Hoare triple {4593#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4593#(<= sep_~i~0 0)} is VALID [2018-11-23 12:16:54,702 INFO L273 TraceCheckUtils]: 67: Hoare triple {4593#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4603#(<= sep_~i~0 1)} is VALID [2018-11-23 12:16:54,704 INFO L273 TraceCheckUtils]: 68: Hoare triple {4603#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4603#(<= sep_~i~0 1)} is VALID [2018-11-23 12:16:54,704 INFO L273 TraceCheckUtils]: 69: Hoare triple {4603#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4603#(<= sep_~i~0 1)} is VALID [2018-11-23 12:16:54,706 INFO L273 TraceCheckUtils]: 70: Hoare triple {4603#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4613#(<= sep_~i~0 2)} is VALID [2018-11-23 12:16:54,706 INFO L273 TraceCheckUtils]: 71: Hoare triple {4613#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4613#(<= sep_~i~0 2)} is VALID [2018-11-23 12:16:54,708 INFO L273 TraceCheckUtils]: 72: Hoare triple {4613#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4613#(<= sep_~i~0 2)} is VALID [2018-11-23 12:16:54,708 INFO L273 TraceCheckUtils]: 73: Hoare triple {4613#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4623#(<= sep_~i~0 3)} is VALID [2018-11-23 12:16:54,709 INFO L273 TraceCheckUtils]: 74: Hoare triple {4623#(<= sep_~i~0 3)} assume !(~i~0 < 20); {4387#false} is VALID [2018-11-23 12:16:54,709 INFO L273 TraceCheckUtils]: 75: Hoare triple {4387#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4387#false} is VALID [2018-11-23 12:16:54,709 INFO L273 TraceCheckUtils]: 76: Hoare triple {4387#false} assume true; {4387#false} is VALID [2018-11-23 12:16:54,709 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {4387#false} {4386#true} #79#return; {4387#false} is VALID [2018-11-23 12:16:54,709 INFO L273 TraceCheckUtils]: 78: Hoare triple {4387#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4387#false} is VALID [2018-11-23 12:16:54,709 INFO L273 TraceCheckUtils]: 79: Hoare triple {4387#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4387#false} is VALID [2018-11-23 12:16:54,709 INFO L273 TraceCheckUtils]: 80: Hoare triple {4387#false} assume !false; {4387#false} is VALID [2018-11-23 12:16:54,713 INFO L134 CoverageAnalysis]: Checked inductivity of 235 backedges. 74 proven. 12 refuted. 0 times theorem prover too weak. 149 trivial. 0 not checked. [2018-11-23 12:16:54,733 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:54,733 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6] total 16 [2018-11-23 12:16:54,733 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 81 [2018-11-23 12:16:54,734 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:54,734 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:16:54,805 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:54,806 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:16:54,806 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:16:54,806 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=160, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:16:54,807 INFO L87 Difference]: Start difference. First operand 54 states and 61 transitions. Second operand 16 states. [2018-11-23 12:16:55,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:55,279 INFO L93 Difference]: Finished difference Result 91 states and 111 transitions. [2018-11-23 12:16:55,279 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:16:55,280 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 81 [2018-11-23 12:16:55,280 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:55,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:16:55,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 96 transitions. [2018-11-23 12:16:55,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:16:55,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 96 transitions. [2018-11-23 12:16:55,283 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 96 transitions. [2018-11-23 12:16:55,409 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:55,412 INFO L225 Difference]: With dead ends: 91 [2018-11-23 12:16:55,412 INFO L226 Difference]: Without dead ends: 62 [2018-11-23 12:16:55,412 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 78 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=80, Invalid=160, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:16:55,413 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2018-11-23 12:16:55,435 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 59. [2018-11-23 12:16:55,435 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:55,436 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand 59 states. [2018-11-23 12:16:55,436 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 59 states. [2018-11-23 12:16:55,436 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 59 states. [2018-11-23 12:16:55,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:55,438 INFO L93 Difference]: Finished difference Result 62 states and 71 transitions. [2018-11-23 12:16:55,438 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 71 transitions. [2018-11-23 12:16:55,439 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:55,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:55,439 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 62 states. [2018-11-23 12:16:55,439 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 62 states. [2018-11-23 12:16:55,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:55,441 INFO L93 Difference]: Finished difference Result 62 states and 71 transitions. [2018-11-23 12:16:55,441 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 71 transitions. [2018-11-23 12:16:55,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:55,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:55,441 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:55,442 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:55,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2018-11-23 12:16:55,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 67 transitions. [2018-11-23 12:16:55,443 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 67 transitions. Word has length 81 [2018-11-23 12:16:55,443 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:55,443 INFO L480 AbstractCegarLoop]: Abstraction has 59 states and 67 transitions. [2018-11-23 12:16:55,443 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:16:55,444 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 67 transitions. [2018-11-23 12:16:55,444 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2018-11-23 12:16:55,444 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:55,444 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 12, 10, 10, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:55,445 INFO L423 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:55,445 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:55,445 INFO L82 PathProgramCache]: Analyzing trace with hash -313307898, now seen corresponding path program 10 times [2018-11-23 12:16:55,445 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:55,445 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:55,446 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:55,446 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:55,446 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:55,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:56,202 INFO L256 TraceCheckUtils]: 0: Hoare triple {4983#true} call ULTIMATE.init(); {4983#true} is VALID [2018-11-23 12:16:56,202 INFO L273 TraceCheckUtils]: 1: Hoare triple {4983#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4983#true} is VALID [2018-11-23 12:16:56,202 INFO L273 TraceCheckUtils]: 2: Hoare triple {4983#true} assume true; {4983#true} is VALID [2018-11-23 12:16:56,203 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4983#true} {4983#true} #71#return; {4983#true} is VALID [2018-11-23 12:16:56,203 INFO L256 TraceCheckUtils]: 4: Hoare triple {4983#true} call #t~ret14 := main(); {4983#true} is VALID [2018-11-23 12:16:56,204 INFO L273 TraceCheckUtils]: 5: Hoare triple {4983#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4985#(= main_~i~1 0)} is VALID [2018-11-23 12:16:56,205 INFO L273 TraceCheckUtils]: 6: Hoare triple {4985#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4985#(= main_~i~1 0)} is VALID [2018-11-23 12:16:56,205 INFO L273 TraceCheckUtils]: 7: Hoare triple {4985#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4986#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:56,205 INFO L273 TraceCheckUtils]: 8: Hoare triple {4986#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4986#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:56,206 INFO L273 TraceCheckUtils]: 9: Hoare triple {4986#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4987#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:56,206 INFO L273 TraceCheckUtils]: 10: Hoare triple {4987#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4987#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:56,207 INFO L273 TraceCheckUtils]: 11: Hoare triple {4987#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4988#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:56,207 INFO L273 TraceCheckUtils]: 12: Hoare triple {4988#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4988#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:56,208 INFO L273 TraceCheckUtils]: 13: Hoare triple {4988#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4989#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:56,208 INFO L273 TraceCheckUtils]: 14: Hoare triple {4989#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4989#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:56,208 INFO L273 TraceCheckUtils]: 15: Hoare triple {4989#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4990#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:56,209 INFO L273 TraceCheckUtils]: 16: Hoare triple {4990#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4990#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:56,210 INFO L273 TraceCheckUtils]: 17: Hoare triple {4990#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4991#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:56,210 INFO L273 TraceCheckUtils]: 18: Hoare triple {4991#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4991#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:56,211 INFO L273 TraceCheckUtils]: 19: Hoare triple {4991#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4992#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:56,211 INFO L273 TraceCheckUtils]: 20: Hoare triple {4992#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4992#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:56,212 INFO L273 TraceCheckUtils]: 21: Hoare triple {4992#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4993#(<= main_~i~1 8)} is VALID [2018-11-23 12:16:56,213 INFO L273 TraceCheckUtils]: 22: Hoare triple {4993#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4993#(<= main_~i~1 8)} is VALID [2018-11-23 12:16:56,213 INFO L273 TraceCheckUtils]: 23: Hoare triple {4993#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4994#(<= main_~i~1 9)} is VALID [2018-11-23 12:16:56,214 INFO L273 TraceCheckUtils]: 24: Hoare triple {4994#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4994#(<= main_~i~1 9)} is VALID [2018-11-23 12:16:56,214 INFO L273 TraceCheckUtils]: 25: Hoare triple {4994#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4995#(<= main_~i~1 10)} is VALID [2018-11-23 12:16:56,215 INFO L273 TraceCheckUtils]: 26: Hoare triple {4995#(<= main_~i~1 10)} assume !(~i~1 < 20); {4984#false} is VALID [2018-11-23 12:16:56,215 INFO L256 TraceCheckUtils]: 27: Hoare triple {4984#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4983#true} is VALID [2018-11-23 12:16:56,216 INFO L273 TraceCheckUtils]: 28: Hoare triple {4983#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4983#true} is VALID [2018-11-23 12:16:56,216 INFO L273 TraceCheckUtils]: 29: Hoare triple {4983#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:16:56,216 INFO L273 TraceCheckUtils]: 30: Hoare triple {4983#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4983#true} is VALID [2018-11-23 12:16:56,216 INFO L273 TraceCheckUtils]: 31: Hoare triple {4983#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4983#true} is VALID [2018-11-23 12:16:56,216 INFO L273 TraceCheckUtils]: 32: Hoare triple {4983#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:16:56,217 INFO L273 TraceCheckUtils]: 33: Hoare triple {4983#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4983#true} is VALID [2018-11-23 12:16:56,217 INFO L273 TraceCheckUtils]: 34: Hoare triple {4983#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4983#true} is VALID [2018-11-23 12:16:56,217 INFO L273 TraceCheckUtils]: 35: Hoare triple {4983#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:16:56,217 INFO L273 TraceCheckUtils]: 36: Hoare triple {4983#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4983#true} is VALID [2018-11-23 12:16:56,217 INFO L273 TraceCheckUtils]: 37: Hoare triple {4983#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4983#true} is VALID [2018-11-23 12:16:56,217 INFO L273 TraceCheckUtils]: 38: Hoare triple {4983#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:16:56,218 INFO L273 TraceCheckUtils]: 39: Hoare triple {4983#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4983#true} is VALID [2018-11-23 12:16:56,218 INFO L273 TraceCheckUtils]: 40: Hoare triple {4983#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4983#true} is VALID [2018-11-23 12:16:56,218 INFO L273 TraceCheckUtils]: 41: Hoare triple {4983#true} assume !(~i~0 < 20); {4983#true} is VALID [2018-11-23 12:16:56,218 INFO L273 TraceCheckUtils]: 42: Hoare triple {4983#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4983#true} is VALID [2018-11-23 12:16:56,218 INFO L273 TraceCheckUtils]: 43: Hoare triple {4983#true} assume true; {4983#true} is VALID [2018-11-23 12:16:56,218 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {4983#true} {4984#false} #75#return; {4984#false} is VALID [2018-11-23 12:16:56,218 INFO L273 TraceCheckUtils]: 45: Hoare triple {4984#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {4984#false} is VALID [2018-11-23 12:16:56,218 INFO L256 TraceCheckUtils]: 46: Hoare triple {4984#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4983#true} is VALID [2018-11-23 12:16:56,219 INFO L273 TraceCheckUtils]: 47: Hoare triple {4983#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4983#true} is VALID [2018-11-23 12:16:56,219 INFO L273 TraceCheckUtils]: 48: Hoare triple {4983#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:16:56,219 INFO L273 TraceCheckUtils]: 49: Hoare triple {4983#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4983#true} is VALID [2018-11-23 12:16:56,219 INFO L273 TraceCheckUtils]: 50: Hoare triple {4983#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4983#true} is VALID [2018-11-23 12:16:56,219 INFO L273 TraceCheckUtils]: 51: Hoare triple {4983#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:16:56,219 INFO L273 TraceCheckUtils]: 52: Hoare triple {4983#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4983#true} is VALID [2018-11-23 12:16:56,219 INFO L273 TraceCheckUtils]: 53: Hoare triple {4983#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4983#true} is VALID [2018-11-23 12:16:56,219 INFO L273 TraceCheckUtils]: 54: Hoare triple {4983#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:16:56,220 INFO L273 TraceCheckUtils]: 55: Hoare triple {4983#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4983#true} is VALID [2018-11-23 12:16:56,220 INFO L273 TraceCheckUtils]: 56: Hoare triple {4983#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4983#true} is VALID [2018-11-23 12:16:56,220 INFO L273 TraceCheckUtils]: 57: Hoare triple {4983#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:16:56,220 INFO L273 TraceCheckUtils]: 58: Hoare triple {4983#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4983#true} is VALID [2018-11-23 12:16:56,220 INFO L273 TraceCheckUtils]: 59: Hoare triple {4983#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4983#true} is VALID [2018-11-23 12:16:56,220 INFO L273 TraceCheckUtils]: 60: Hoare triple {4983#true} assume !(~i~0 < 20); {4983#true} is VALID [2018-11-23 12:16:56,221 INFO L273 TraceCheckUtils]: 61: Hoare triple {4983#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4983#true} is VALID [2018-11-23 12:16:56,221 INFO L273 TraceCheckUtils]: 62: Hoare triple {4983#true} assume true; {4983#true} is VALID [2018-11-23 12:16:56,221 INFO L268 TraceCheckUtils]: 63: Hoare quadruple {4983#true} {4984#false} #77#return; {4984#false} is VALID [2018-11-23 12:16:56,221 INFO L273 TraceCheckUtils]: 64: Hoare triple {4984#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {4984#false} is VALID [2018-11-23 12:16:56,221 INFO L273 TraceCheckUtils]: 65: Hoare triple {4984#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4984#false} is VALID [2018-11-23 12:16:56,221 INFO L273 TraceCheckUtils]: 66: Hoare triple {4984#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4984#false} is VALID [2018-11-23 12:16:56,222 INFO L273 TraceCheckUtils]: 67: Hoare triple {4984#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4984#false} is VALID [2018-11-23 12:16:56,222 INFO L273 TraceCheckUtils]: 68: Hoare triple {4984#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4984#false} is VALID [2018-11-23 12:16:56,222 INFO L273 TraceCheckUtils]: 69: Hoare triple {4984#false} assume !(~i~2 < 19); {4984#false} is VALID [2018-11-23 12:16:56,222 INFO L273 TraceCheckUtils]: 70: Hoare triple {4984#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {4984#false} is VALID [2018-11-23 12:16:56,222 INFO L256 TraceCheckUtils]: 71: Hoare triple {4984#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4983#true} is VALID [2018-11-23 12:16:56,223 INFO L273 TraceCheckUtils]: 72: Hoare triple {4983#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4983#true} is VALID [2018-11-23 12:16:56,223 INFO L273 TraceCheckUtils]: 73: Hoare triple {4983#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:16:56,223 INFO L273 TraceCheckUtils]: 74: Hoare triple {4983#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4983#true} is VALID [2018-11-23 12:16:56,223 INFO L273 TraceCheckUtils]: 75: Hoare triple {4983#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4983#true} is VALID [2018-11-23 12:16:56,223 INFO L273 TraceCheckUtils]: 76: Hoare triple {4983#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:16:56,223 INFO L273 TraceCheckUtils]: 77: Hoare triple {4983#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4983#true} is VALID [2018-11-23 12:16:56,223 INFO L273 TraceCheckUtils]: 78: Hoare triple {4983#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4983#true} is VALID [2018-11-23 12:16:56,224 INFO L273 TraceCheckUtils]: 79: Hoare triple {4983#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:16:56,224 INFO L273 TraceCheckUtils]: 80: Hoare triple {4983#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4983#true} is VALID [2018-11-23 12:16:56,224 INFO L273 TraceCheckUtils]: 81: Hoare triple {4983#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4983#true} is VALID [2018-11-23 12:16:56,224 INFO L273 TraceCheckUtils]: 82: Hoare triple {4983#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:16:56,224 INFO L273 TraceCheckUtils]: 83: Hoare triple {4983#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4983#true} is VALID [2018-11-23 12:16:56,224 INFO L273 TraceCheckUtils]: 84: Hoare triple {4983#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4983#true} is VALID [2018-11-23 12:16:56,225 INFO L273 TraceCheckUtils]: 85: Hoare triple {4983#true} assume !(~i~0 < 20); {4983#true} is VALID [2018-11-23 12:16:56,225 INFO L273 TraceCheckUtils]: 86: Hoare triple {4983#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4983#true} is VALID [2018-11-23 12:16:56,225 INFO L273 TraceCheckUtils]: 87: Hoare triple {4983#true} assume true; {4983#true} is VALID [2018-11-23 12:16:56,225 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {4983#true} {4984#false} #79#return; {4984#false} is VALID [2018-11-23 12:16:56,225 INFO L273 TraceCheckUtils]: 89: Hoare triple {4984#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4984#false} is VALID [2018-11-23 12:16:56,226 INFO L273 TraceCheckUtils]: 90: Hoare triple {4984#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4984#false} is VALID [2018-11-23 12:16:56,226 INFO L273 TraceCheckUtils]: 91: Hoare triple {4984#false} assume !false; {4984#false} is VALID [2018-11-23 12:16:56,230 INFO L134 CoverageAnalysis]: Checked inductivity of 353 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 253 trivial. 0 not checked. [2018-11-23 12:16:56,231 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:56,231 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:56,245 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:16:56,296 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:16:56,297 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:56,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:56,321 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:56,451 INFO L256 TraceCheckUtils]: 0: Hoare triple {4983#true} call ULTIMATE.init(); {4983#true} is VALID [2018-11-23 12:16:56,451 INFO L273 TraceCheckUtils]: 1: Hoare triple {4983#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4983#true} is VALID [2018-11-23 12:16:56,452 INFO L273 TraceCheckUtils]: 2: Hoare triple {4983#true} assume true; {4983#true} is VALID [2018-11-23 12:16:56,452 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4983#true} {4983#true} #71#return; {4983#true} is VALID [2018-11-23 12:16:56,452 INFO L256 TraceCheckUtils]: 4: Hoare triple {4983#true} call #t~ret14 := main(); {4983#true} is VALID [2018-11-23 12:16:56,453 INFO L273 TraceCheckUtils]: 5: Hoare triple {4983#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {5014#(<= main_~i~1 0)} is VALID [2018-11-23 12:16:56,453 INFO L273 TraceCheckUtils]: 6: Hoare triple {5014#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5014#(<= main_~i~1 0)} is VALID [2018-11-23 12:16:56,454 INFO L273 TraceCheckUtils]: 7: Hoare triple {5014#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4986#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:56,454 INFO L273 TraceCheckUtils]: 8: Hoare triple {4986#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4986#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:56,455 INFO L273 TraceCheckUtils]: 9: Hoare triple {4986#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4987#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:56,455 INFO L273 TraceCheckUtils]: 10: Hoare triple {4987#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4987#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:56,456 INFO L273 TraceCheckUtils]: 11: Hoare triple {4987#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4988#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:56,475 INFO L273 TraceCheckUtils]: 12: Hoare triple {4988#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4988#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:56,478 INFO L273 TraceCheckUtils]: 13: Hoare triple {4988#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4989#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:56,479 INFO L273 TraceCheckUtils]: 14: Hoare triple {4989#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4989#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:56,480 INFO L273 TraceCheckUtils]: 15: Hoare triple {4989#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4990#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:56,480 INFO L273 TraceCheckUtils]: 16: Hoare triple {4990#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4990#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:56,483 INFO L273 TraceCheckUtils]: 17: Hoare triple {4990#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4991#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:56,483 INFO L273 TraceCheckUtils]: 18: Hoare triple {4991#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4991#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:56,483 INFO L273 TraceCheckUtils]: 19: Hoare triple {4991#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4992#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:56,484 INFO L273 TraceCheckUtils]: 20: Hoare triple {4992#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4992#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:56,484 INFO L273 TraceCheckUtils]: 21: Hoare triple {4992#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4993#(<= main_~i~1 8)} is VALID [2018-11-23 12:16:56,485 INFO L273 TraceCheckUtils]: 22: Hoare triple {4993#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4993#(<= main_~i~1 8)} is VALID [2018-11-23 12:16:56,485 INFO L273 TraceCheckUtils]: 23: Hoare triple {4993#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4994#(<= main_~i~1 9)} is VALID [2018-11-23 12:16:56,485 INFO L273 TraceCheckUtils]: 24: Hoare triple {4994#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4994#(<= main_~i~1 9)} is VALID [2018-11-23 12:16:56,486 INFO L273 TraceCheckUtils]: 25: Hoare triple {4994#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4995#(<= main_~i~1 10)} is VALID [2018-11-23 12:16:56,486 INFO L273 TraceCheckUtils]: 26: Hoare triple {4995#(<= main_~i~1 10)} assume !(~i~1 < 20); {4984#false} is VALID [2018-11-23 12:16:56,486 INFO L256 TraceCheckUtils]: 27: Hoare triple {4984#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4984#false} is VALID [2018-11-23 12:16:56,486 INFO L273 TraceCheckUtils]: 28: Hoare triple {4984#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4984#false} is VALID [2018-11-23 12:16:56,487 INFO L273 TraceCheckUtils]: 29: Hoare triple {4984#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:16:56,487 INFO L273 TraceCheckUtils]: 30: Hoare triple {4984#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4984#false} is VALID [2018-11-23 12:16:56,487 INFO L273 TraceCheckUtils]: 31: Hoare triple {4984#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4984#false} is VALID [2018-11-23 12:16:56,487 INFO L273 TraceCheckUtils]: 32: Hoare triple {4984#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:16:56,487 INFO L273 TraceCheckUtils]: 33: Hoare triple {4984#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4984#false} is VALID [2018-11-23 12:16:56,489 INFO L273 TraceCheckUtils]: 34: Hoare triple {4984#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4984#false} is VALID [2018-11-23 12:16:56,489 INFO L273 TraceCheckUtils]: 35: Hoare triple {4984#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:16:56,489 INFO L273 TraceCheckUtils]: 36: Hoare triple {4984#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4984#false} is VALID [2018-11-23 12:16:56,489 INFO L273 TraceCheckUtils]: 37: Hoare triple {4984#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4984#false} is VALID [2018-11-23 12:16:56,489 INFO L273 TraceCheckUtils]: 38: Hoare triple {4984#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:16:56,489 INFO L273 TraceCheckUtils]: 39: Hoare triple {4984#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4984#false} is VALID [2018-11-23 12:16:56,490 INFO L273 TraceCheckUtils]: 40: Hoare triple {4984#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4984#false} is VALID [2018-11-23 12:16:56,490 INFO L273 TraceCheckUtils]: 41: Hoare triple {4984#false} assume !(~i~0 < 20); {4984#false} is VALID [2018-11-23 12:16:56,490 INFO L273 TraceCheckUtils]: 42: Hoare triple {4984#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4984#false} is VALID [2018-11-23 12:16:56,490 INFO L273 TraceCheckUtils]: 43: Hoare triple {4984#false} assume true; {4984#false} is VALID [2018-11-23 12:16:56,490 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {4984#false} {4984#false} #75#return; {4984#false} is VALID [2018-11-23 12:16:56,490 INFO L273 TraceCheckUtils]: 45: Hoare triple {4984#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {4984#false} is VALID [2018-11-23 12:16:56,491 INFO L256 TraceCheckUtils]: 46: Hoare triple {4984#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4984#false} is VALID [2018-11-23 12:16:56,491 INFO L273 TraceCheckUtils]: 47: Hoare triple {4984#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4984#false} is VALID [2018-11-23 12:16:56,491 INFO L273 TraceCheckUtils]: 48: Hoare triple {4984#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:16:56,491 INFO L273 TraceCheckUtils]: 49: Hoare triple {4984#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4984#false} is VALID [2018-11-23 12:16:56,491 INFO L273 TraceCheckUtils]: 50: Hoare triple {4984#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4984#false} is VALID [2018-11-23 12:16:56,491 INFO L273 TraceCheckUtils]: 51: Hoare triple {4984#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:16:56,491 INFO L273 TraceCheckUtils]: 52: Hoare triple {4984#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4984#false} is VALID [2018-11-23 12:16:56,492 INFO L273 TraceCheckUtils]: 53: Hoare triple {4984#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4984#false} is VALID [2018-11-23 12:16:56,492 INFO L273 TraceCheckUtils]: 54: Hoare triple {4984#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:16:56,492 INFO L273 TraceCheckUtils]: 55: Hoare triple {4984#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4984#false} is VALID [2018-11-23 12:16:56,492 INFO L273 TraceCheckUtils]: 56: Hoare triple {4984#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4984#false} is VALID [2018-11-23 12:16:56,492 INFO L273 TraceCheckUtils]: 57: Hoare triple {4984#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:16:56,492 INFO L273 TraceCheckUtils]: 58: Hoare triple {4984#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4984#false} is VALID [2018-11-23 12:16:56,492 INFO L273 TraceCheckUtils]: 59: Hoare triple {4984#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4984#false} is VALID [2018-11-23 12:16:56,492 INFO L273 TraceCheckUtils]: 60: Hoare triple {4984#false} assume !(~i~0 < 20); {4984#false} is VALID [2018-11-23 12:16:56,493 INFO L273 TraceCheckUtils]: 61: Hoare triple {4984#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4984#false} is VALID [2018-11-23 12:16:56,493 INFO L273 TraceCheckUtils]: 62: Hoare triple {4984#false} assume true; {4984#false} is VALID [2018-11-23 12:16:56,493 INFO L268 TraceCheckUtils]: 63: Hoare quadruple {4984#false} {4984#false} #77#return; {4984#false} is VALID [2018-11-23 12:16:56,493 INFO L273 TraceCheckUtils]: 64: Hoare triple {4984#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {4984#false} is VALID [2018-11-23 12:16:56,493 INFO L273 TraceCheckUtils]: 65: Hoare triple {4984#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4984#false} is VALID [2018-11-23 12:16:56,493 INFO L273 TraceCheckUtils]: 66: Hoare triple {4984#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4984#false} is VALID [2018-11-23 12:16:56,493 INFO L273 TraceCheckUtils]: 67: Hoare triple {4984#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4984#false} is VALID [2018-11-23 12:16:56,493 INFO L273 TraceCheckUtils]: 68: Hoare triple {4984#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4984#false} is VALID [2018-11-23 12:16:56,494 INFO L273 TraceCheckUtils]: 69: Hoare triple {4984#false} assume !(~i~2 < 19); {4984#false} is VALID [2018-11-23 12:16:56,494 INFO L273 TraceCheckUtils]: 70: Hoare triple {4984#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {4984#false} is VALID [2018-11-23 12:16:56,494 INFO L256 TraceCheckUtils]: 71: Hoare triple {4984#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4984#false} is VALID [2018-11-23 12:16:56,494 INFO L273 TraceCheckUtils]: 72: Hoare triple {4984#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4984#false} is VALID [2018-11-23 12:16:56,494 INFO L273 TraceCheckUtils]: 73: Hoare triple {4984#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:16:56,494 INFO L273 TraceCheckUtils]: 74: Hoare triple {4984#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4984#false} is VALID [2018-11-23 12:16:56,494 INFO L273 TraceCheckUtils]: 75: Hoare triple {4984#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4984#false} is VALID [2018-11-23 12:16:56,494 INFO L273 TraceCheckUtils]: 76: Hoare triple {4984#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:16:56,494 INFO L273 TraceCheckUtils]: 77: Hoare triple {4984#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4984#false} is VALID [2018-11-23 12:16:56,495 INFO L273 TraceCheckUtils]: 78: Hoare triple {4984#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4984#false} is VALID [2018-11-23 12:16:56,495 INFO L273 TraceCheckUtils]: 79: Hoare triple {4984#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:16:56,495 INFO L273 TraceCheckUtils]: 80: Hoare triple {4984#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4984#false} is VALID [2018-11-23 12:16:56,495 INFO L273 TraceCheckUtils]: 81: Hoare triple {4984#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4984#false} is VALID [2018-11-23 12:16:56,495 INFO L273 TraceCheckUtils]: 82: Hoare triple {4984#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:16:56,495 INFO L273 TraceCheckUtils]: 83: Hoare triple {4984#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {4984#false} is VALID [2018-11-23 12:16:56,495 INFO L273 TraceCheckUtils]: 84: Hoare triple {4984#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4984#false} is VALID [2018-11-23 12:16:56,495 INFO L273 TraceCheckUtils]: 85: Hoare triple {4984#false} assume !(~i~0 < 20); {4984#false} is VALID [2018-11-23 12:16:56,496 INFO L273 TraceCheckUtils]: 86: Hoare triple {4984#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4984#false} is VALID [2018-11-23 12:16:56,496 INFO L273 TraceCheckUtils]: 87: Hoare triple {4984#false} assume true; {4984#false} is VALID [2018-11-23 12:16:56,496 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {4984#false} {4984#false} #79#return; {4984#false} is VALID [2018-11-23 12:16:56,496 INFO L273 TraceCheckUtils]: 89: Hoare triple {4984#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4984#false} is VALID [2018-11-23 12:16:56,496 INFO L273 TraceCheckUtils]: 90: Hoare triple {4984#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4984#false} is VALID [2018-11-23 12:16:56,496 INFO L273 TraceCheckUtils]: 91: Hoare triple {4984#false} assume !false; {4984#false} is VALID [2018-11-23 12:16:56,500 INFO L134 CoverageAnalysis]: Checked inductivity of 353 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 253 trivial. 0 not checked. [2018-11-23 12:16:56,519 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:56,519 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 14 [2018-11-23 12:16:56,520 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 92 [2018-11-23 12:16:56,521 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:56,521 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 12:16:56,583 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:56,583 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 12:16:56,583 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 12:16:56,584 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:16:56,584 INFO L87 Difference]: Start difference. First operand 59 states and 67 transitions. Second operand 14 states. [2018-11-23 12:16:56,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:56,799 INFO L93 Difference]: Finished difference Result 94 states and 110 transitions. [2018-11-23 12:16:56,799 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 12:16:56,799 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 92 [2018-11-23 12:16:56,800 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:56,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:16:56,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 78 transitions. [2018-11-23 12:16:56,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:16:56,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 78 transitions. [2018-11-23 12:16:56,803 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 78 transitions. [2018-11-23 12:16:57,233 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:57,236 INFO L225 Difference]: With dead ends: 94 [2018-11-23 12:16:57,236 INFO L226 Difference]: Without dead ends: 62 [2018-11-23 12:16:57,238 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 92 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:16:57,238 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2018-11-23 12:16:57,804 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 61. [2018-11-23 12:16:57,804 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:57,804 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand 61 states. [2018-11-23 12:16:57,804 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 61 states. [2018-11-23 12:16:57,804 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 61 states. [2018-11-23 12:16:57,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:57,806 INFO L93 Difference]: Finished difference Result 62 states and 70 transitions. [2018-11-23 12:16:57,806 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 70 transitions. [2018-11-23 12:16:57,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:57,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:57,807 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 62 states. [2018-11-23 12:16:57,807 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 62 states. [2018-11-23 12:16:57,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:57,809 INFO L93 Difference]: Finished difference Result 62 states and 70 transitions. [2018-11-23 12:16:57,809 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 70 transitions. [2018-11-23 12:16:57,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:57,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:57,810 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:57,810 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:57,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-11-23 12:16:57,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 69 transitions. [2018-11-23 12:16:57,812 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 69 transitions. Word has length 92 [2018-11-23 12:16:57,812 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:57,812 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 69 transitions. [2018-11-23 12:16:57,812 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 12:16:57,812 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 69 transitions. [2018-11-23 12:16:57,813 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2018-11-23 12:16:57,813 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:57,814 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 12, 11, 11, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:57,814 INFO L423 AbstractCegarLoop]: === Iteration 15 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:57,814 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:57,814 INFO L82 PathProgramCache]: Analyzing trace with hash 1157101992, now seen corresponding path program 11 times [2018-11-23 12:16:57,814 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:57,815 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:57,815 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:57,815 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:57,816 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:57,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:58,265 INFO L256 TraceCheckUtils]: 0: Hoare triple {5619#true} call ULTIMATE.init(); {5619#true} is VALID [2018-11-23 12:16:58,265 INFO L273 TraceCheckUtils]: 1: Hoare triple {5619#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5619#true} is VALID [2018-11-23 12:16:58,266 INFO L273 TraceCheckUtils]: 2: Hoare triple {5619#true} assume true; {5619#true} is VALID [2018-11-23 12:16:58,266 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5619#true} {5619#true} #71#return; {5619#true} is VALID [2018-11-23 12:16:58,266 INFO L256 TraceCheckUtils]: 4: Hoare triple {5619#true} call #t~ret14 := main(); {5619#true} is VALID [2018-11-23 12:16:58,266 INFO L273 TraceCheckUtils]: 5: Hoare triple {5619#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {5621#(= main_~i~1 0)} is VALID [2018-11-23 12:16:58,267 INFO L273 TraceCheckUtils]: 6: Hoare triple {5621#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5621#(= main_~i~1 0)} is VALID [2018-11-23 12:16:58,267 INFO L273 TraceCheckUtils]: 7: Hoare triple {5621#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5622#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:58,268 INFO L273 TraceCheckUtils]: 8: Hoare triple {5622#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5622#(<= main_~i~1 1)} is VALID [2018-11-23 12:16:58,268 INFO L273 TraceCheckUtils]: 9: Hoare triple {5622#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5623#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:58,269 INFO L273 TraceCheckUtils]: 10: Hoare triple {5623#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5623#(<= main_~i~1 2)} is VALID [2018-11-23 12:16:58,269 INFO L273 TraceCheckUtils]: 11: Hoare triple {5623#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5624#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:58,269 INFO L273 TraceCheckUtils]: 12: Hoare triple {5624#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5624#(<= main_~i~1 3)} is VALID [2018-11-23 12:16:58,270 INFO L273 TraceCheckUtils]: 13: Hoare triple {5624#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5625#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:58,270 INFO L273 TraceCheckUtils]: 14: Hoare triple {5625#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5625#(<= main_~i~1 4)} is VALID [2018-11-23 12:16:58,271 INFO L273 TraceCheckUtils]: 15: Hoare triple {5625#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5626#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:58,271 INFO L273 TraceCheckUtils]: 16: Hoare triple {5626#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5626#(<= main_~i~1 5)} is VALID [2018-11-23 12:16:58,272 INFO L273 TraceCheckUtils]: 17: Hoare triple {5626#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5627#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:58,273 INFO L273 TraceCheckUtils]: 18: Hoare triple {5627#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5627#(<= main_~i~1 6)} is VALID [2018-11-23 12:16:58,290 INFO L273 TraceCheckUtils]: 19: Hoare triple {5627#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5628#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:58,304 INFO L273 TraceCheckUtils]: 20: Hoare triple {5628#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5628#(<= main_~i~1 7)} is VALID [2018-11-23 12:16:58,317 INFO L273 TraceCheckUtils]: 21: Hoare triple {5628#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5629#(<= main_~i~1 8)} is VALID [2018-11-23 12:16:58,326 INFO L273 TraceCheckUtils]: 22: Hoare triple {5629#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5629#(<= main_~i~1 8)} is VALID [2018-11-23 12:16:58,326 INFO L273 TraceCheckUtils]: 23: Hoare triple {5629#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5630#(<= main_~i~1 9)} is VALID [2018-11-23 12:16:58,327 INFO L273 TraceCheckUtils]: 24: Hoare triple {5630#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5630#(<= main_~i~1 9)} is VALID [2018-11-23 12:16:58,327 INFO L273 TraceCheckUtils]: 25: Hoare triple {5630#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5631#(<= main_~i~1 10)} is VALID [2018-11-23 12:16:58,327 INFO L273 TraceCheckUtils]: 26: Hoare triple {5631#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5631#(<= main_~i~1 10)} is VALID [2018-11-23 12:16:58,328 INFO L273 TraceCheckUtils]: 27: Hoare triple {5631#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5632#(<= main_~i~1 11)} is VALID [2018-11-23 12:16:58,328 INFO L273 TraceCheckUtils]: 28: Hoare triple {5632#(<= main_~i~1 11)} assume !(~i~1 < 20); {5620#false} is VALID [2018-11-23 12:16:58,328 INFO L256 TraceCheckUtils]: 29: Hoare triple {5620#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {5619#true} is VALID [2018-11-23 12:16:58,329 INFO L273 TraceCheckUtils]: 30: Hoare triple {5619#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5619#true} is VALID [2018-11-23 12:16:58,329 INFO L273 TraceCheckUtils]: 31: Hoare triple {5619#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:16:58,329 INFO L273 TraceCheckUtils]: 32: Hoare triple {5619#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5619#true} is VALID [2018-11-23 12:16:58,329 INFO L273 TraceCheckUtils]: 33: Hoare triple {5619#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5619#true} is VALID [2018-11-23 12:16:58,329 INFO L273 TraceCheckUtils]: 34: Hoare triple {5619#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:16:58,329 INFO L273 TraceCheckUtils]: 35: Hoare triple {5619#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5619#true} is VALID [2018-11-23 12:16:58,329 INFO L273 TraceCheckUtils]: 36: Hoare triple {5619#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5619#true} is VALID [2018-11-23 12:16:58,329 INFO L273 TraceCheckUtils]: 37: Hoare triple {5619#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:16:58,330 INFO L273 TraceCheckUtils]: 38: Hoare triple {5619#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5619#true} is VALID [2018-11-23 12:16:58,330 INFO L273 TraceCheckUtils]: 39: Hoare triple {5619#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5619#true} is VALID [2018-11-23 12:16:58,330 INFO L273 TraceCheckUtils]: 40: Hoare triple {5619#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:16:58,330 INFO L273 TraceCheckUtils]: 41: Hoare triple {5619#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5619#true} is VALID [2018-11-23 12:16:58,330 INFO L273 TraceCheckUtils]: 42: Hoare triple {5619#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5619#true} is VALID [2018-11-23 12:16:58,330 INFO L273 TraceCheckUtils]: 43: Hoare triple {5619#true} assume !(~i~0 < 20); {5619#true} is VALID [2018-11-23 12:16:58,330 INFO L273 TraceCheckUtils]: 44: Hoare triple {5619#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5619#true} is VALID [2018-11-23 12:16:58,331 INFO L273 TraceCheckUtils]: 45: Hoare triple {5619#true} assume true; {5619#true} is VALID [2018-11-23 12:16:58,331 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {5619#true} {5620#false} #75#return; {5620#false} is VALID [2018-11-23 12:16:58,331 INFO L273 TraceCheckUtils]: 47: Hoare triple {5620#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {5620#false} is VALID [2018-11-23 12:16:58,331 INFO L256 TraceCheckUtils]: 48: Hoare triple {5620#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {5619#true} is VALID [2018-11-23 12:16:58,331 INFO L273 TraceCheckUtils]: 49: Hoare triple {5619#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5619#true} is VALID [2018-11-23 12:16:58,332 INFO L273 TraceCheckUtils]: 50: Hoare triple {5619#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:16:58,332 INFO L273 TraceCheckUtils]: 51: Hoare triple {5619#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5619#true} is VALID [2018-11-23 12:16:58,332 INFO L273 TraceCheckUtils]: 52: Hoare triple {5619#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5619#true} is VALID [2018-11-23 12:16:58,332 INFO L273 TraceCheckUtils]: 53: Hoare triple {5619#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:16:58,332 INFO L273 TraceCheckUtils]: 54: Hoare triple {5619#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5619#true} is VALID [2018-11-23 12:16:58,332 INFO L273 TraceCheckUtils]: 55: Hoare triple {5619#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5619#true} is VALID [2018-11-23 12:16:58,333 INFO L273 TraceCheckUtils]: 56: Hoare triple {5619#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:16:58,333 INFO L273 TraceCheckUtils]: 57: Hoare triple {5619#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5619#true} is VALID [2018-11-23 12:16:58,333 INFO L273 TraceCheckUtils]: 58: Hoare triple {5619#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5619#true} is VALID [2018-11-23 12:16:58,333 INFO L273 TraceCheckUtils]: 59: Hoare triple {5619#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:16:58,333 INFO L273 TraceCheckUtils]: 60: Hoare triple {5619#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5619#true} is VALID [2018-11-23 12:16:58,333 INFO L273 TraceCheckUtils]: 61: Hoare triple {5619#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5619#true} is VALID [2018-11-23 12:16:58,333 INFO L273 TraceCheckUtils]: 62: Hoare triple {5619#true} assume !(~i~0 < 20); {5619#true} is VALID [2018-11-23 12:16:58,333 INFO L273 TraceCheckUtils]: 63: Hoare triple {5619#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5619#true} is VALID [2018-11-23 12:16:58,333 INFO L273 TraceCheckUtils]: 64: Hoare triple {5619#true} assume true; {5619#true} is VALID [2018-11-23 12:16:58,334 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {5619#true} {5620#false} #77#return; {5620#false} is VALID [2018-11-23 12:16:58,334 INFO L273 TraceCheckUtils]: 66: Hoare triple {5620#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {5620#false} is VALID [2018-11-23 12:16:58,334 INFO L273 TraceCheckUtils]: 67: Hoare triple {5620#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {5620#false} is VALID [2018-11-23 12:16:58,334 INFO L273 TraceCheckUtils]: 68: Hoare triple {5620#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {5620#false} is VALID [2018-11-23 12:16:58,334 INFO L273 TraceCheckUtils]: 69: Hoare triple {5620#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {5620#false} is VALID [2018-11-23 12:16:58,334 INFO L273 TraceCheckUtils]: 70: Hoare triple {5620#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {5620#false} is VALID [2018-11-23 12:16:58,334 INFO L273 TraceCheckUtils]: 71: Hoare triple {5620#false} assume !(~i~2 < 19); {5620#false} is VALID [2018-11-23 12:16:58,334 INFO L273 TraceCheckUtils]: 72: Hoare triple {5620#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {5620#false} is VALID [2018-11-23 12:16:58,334 INFO L256 TraceCheckUtils]: 73: Hoare triple {5620#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {5619#true} is VALID [2018-11-23 12:16:58,335 INFO L273 TraceCheckUtils]: 74: Hoare triple {5619#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5619#true} is VALID [2018-11-23 12:16:58,335 INFO L273 TraceCheckUtils]: 75: Hoare triple {5619#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:16:58,335 INFO L273 TraceCheckUtils]: 76: Hoare triple {5619#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5619#true} is VALID [2018-11-23 12:16:58,335 INFO L273 TraceCheckUtils]: 77: Hoare triple {5619#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5619#true} is VALID [2018-11-23 12:16:58,335 INFO L273 TraceCheckUtils]: 78: Hoare triple {5619#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:16:58,335 INFO L273 TraceCheckUtils]: 79: Hoare triple {5619#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5619#true} is VALID [2018-11-23 12:16:58,335 INFO L273 TraceCheckUtils]: 80: Hoare triple {5619#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5619#true} is VALID [2018-11-23 12:16:58,335 INFO L273 TraceCheckUtils]: 81: Hoare triple {5619#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:16:58,336 INFO L273 TraceCheckUtils]: 82: Hoare triple {5619#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5619#true} is VALID [2018-11-23 12:16:58,336 INFO L273 TraceCheckUtils]: 83: Hoare triple {5619#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5619#true} is VALID [2018-11-23 12:16:58,336 INFO L273 TraceCheckUtils]: 84: Hoare triple {5619#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:16:58,336 INFO L273 TraceCheckUtils]: 85: Hoare triple {5619#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5619#true} is VALID [2018-11-23 12:16:58,336 INFO L273 TraceCheckUtils]: 86: Hoare triple {5619#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5619#true} is VALID [2018-11-23 12:16:58,336 INFO L273 TraceCheckUtils]: 87: Hoare triple {5619#true} assume !(~i~0 < 20); {5619#true} is VALID [2018-11-23 12:16:58,336 INFO L273 TraceCheckUtils]: 88: Hoare triple {5619#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5619#true} is VALID [2018-11-23 12:16:58,336 INFO L273 TraceCheckUtils]: 89: Hoare triple {5619#true} assume true; {5619#true} is VALID [2018-11-23 12:16:58,336 INFO L268 TraceCheckUtils]: 90: Hoare quadruple {5619#true} {5620#false} #79#return; {5620#false} is VALID [2018-11-23 12:16:58,337 INFO L273 TraceCheckUtils]: 91: Hoare triple {5620#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {5620#false} is VALID [2018-11-23 12:16:58,337 INFO L273 TraceCheckUtils]: 92: Hoare triple {5620#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5620#false} is VALID [2018-11-23 12:16:58,337 INFO L273 TraceCheckUtils]: 93: Hoare triple {5620#false} assume !false; {5620#false} is VALID [2018-11-23 12:16:58,340 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 0 proven. 121 refuted. 0 times theorem prover too weak. 253 trivial. 0 not checked. [2018-11-23 12:16:58,341 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:58,341 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:58,349 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:16:58,516 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) [2018-11-23 12:16:58,516 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:58,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:58,536 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:58,685 INFO L256 TraceCheckUtils]: 0: Hoare triple {5619#true} call ULTIMATE.init(); {5619#true} is VALID [2018-11-23 12:16:58,686 INFO L273 TraceCheckUtils]: 1: Hoare triple {5619#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5619#true} is VALID [2018-11-23 12:16:58,686 INFO L273 TraceCheckUtils]: 2: Hoare triple {5619#true} assume true; {5619#true} is VALID [2018-11-23 12:16:58,686 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5619#true} {5619#true} #71#return; {5619#true} is VALID [2018-11-23 12:16:58,686 INFO L256 TraceCheckUtils]: 4: Hoare triple {5619#true} call #t~ret14 := main(); {5619#true} is VALID [2018-11-23 12:16:58,687 INFO L273 TraceCheckUtils]: 5: Hoare triple {5619#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {5619#true} is VALID [2018-11-23 12:16:58,687 INFO L273 TraceCheckUtils]: 6: Hoare triple {5619#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5619#true} is VALID [2018-11-23 12:16:58,687 INFO L273 TraceCheckUtils]: 7: Hoare triple {5619#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5619#true} is VALID [2018-11-23 12:16:58,687 INFO L273 TraceCheckUtils]: 8: Hoare triple {5619#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5619#true} is VALID [2018-11-23 12:16:58,687 INFO L273 TraceCheckUtils]: 9: Hoare triple {5619#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5619#true} is VALID [2018-11-23 12:16:58,688 INFO L273 TraceCheckUtils]: 10: Hoare triple {5619#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5619#true} is VALID [2018-11-23 12:16:58,688 INFO L273 TraceCheckUtils]: 11: Hoare triple {5619#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5619#true} is VALID [2018-11-23 12:16:58,688 INFO L273 TraceCheckUtils]: 12: Hoare triple {5619#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5619#true} is VALID [2018-11-23 12:16:58,688 INFO L273 TraceCheckUtils]: 13: Hoare triple {5619#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5619#true} is VALID [2018-11-23 12:16:58,688 INFO L273 TraceCheckUtils]: 14: Hoare triple {5619#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5619#true} is VALID [2018-11-23 12:16:58,688 INFO L273 TraceCheckUtils]: 15: Hoare triple {5619#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5619#true} is VALID [2018-11-23 12:16:58,688 INFO L273 TraceCheckUtils]: 16: Hoare triple {5619#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5619#true} is VALID [2018-11-23 12:16:58,688 INFO L273 TraceCheckUtils]: 17: Hoare triple {5619#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5619#true} is VALID [2018-11-23 12:16:58,689 INFO L273 TraceCheckUtils]: 18: Hoare triple {5619#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5619#true} is VALID [2018-11-23 12:16:58,689 INFO L273 TraceCheckUtils]: 19: Hoare triple {5619#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5619#true} is VALID [2018-11-23 12:16:58,689 INFO L273 TraceCheckUtils]: 20: Hoare triple {5619#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5619#true} is VALID [2018-11-23 12:16:58,689 INFO L273 TraceCheckUtils]: 21: Hoare triple {5619#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5619#true} is VALID [2018-11-23 12:16:58,689 INFO L273 TraceCheckUtils]: 22: Hoare triple {5619#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5619#true} is VALID [2018-11-23 12:16:58,689 INFO L273 TraceCheckUtils]: 23: Hoare triple {5619#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5619#true} is VALID [2018-11-23 12:16:58,689 INFO L273 TraceCheckUtils]: 24: Hoare triple {5619#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5619#true} is VALID [2018-11-23 12:16:58,689 INFO L273 TraceCheckUtils]: 25: Hoare triple {5619#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5619#true} is VALID [2018-11-23 12:16:58,690 INFO L273 TraceCheckUtils]: 26: Hoare triple {5619#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5619#true} is VALID [2018-11-23 12:16:58,690 INFO L273 TraceCheckUtils]: 27: Hoare triple {5619#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5619#true} is VALID [2018-11-23 12:16:58,690 INFO L273 TraceCheckUtils]: 28: Hoare triple {5619#true} assume !(~i~1 < 20); {5619#true} is VALID [2018-11-23 12:16:58,690 INFO L256 TraceCheckUtils]: 29: Hoare triple {5619#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {5619#true} is VALID [2018-11-23 12:16:58,690 INFO L273 TraceCheckUtils]: 30: Hoare triple {5619#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5726#(<= sep_~i~0 0)} is VALID [2018-11-23 12:16:58,691 INFO L273 TraceCheckUtils]: 31: Hoare triple {5726#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5726#(<= sep_~i~0 0)} is VALID [2018-11-23 12:16:58,691 INFO L273 TraceCheckUtils]: 32: Hoare triple {5726#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5726#(<= sep_~i~0 0)} is VALID [2018-11-23 12:16:58,692 INFO L273 TraceCheckUtils]: 33: Hoare triple {5726#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5736#(<= sep_~i~0 1)} is VALID [2018-11-23 12:16:58,692 INFO L273 TraceCheckUtils]: 34: Hoare triple {5736#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5736#(<= sep_~i~0 1)} is VALID [2018-11-23 12:16:58,692 INFO L273 TraceCheckUtils]: 35: Hoare triple {5736#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5736#(<= sep_~i~0 1)} is VALID [2018-11-23 12:16:58,693 INFO L273 TraceCheckUtils]: 36: Hoare triple {5736#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5746#(<= sep_~i~0 2)} is VALID [2018-11-23 12:16:58,693 INFO L273 TraceCheckUtils]: 37: Hoare triple {5746#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5746#(<= sep_~i~0 2)} is VALID [2018-11-23 12:16:58,694 INFO L273 TraceCheckUtils]: 38: Hoare triple {5746#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5746#(<= sep_~i~0 2)} is VALID [2018-11-23 12:16:58,694 INFO L273 TraceCheckUtils]: 39: Hoare triple {5746#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5756#(<= sep_~i~0 3)} is VALID [2018-11-23 12:16:58,695 INFO L273 TraceCheckUtils]: 40: Hoare triple {5756#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5756#(<= sep_~i~0 3)} is VALID [2018-11-23 12:16:58,695 INFO L273 TraceCheckUtils]: 41: Hoare triple {5756#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5756#(<= sep_~i~0 3)} is VALID [2018-11-23 12:16:58,696 INFO L273 TraceCheckUtils]: 42: Hoare triple {5756#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5766#(<= sep_~i~0 4)} is VALID [2018-11-23 12:16:58,697 INFO L273 TraceCheckUtils]: 43: Hoare triple {5766#(<= sep_~i~0 4)} assume !(~i~0 < 20); {5620#false} is VALID [2018-11-23 12:16:58,697 INFO L273 TraceCheckUtils]: 44: Hoare triple {5620#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5620#false} is VALID [2018-11-23 12:16:58,697 INFO L273 TraceCheckUtils]: 45: Hoare triple {5620#false} assume true; {5620#false} is VALID [2018-11-23 12:16:58,697 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {5620#false} {5619#true} #75#return; {5620#false} is VALID [2018-11-23 12:16:58,698 INFO L273 TraceCheckUtils]: 47: Hoare triple {5620#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {5620#false} is VALID [2018-11-23 12:16:58,698 INFO L256 TraceCheckUtils]: 48: Hoare triple {5620#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {5620#false} is VALID [2018-11-23 12:16:58,698 INFO L273 TraceCheckUtils]: 49: Hoare triple {5620#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5620#false} is VALID [2018-11-23 12:16:58,698 INFO L273 TraceCheckUtils]: 50: Hoare triple {5620#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:16:58,698 INFO L273 TraceCheckUtils]: 51: Hoare triple {5620#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5620#false} is VALID [2018-11-23 12:16:58,699 INFO L273 TraceCheckUtils]: 52: Hoare triple {5620#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5620#false} is VALID [2018-11-23 12:16:58,699 INFO L273 TraceCheckUtils]: 53: Hoare triple {5620#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:16:58,699 INFO L273 TraceCheckUtils]: 54: Hoare triple {5620#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5620#false} is VALID [2018-11-23 12:16:58,699 INFO L273 TraceCheckUtils]: 55: Hoare triple {5620#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5620#false} is VALID [2018-11-23 12:16:58,699 INFO L273 TraceCheckUtils]: 56: Hoare triple {5620#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:16:58,700 INFO L273 TraceCheckUtils]: 57: Hoare triple {5620#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5620#false} is VALID [2018-11-23 12:16:58,700 INFO L273 TraceCheckUtils]: 58: Hoare triple {5620#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5620#false} is VALID [2018-11-23 12:16:58,700 INFO L273 TraceCheckUtils]: 59: Hoare triple {5620#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:16:58,700 INFO L273 TraceCheckUtils]: 60: Hoare triple {5620#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5620#false} is VALID [2018-11-23 12:16:58,700 INFO L273 TraceCheckUtils]: 61: Hoare triple {5620#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5620#false} is VALID [2018-11-23 12:16:58,701 INFO L273 TraceCheckUtils]: 62: Hoare triple {5620#false} assume !(~i~0 < 20); {5620#false} is VALID [2018-11-23 12:16:58,701 INFO L273 TraceCheckUtils]: 63: Hoare triple {5620#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5620#false} is VALID [2018-11-23 12:16:58,701 INFO L273 TraceCheckUtils]: 64: Hoare triple {5620#false} assume true; {5620#false} is VALID [2018-11-23 12:16:58,701 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {5620#false} {5620#false} #77#return; {5620#false} is VALID [2018-11-23 12:16:58,701 INFO L273 TraceCheckUtils]: 66: Hoare triple {5620#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {5620#false} is VALID [2018-11-23 12:16:58,701 INFO L273 TraceCheckUtils]: 67: Hoare triple {5620#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {5620#false} is VALID [2018-11-23 12:16:58,701 INFO L273 TraceCheckUtils]: 68: Hoare triple {5620#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {5620#false} is VALID [2018-11-23 12:16:58,702 INFO L273 TraceCheckUtils]: 69: Hoare triple {5620#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {5620#false} is VALID [2018-11-23 12:16:58,702 INFO L273 TraceCheckUtils]: 70: Hoare triple {5620#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {5620#false} is VALID [2018-11-23 12:16:58,702 INFO L273 TraceCheckUtils]: 71: Hoare triple {5620#false} assume !(~i~2 < 19); {5620#false} is VALID [2018-11-23 12:16:58,702 INFO L273 TraceCheckUtils]: 72: Hoare triple {5620#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {5620#false} is VALID [2018-11-23 12:16:58,702 INFO L256 TraceCheckUtils]: 73: Hoare triple {5620#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {5620#false} is VALID [2018-11-23 12:16:58,702 INFO L273 TraceCheckUtils]: 74: Hoare triple {5620#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5620#false} is VALID [2018-11-23 12:16:58,702 INFO L273 TraceCheckUtils]: 75: Hoare triple {5620#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:16:58,702 INFO L273 TraceCheckUtils]: 76: Hoare triple {5620#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5620#false} is VALID [2018-11-23 12:16:58,702 INFO L273 TraceCheckUtils]: 77: Hoare triple {5620#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5620#false} is VALID [2018-11-23 12:16:58,703 INFO L273 TraceCheckUtils]: 78: Hoare triple {5620#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:16:58,703 INFO L273 TraceCheckUtils]: 79: Hoare triple {5620#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5620#false} is VALID [2018-11-23 12:16:58,703 INFO L273 TraceCheckUtils]: 80: Hoare triple {5620#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5620#false} is VALID [2018-11-23 12:16:58,703 INFO L273 TraceCheckUtils]: 81: Hoare triple {5620#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:16:58,703 INFO L273 TraceCheckUtils]: 82: Hoare triple {5620#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5620#false} is VALID [2018-11-23 12:16:58,703 INFO L273 TraceCheckUtils]: 83: Hoare triple {5620#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5620#false} is VALID [2018-11-23 12:16:58,703 INFO L273 TraceCheckUtils]: 84: Hoare triple {5620#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:16:58,703 INFO L273 TraceCheckUtils]: 85: Hoare triple {5620#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {5620#false} is VALID [2018-11-23 12:16:58,703 INFO L273 TraceCheckUtils]: 86: Hoare triple {5620#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5620#false} is VALID [2018-11-23 12:16:58,704 INFO L273 TraceCheckUtils]: 87: Hoare triple {5620#false} assume !(~i~0 < 20); {5620#false} is VALID [2018-11-23 12:16:58,704 INFO L273 TraceCheckUtils]: 88: Hoare triple {5620#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5620#false} is VALID [2018-11-23 12:16:58,704 INFO L273 TraceCheckUtils]: 89: Hoare triple {5620#false} assume true; {5620#false} is VALID [2018-11-23 12:16:58,704 INFO L268 TraceCheckUtils]: 90: Hoare quadruple {5620#false} {5620#false} #79#return; {5620#false} is VALID [2018-11-23 12:16:58,704 INFO L273 TraceCheckUtils]: 91: Hoare triple {5620#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {5620#false} is VALID [2018-11-23 12:16:58,704 INFO L273 TraceCheckUtils]: 92: Hoare triple {5620#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5620#false} is VALID [2018-11-23 12:16:58,704 INFO L273 TraceCheckUtils]: 93: Hoare triple {5620#false} assume !false; {5620#false} is VALID [2018-11-23 12:16:58,708 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 116 proven. 22 refuted. 0 times theorem prover too weak. 236 trivial. 0 not checked. [2018-11-23 12:16:58,728 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:58,728 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 7] total 19 [2018-11-23 12:16:58,728 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 94 [2018-11-23 12:16:58,729 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:58,729 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:16:58,837 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:58,837 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:16:58,837 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:16:58,838 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=231, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:16:58,838 INFO L87 Difference]: Start difference. First operand 61 states and 69 transitions. Second operand 19 states. [2018-11-23 12:16:59,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:59,132 INFO L93 Difference]: Finished difference Result 101 states and 123 transitions. [2018-11-23 12:16:59,132 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 12:16:59,132 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 94 [2018-11-23 12:16:59,132 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:59,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:16:59,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 104 transitions. [2018-11-23 12:16:59,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:16:59,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 104 transitions. [2018-11-23 12:16:59,136 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 104 transitions. [2018-11-23 12:16:59,651 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:59,653 INFO L225 Difference]: With dead ends: 101 [2018-11-23 12:16:59,653 INFO L226 Difference]: Without dead ends: 69 [2018-11-23 12:16:59,656 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 90 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=111, Invalid=231, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:16:59,657 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2018-11-23 12:16:59,688 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 66. [2018-11-23 12:16:59,689 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:59,689 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand 66 states. [2018-11-23 12:16:59,689 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 66 states. [2018-11-23 12:16:59,689 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 66 states. [2018-11-23 12:16:59,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:59,692 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2018-11-23 12:16:59,692 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2018-11-23 12:16:59,692 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:59,692 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:59,692 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 69 states. [2018-11-23 12:16:59,692 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 69 states. [2018-11-23 12:16:59,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:59,694 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2018-11-23 12:16:59,694 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2018-11-23 12:16:59,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:59,695 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:59,695 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:59,695 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:59,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 66 states. [2018-11-23 12:16:59,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 75 transitions. [2018-11-23 12:16:59,697 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 75 transitions. Word has length 94 [2018-11-23 12:16:59,697 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:59,697 INFO L480 AbstractCegarLoop]: Abstraction has 66 states and 75 transitions. [2018-11-23 12:16:59,697 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:16:59,697 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 75 transitions. [2018-11-23 12:16:59,698 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2018-11-23 12:16:59,698 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:59,698 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 15, 12, 12, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:16:59,699 INFO L423 AbstractCegarLoop]: === Iteration 16 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:59,699 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:59,699 INFO L82 PathProgramCache]: Analyzing trace with hash -135209269, now seen corresponding path program 12 times [2018-11-23 12:16:59,699 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:59,699 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:59,700 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:59,700 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:59,700 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:59,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:00,017 INFO L256 TraceCheckUtils]: 0: Hoare triple {6296#true} call ULTIMATE.init(); {6296#true} is VALID [2018-11-23 12:17:00,017 INFO L273 TraceCheckUtils]: 1: Hoare triple {6296#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6296#true} is VALID [2018-11-23 12:17:00,017 INFO L273 TraceCheckUtils]: 2: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:00,018 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6296#true} {6296#true} #71#return; {6296#true} is VALID [2018-11-23 12:17:00,018 INFO L256 TraceCheckUtils]: 4: Hoare triple {6296#true} call #t~ret14 := main(); {6296#true} is VALID [2018-11-23 12:17:00,030 INFO L273 TraceCheckUtils]: 5: Hoare triple {6296#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {6298#(= main_~i~1 0)} is VALID [2018-11-23 12:17:00,030 INFO L273 TraceCheckUtils]: 6: Hoare triple {6298#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6298#(= main_~i~1 0)} is VALID [2018-11-23 12:17:00,031 INFO L273 TraceCheckUtils]: 7: Hoare triple {6298#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6299#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:00,031 INFO L273 TraceCheckUtils]: 8: Hoare triple {6299#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6299#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:00,032 INFO L273 TraceCheckUtils]: 9: Hoare triple {6299#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6300#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:00,032 INFO L273 TraceCheckUtils]: 10: Hoare triple {6300#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6300#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:00,032 INFO L273 TraceCheckUtils]: 11: Hoare triple {6300#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6301#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:00,033 INFO L273 TraceCheckUtils]: 12: Hoare triple {6301#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6301#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:00,034 INFO L273 TraceCheckUtils]: 13: Hoare triple {6301#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6302#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:00,034 INFO L273 TraceCheckUtils]: 14: Hoare triple {6302#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6302#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:00,035 INFO L273 TraceCheckUtils]: 15: Hoare triple {6302#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6303#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:00,036 INFO L273 TraceCheckUtils]: 16: Hoare triple {6303#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6303#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:00,036 INFO L273 TraceCheckUtils]: 17: Hoare triple {6303#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6304#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:00,037 INFO L273 TraceCheckUtils]: 18: Hoare triple {6304#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6304#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:00,038 INFO L273 TraceCheckUtils]: 19: Hoare triple {6304#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6305#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:00,038 INFO L273 TraceCheckUtils]: 20: Hoare triple {6305#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6305#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:00,039 INFO L273 TraceCheckUtils]: 21: Hoare triple {6305#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6306#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:00,039 INFO L273 TraceCheckUtils]: 22: Hoare triple {6306#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6306#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:00,040 INFO L273 TraceCheckUtils]: 23: Hoare triple {6306#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6307#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:00,041 INFO L273 TraceCheckUtils]: 24: Hoare triple {6307#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6307#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:00,041 INFO L273 TraceCheckUtils]: 25: Hoare triple {6307#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6308#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:00,042 INFO L273 TraceCheckUtils]: 26: Hoare triple {6308#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6308#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:00,043 INFO L273 TraceCheckUtils]: 27: Hoare triple {6308#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6309#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:00,043 INFO L273 TraceCheckUtils]: 28: Hoare triple {6309#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6309#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:00,044 INFO L273 TraceCheckUtils]: 29: Hoare triple {6309#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6310#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:00,045 INFO L273 TraceCheckUtils]: 30: Hoare triple {6310#(<= main_~i~1 12)} assume !(~i~1 < 20); {6297#false} is VALID [2018-11-23 12:17:00,045 INFO L256 TraceCheckUtils]: 31: Hoare triple {6297#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {6296#true} is VALID [2018-11-23 12:17:00,045 INFO L273 TraceCheckUtils]: 32: Hoare triple {6296#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {6296#true} is VALID [2018-11-23 12:17:00,045 INFO L273 TraceCheckUtils]: 33: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,046 INFO L273 TraceCheckUtils]: 34: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,046 INFO L273 TraceCheckUtils]: 35: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,046 INFO L273 TraceCheckUtils]: 36: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,046 INFO L273 TraceCheckUtils]: 37: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,046 INFO L273 TraceCheckUtils]: 38: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,047 INFO L273 TraceCheckUtils]: 39: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,047 INFO L273 TraceCheckUtils]: 40: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,047 INFO L273 TraceCheckUtils]: 41: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,047 INFO L273 TraceCheckUtils]: 42: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,047 INFO L273 TraceCheckUtils]: 43: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,048 INFO L273 TraceCheckUtils]: 44: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,048 INFO L273 TraceCheckUtils]: 45: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,048 INFO L273 TraceCheckUtils]: 46: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,048 INFO L273 TraceCheckUtils]: 47: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,048 INFO L273 TraceCheckUtils]: 48: Hoare triple {6296#true} assume !(~i~0 < 20); {6296#true} is VALID [2018-11-23 12:17:00,049 INFO L273 TraceCheckUtils]: 49: Hoare triple {6296#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {6296#true} is VALID [2018-11-23 12:17:00,049 INFO L273 TraceCheckUtils]: 50: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:00,049 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {6296#true} {6297#false} #75#return; {6297#false} is VALID [2018-11-23 12:17:00,049 INFO L273 TraceCheckUtils]: 52: Hoare triple {6297#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {6297#false} is VALID [2018-11-23 12:17:00,049 INFO L256 TraceCheckUtils]: 53: Hoare triple {6297#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {6296#true} is VALID [2018-11-23 12:17:00,050 INFO L273 TraceCheckUtils]: 54: Hoare triple {6296#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {6296#true} is VALID [2018-11-23 12:17:00,050 INFO L273 TraceCheckUtils]: 55: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,050 INFO L273 TraceCheckUtils]: 56: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,050 INFO L273 TraceCheckUtils]: 57: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,050 INFO L273 TraceCheckUtils]: 58: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,050 INFO L273 TraceCheckUtils]: 59: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,050 INFO L273 TraceCheckUtils]: 60: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,050 INFO L273 TraceCheckUtils]: 61: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,050 INFO L273 TraceCheckUtils]: 62: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,051 INFO L273 TraceCheckUtils]: 63: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,051 INFO L273 TraceCheckUtils]: 64: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,051 INFO L273 TraceCheckUtils]: 65: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,051 INFO L273 TraceCheckUtils]: 66: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,051 INFO L273 TraceCheckUtils]: 67: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,051 INFO L273 TraceCheckUtils]: 68: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,051 INFO L273 TraceCheckUtils]: 69: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,051 INFO L273 TraceCheckUtils]: 70: Hoare triple {6296#true} assume !(~i~0 < 20); {6296#true} is VALID [2018-11-23 12:17:00,052 INFO L273 TraceCheckUtils]: 71: Hoare triple {6296#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {6296#true} is VALID [2018-11-23 12:17:00,052 INFO L273 TraceCheckUtils]: 72: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:00,052 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {6296#true} {6297#false} #77#return; {6297#false} is VALID [2018-11-23 12:17:00,052 INFO L273 TraceCheckUtils]: 74: Hoare triple {6297#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {6297#false} is VALID [2018-11-23 12:17:00,052 INFO L273 TraceCheckUtils]: 75: Hoare triple {6297#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {6297#false} is VALID [2018-11-23 12:17:00,052 INFO L273 TraceCheckUtils]: 76: Hoare triple {6297#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {6297#false} is VALID [2018-11-23 12:17:00,052 INFO L273 TraceCheckUtils]: 77: Hoare triple {6297#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {6297#false} is VALID [2018-11-23 12:17:00,052 INFO L273 TraceCheckUtils]: 78: Hoare triple {6297#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {6297#false} is VALID [2018-11-23 12:17:00,052 INFO L273 TraceCheckUtils]: 79: Hoare triple {6297#false} assume !(~i~2 < 19); {6297#false} is VALID [2018-11-23 12:17:00,053 INFO L273 TraceCheckUtils]: 80: Hoare triple {6297#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {6297#false} is VALID [2018-11-23 12:17:00,053 INFO L256 TraceCheckUtils]: 81: Hoare triple {6297#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {6296#true} is VALID [2018-11-23 12:17:00,053 INFO L273 TraceCheckUtils]: 82: Hoare triple {6296#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {6296#true} is VALID [2018-11-23 12:17:00,053 INFO L273 TraceCheckUtils]: 83: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,053 INFO L273 TraceCheckUtils]: 84: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,053 INFO L273 TraceCheckUtils]: 85: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,053 INFO L273 TraceCheckUtils]: 86: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,053 INFO L273 TraceCheckUtils]: 87: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,053 INFO L273 TraceCheckUtils]: 88: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,054 INFO L273 TraceCheckUtils]: 89: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,054 INFO L273 TraceCheckUtils]: 90: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,054 INFO L273 TraceCheckUtils]: 91: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,054 INFO L273 TraceCheckUtils]: 92: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,054 INFO L273 TraceCheckUtils]: 93: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,054 INFO L273 TraceCheckUtils]: 94: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,054 INFO L273 TraceCheckUtils]: 95: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,054 INFO L273 TraceCheckUtils]: 96: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,055 INFO L273 TraceCheckUtils]: 97: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,055 INFO L273 TraceCheckUtils]: 98: Hoare triple {6296#true} assume !(~i~0 < 20); {6296#true} is VALID [2018-11-23 12:17:00,055 INFO L273 TraceCheckUtils]: 99: Hoare triple {6296#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {6296#true} is VALID [2018-11-23 12:17:00,055 INFO L273 TraceCheckUtils]: 100: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:00,055 INFO L268 TraceCheckUtils]: 101: Hoare quadruple {6296#true} {6297#false} #79#return; {6297#false} is VALID [2018-11-23 12:17:00,055 INFO L273 TraceCheckUtils]: 102: Hoare triple {6297#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {6297#false} is VALID [2018-11-23 12:17:00,055 INFO L273 TraceCheckUtils]: 103: Hoare triple {6297#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {6297#false} is VALID [2018-11-23 12:17:00,055 INFO L273 TraceCheckUtils]: 104: Hoare triple {6297#false} assume !false; {6297#false} is VALID [2018-11-23 12:17:00,060 INFO L134 CoverageAnalysis]: Checked inductivity of 523 backedges. 0 proven. 144 refuted. 0 times theorem prover too weak. 379 trivial. 0 not checked. [2018-11-23 12:17:00,060 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:00,060 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:00,069 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:17:00,137 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2018-11-23 12:17:00,137 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:00,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:00,163 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:00,448 INFO L256 TraceCheckUtils]: 0: Hoare triple {6296#true} call ULTIMATE.init(); {6296#true} is VALID [2018-11-23 12:17:00,448 INFO L273 TraceCheckUtils]: 1: Hoare triple {6296#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6296#true} is VALID [2018-11-23 12:17:00,448 INFO L273 TraceCheckUtils]: 2: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:00,449 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6296#true} {6296#true} #71#return; {6296#true} is VALID [2018-11-23 12:17:00,449 INFO L256 TraceCheckUtils]: 4: Hoare triple {6296#true} call #t~ret14 := main(); {6296#true} is VALID [2018-11-23 12:17:00,449 INFO L273 TraceCheckUtils]: 5: Hoare triple {6296#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {6296#true} is VALID [2018-11-23 12:17:00,449 INFO L273 TraceCheckUtils]: 6: Hoare triple {6296#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6296#true} is VALID [2018-11-23 12:17:00,449 INFO L273 TraceCheckUtils]: 7: Hoare triple {6296#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6296#true} is VALID [2018-11-23 12:17:00,449 INFO L273 TraceCheckUtils]: 8: Hoare triple {6296#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6296#true} is VALID [2018-11-23 12:17:00,449 INFO L273 TraceCheckUtils]: 9: Hoare triple {6296#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6296#true} is VALID [2018-11-23 12:17:00,449 INFO L273 TraceCheckUtils]: 10: Hoare triple {6296#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6296#true} is VALID [2018-11-23 12:17:00,450 INFO L273 TraceCheckUtils]: 11: Hoare triple {6296#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6296#true} is VALID [2018-11-23 12:17:00,450 INFO L273 TraceCheckUtils]: 12: Hoare triple {6296#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6296#true} is VALID [2018-11-23 12:17:00,450 INFO L273 TraceCheckUtils]: 13: Hoare triple {6296#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6296#true} is VALID [2018-11-23 12:17:00,450 INFO L273 TraceCheckUtils]: 14: Hoare triple {6296#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6296#true} is VALID [2018-11-23 12:17:00,450 INFO L273 TraceCheckUtils]: 15: Hoare triple {6296#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6296#true} is VALID [2018-11-23 12:17:00,450 INFO L273 TraceCheckUtils]: 16: Hoare triple {6296#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6296#true} is VALID [2018-11-23 12:17:00,450 INFO L273 TraceCheckUtils]: 17: Hoare triple {6296#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6296#true} is VALID [2018-11-23 12:17:00,450 INFO L273 TraceCheckUtils]: 18: Hoare triple {6296#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6296#true} is VALID [2018-11-23 12:17:00,450 INFO L273 TraceCheckUtils]: 19: Hoare triple {6296#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6296#true} is VALID [2018-11-23 12:17:00,451 INFO L273 TraceCheckUtils]: 20: Hoare triple {6296#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6296#true} is VALID [2018-11-23 12:17:00,451 INFO L273 TraceCheckUtils]: 21: Hoare triple {6296#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6296#true} is VALID [2018-11-23 12:17:00,451 INFO L273 TraceCheckUtils]: 22: Hoare triple {6296#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6296#true} is VALID [2018-11-23 12:17:00,451 INFO L273 TraceCheckUtils]: 23: Hoare triple {6296#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6296#true} is VALID [2018-11-23 12:17:00,451 INFO L273 TraceCheckUtils]: 24: Hoare triple {6296#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6296#true} is VALID [2018-11-23 12:17:00,451 INFO L273 TraceCheckUtils]: 25: Hoare triple {6296#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6296#true} is VALID [2018-11-23 12:17:00,451 INFO L273 TraceCheckUtils]: 26: Hoare triple {6296#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6296#true} is VALID [2018-11-23 12:17:00,451 INFO L273 TraceCheckUtils]: 27: Hoare triple {6296#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6296#true} is VALID [2018-11-23 12:17:00,451 INFO L273 TraceCheckUtils]: 28: Hoare triple {6296#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6296#true} is VALID [2018-11-23 12:17:00,452 INFO L273 TraceCheckUtils]: 29: Hoare triple {6296#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6296#true} is VALID [2018-11-23 12:17:00,452 INFO L273 TraceCheckUtils]: 30: Hoare triple {6296#true} assume !(~i~1 < 20); {6296#true} is VALID [2018-11-23 12:17:00,452 INFO L256 TraceCheckUtils]: 31: Hoare triple {6296#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {6296#true} is VALID [2018-11-23 12:17:00,452 INFO L273 TraceCheckUtils]: 32: Hoare triple {6296#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {6296#true} is VALID [2018-11-23 12:17:00,452 INFO L273 TraceCheckUtils]: 33: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,452 INFO L273 TraceCheckUtils]: 34: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,452 INFO L273 TraceCheckUtils]: 35: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,452 INFO L273 TraceCheckUtils]: 36: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,453 INFO L273 TraceCheckUtils]: 37: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,453 INFO L273 TraceCheckUtils]: 38: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,453 INFO L273 TraceCheckUtils]: 39: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,453 INFO L273 TraceCheckUtils]: 40: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,453 INFO L273 TraceCheckUtils]: 41: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,453 INFO L273 TraceCheckUtils]: 42: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,453 INFO L273 TraceCheckUtils]: 43: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,453 INFO L273 TraceCheckUtils]: 44: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,453 INFO L273 TraceCheckUtils]: 45: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,454 INFO L273 TraceCheckUtils]: 46: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,454 INFO L273 TraceCheckUtils]: 47: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,454 INFO L273 TraceCheckUtils]: 48: Hoare triple {6296#true} assume !(~i~0 < 20); {6296#true} is VALID [2018-11-23 12:17:00,454 INFO L273 TraceCheckUtils]: 49: Hoare triple {6296#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {6296#true} is VALID [2018-11-23 12:17:00,454 INFO L273 TraceCheckUtils]: 50: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:00,454 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {6296#true} {6296#true} #75#return; {6296#true} is VALID [2018-11-23 12:17:00,454 INFO L273 TraceCheckUtils]: 52: Hoare triple {6296#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {6296#true} is VALID [2018-11-23 12:17:00,454 INFO L256 TraceCheckUtils]: 53: Hoare triple {6296#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {6296#true} is VALID [2018-11-23 12:17:00,455 INFO L273 TraceCheckUtils]: 54: Hoare triple {6296#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {6296#true} is VALID [2018-11-23 12:17:00,455 INFO L273 TraceCheckUtils]: 55: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,455 INFO L273 TraceCheckUtils]: 56: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,455 INFO L273 TraceCheckUtils]: 57: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,455 INFO L273 TraceCheckUtils]: 58: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,455 INFO L273 TraceCheckUtils]: 59: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,455 INFO L273 TraceCheckUtils]: 60: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,455 INFO L273 TraceCheckUtils]: 61: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,455 INFO L273 TraceCheckUtils]: 62: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,456 INFO L273 TraceCheckUtils]: 63: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,456 INFO L273 TraceCheckUtils]: 64: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,456 INFO L273 TraceCheckUtils]: 65: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,456 INFO L273 TraceCheckUtils]: 66: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,456 INFO L273 TraceCheckUtils]: 67: Hoare triple {6296#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:00,456 INFO L273 TraceCheckUtils]: 68: Hoare triple {6296#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6296#true} is VALID [2018-11-23 12:17:00,456 INFO L273 TraceCheckUtils]: 69: Hoare triple {6296#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6296#true} is VALID [2018-11-23 12:17:00,456 INFO L273 TraceCheckUtils]: 70: Hoare triple {6296#true} assume !(~i~0 < 20); {6296#true} is VALID [2018-11-23 12:17:00,457 INFO L273 TraceCheckUtils]: 71: Hoare triple {6296#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {6296#true} is VALID [2018-11-23 12:17:00,457 INFO L273 TraceCheckUtils]: 72: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:00,457 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {6296#true} {6296#true} #77#return; {6296#true} is VALID [2018-11-23 12:17:00,458 INFO L273 TraceCheckUtils]: 74: Hoare triple {6296#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {6536#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:00,461 INFO L273 TraceCheckUtils]: 75: Hoare triple {6536#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {6536#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:00,461 INFO L273 TraceCheckUtils]: 76: Hoare triple {6536#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {6543#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:00,462 INFO L273 TraceCheckUtils]: 77: Hoare triple {6543#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {6543#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:00,462 INFO L273 TraceCheckUtils]: 78: Hoare triple {6543#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {6550#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:00,463 INFO L273 TraceCheckUtils]: 79: Hoare triple {6550#(<= main_~i~2 2)} assume !(~i~2 < 19); {6297#false} is VALID [2018-11-23 12:17:00,463 INFO L273 TraceCheckUtils]: 80: Hoare triple {6297#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {6297#false} is VALID [2018-11-23 12:17:00,463 INFO L256 TraceCheckUtils]: 81: Hoare triple {6297#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {6297#false} is VALID [2018-11-23 12:17:00,463 INFO L273 TraceCheckUtils]: 82: Hoare triple {6297#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {6297#false} is VALID [2018-11-23 12:17:00,463 INFO L273 TraceCheckUtils]: 83: Hoare triple {6297#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6297#false} is VALID [2018-11-23 12:17:00,463 INFO L273 TraceCheckUtils]: 84: Hoare triple {6297#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6297#false} is VALID [2018-11-23 12:17:00,463 INFO L273 TraceCheckUtils]: 85: Hoare triple {6297#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6297#false} is VALID [2018-11-23 12:17:00,464 INFO L273 TraceCheckUtils]: 86: Hoare triple {6297#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6297#false} is VALID [2018-11-23 12:17:00,464 INFO L273 TraceCheckUtils]: 87: Hoare triple {6297#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6297#false} is VALID [2018-11-23 12:17:00,464 INFO L273 TraceCheckUtils]: 88: Hoare triple {6297#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6297#false} is VALID [2018-11-23 12:17:00,464 INFO L273 TraceCheckUtils]: 89: Hoare triple {6297#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6297#false} is VALID [2018-11-23 12:17:00,464 INFO L273 TraceCheckUtils]: 90: Hoare triple {6297#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6297#false} is VALID [2018-11-23 12:17:00,465 INFO L273 TraceCheckUtils]: 91: Hoare triple {6297#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6297#false} is VALID [2018-11-23 12:17:00,465 INFO L273 TraceCheckUtils]: 92: Hoare triple {6297#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6297#false} is VALID [2018-11-23 12:17:00,465 INFO L273 TraceCheckUtils]: 93: Hoare triple {6297#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6297#false} is VALID [2018-11-23 12:17:00,465 INFO L273 TraceCheckUtils]: 94: Hoare triple {6297#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6297#false} is VALID [2018-11-23 12:17:00,465 INFO L273 TraceCheckUtils]: 95: Hoare triple {6297#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6297#false} is VALID [2018-11-23 12:17:00,465 INFO L273 TraceCheckUtils]: 96: Hoare triple {6297#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {6297#false} is VALID [2018-11-23 12:17:00,466 INFO L273 TraceCheckUtils]: 97: Hoare triple {6297#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6297#false} is VALID [2018-11-23 12:17:00,466 INFO L273 TraceCheckUtils]: 98: Hoare triple {6297#false} assume !(~i~0 < 20); {6297#false} is VALID [2018-11-23 12:17:00,466 INFO L273 TraceCheckUtils]: 99: Hoare triple {6297#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {6297#false} is VALID [2018-11-23 12:17:00,466 INFO L273 TraceCheckUtils]: 100: Hoare triple {6297#false} assume true; {6297#false} is VALID [2018-11-23 12:17:00,466 INFO L268 TraceCheckUtils]: 101: Hoare quadruple {6297#false} {6297#false} #79#return; {6297#false} is VALID [2018-11-23 12:17:00,466 INFO L273 TraceCheckUtils]: 102: Hoare triple {6297#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {6297#false} is VALID [2018-11-23 12:17:00,466 INFO L273 TraceCheckUtils]: 103: Hoare triple {6297#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {6297#false} is VALID [2018-11-23 12:17:00,466 INFO L273 TraceCheckUtils]: 104: Hoare triple {6297#false} assume !false; {6297#false} is VALID [2018-11-23 12:17:00,470 INFO L134 CoverageAnalysis]: Checked inductivity of 523 backedges. 180 proven. 4 refuted. 0 times theorem prover too weak. 339 trivial. 0 not checked. [2018-11-23 12:17:00,490 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:00,490 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 5] total 18 [2018-11-23 12:17:00,491 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 105 [2018-11-23 12:17:00,491 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:00,491 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:17:00,568 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:00,568 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:17:00,569 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:17:00,569 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=114, Invalid=192, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:17:00,570 INFO L87 Difference]: Start difference. First operand 66 states and 75 transitions. Second operand 18 states. [2018-11-23 12:17:01,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:01,246 INFO L93 Difference]: Finished difference Result 107 states and 126 transitions. [2018-11-23 12:17:01,246 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 12:17:01,246 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 105 [2018-11-23 12:17:01,246 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:01,246 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:17:01,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 89 transitions. [2018-11-23 12:17:01,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:17:01,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 89 transitions. [2018-11-23 12:17:01,249 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 89 transitions. [2018-11-23 12:17:02,389 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:02,394 INFO L225 Difference]: With dead ends: 107 [2018-11-23 12:17:02,394 INFO L226 Difference]: Without dead ends: 72 [2018-11-23 12:17:02,395 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 103 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=114, Invalid=192, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:17:02,395 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2018-11-23 12:17:02,924 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 70. [2018-11-23 12:17:02,924 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:02,925 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand 70 states. [2018-11-23 12:17:02,925 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 70 states. [2018-11-23 12:17:02,925 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 70 states. [2018-11-23 12:17:02,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:02,927 INFO L93 Difference]: Finished difference Result 72 states and 81 transitions. [2018-11-23 12:17:02,928 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 81 transitions. [2018-11-23 12:17:02,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:02,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:02,928 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 72 states. [2018-11-23 12:17:02,929 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 72 states. [2018-11-23 12:17:02,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:02,931 INFO L93 Difference]: Finished difference Result 72 states and 81 transitions. [2018-11-23 12:17:02,931 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 81 transitions. [2018-11-23 12:17:02,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:02,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:02,932 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:02,932 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:02,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 70 states. [2018-11-23 12:17:02,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 79 transitions. [2018-11-23 12:17:02,934 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 79 transitions. Word has length 105 [2018-11-23 12:17:02,935 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:02,935 INFO L480 AbstractCegarLoop]: Abstraction has 70 states and 79 transitions. [2018-11-23 12:17:02,935 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:17:02,935 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 79 transitions. [2018-11-23 12:17:02,936 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2018-11-23 12:17:02,936 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:02,937 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 15, 13, 13, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:02,937 INFO L423 AbstractCegarLoop]: === Iteration 17 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:02,937 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:02,937 INFO L82 PathProgramCache]: Analyzing trace with hash -929187861, now seen corresponding path program 13 times [2018-11-23 12:17:02,938 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:02,938 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:02,939 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:02,939 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:02,939 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:02,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:03,641 INFO L256 TraceCheckUtils]: 0: Hoare triple {7026#true} call ULTIMATE.init(); {7026#true} is VALID [2018-11-23 12:17:03,642 INFO L273 TraceCheckUtils]: 1: Hoare triple {7026#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7026#true} is VALID [2018-11-23 12:17:03,642 INFO L273 TraceCheckUtils]: 2: Hoare triple {7026#true} assume true; {7026#true} is VALID [2018-11-23 12:17:03,642 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7026#true} {7026#true} #71#return; {7026#true} is VALID [2018-11-23 12:17:03,642 INFO L256 TraceCheckUtils]: 4: Hoare triple {7026#true} call #t~ret14 := main(); {7026#true} is VALID [2018-11-23 12:17:03,643 INFO L273 TraceCheckUtils]: 5: Hoare triple {7026#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {7028#(= main_~i~1 0)} is VALID [2018-11-23 12:17:03,644 INFO L273 TraceCheckUtils]: 6: Hoare triple {7028#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7028#(= main_~i~1 0)} is VALID [2018-11-23 12:17:03,644 INFO L273 TraceCheckUtils]: 7: Hoare triple {7028#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7029#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:03,644 INFO L273 TraceCheckUtils]: 8: Hoare triple {7029#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7029#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:03,645 INFO L273 TraceCheckUtils]: 9: Hoare triple {7029#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7030#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:03,645 INFO L273 TraceCheckUtils]: 10: Hoare triple {7030#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7030#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:03,646 INFO L273 TraceCheckUtils]: 11: Hoare triple {7030#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7031#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:03,647 INFO L273 TraceCheckUtils]: 12: Hoare triple {7031#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7031#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:03,647 INFO L273 TraceCheckUtils]: 13: Hoare triple {7031#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7032#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:03,648 INFO L273 TraceCheckUtils]: 14: Hoare triple {7032#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7032#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:03,649 INFO L273 TraceCheckUtils]: 15: Hoare triple {7032#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7033#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:03,650 INFO L273 TraceCheckUtils]: 16: Hoare triple {7033#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7033#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:03,651 INFO L273 TraceCheckUtils]: 17: Hoare triple {7033#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7034#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:03,651 INFO L273 TraceCheckUtils]: 18: Hoare triple {7034#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7034#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:03,652 INFO L273 TraceCheckUtils]: 19: Hoare triple {7034#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7035#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:03,653 INFO L273 TraceCheckUtils]: 20: Hoare triple {7035#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7035#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:03,654 INFO L273 TraceCheckUtils]: 21: Hoare triple {7035#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7036#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:03,654 INFO L273 TraceCheckUtils]: 22: Hoare triple {7036#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7036#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:03,671 INFO L273 TraceCheckUtils]: 23: Hoare triple {7036#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7037#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:03,679 INFO L273 TraceCheckUtils]: 24: Hoare triple {7037#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7037#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:03,680 INFO L273 TraceCheckUtils]: 25: Hoare triple {7037#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7038#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:03,680 INFO L273 TraceCheckUtils]: 26: Hoare triple {7038#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7038#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:03,681 INFO L273 TraceCheckUtils]: 27: Hoare triple {7038#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7039#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:03,681 INFO L273 TraceCheckUtils]: 28: Hoare triple {7039#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7039#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:03,682 INFO L273 TraceCheckUtils]: 29: Hoare triple {7039#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7040#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:03,682 INFO L273 TraceCheckUtils]: 30: Hoare triple {7040#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7040#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:03,683 INFO L273 TraceCheckUtils]: 31: Hoare triple {7040#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7041#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:03,684 INFO L273 TraceCheckUtils]: 32: Hoare triple {7041#(<= main_~i~1 13)} assume !(~i~1 < 20); {7027#false} is VALID [2018-11-23 12:17:03,684 INFO L256 TraceCheckUtils]: 33: Hoare triple {7027#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {7026#true} is VALID [2018-11-23 12:17:03,685 INFO L273 TraceCheckUtils]: 34: Hoare triple {7026#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7026#true} is VALID [2018-11-23 12:17:03,685 INFO L273 TraceCheckUtils]: 35: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,685 INFO L273 TraceCheckUtils]: 36: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,686 INFO L273 TraceCheckUtils]: 37: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,686 INFO L273 TraceCheckUtils]: 38: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,686 INFO L273 TraceCheckUtils]: 39: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,687 INFO L273 TraceCheckUtils]: 40: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,687 INFO L273 TraceCheckUtils]: 41: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,687 INFO L273 TraceCheckUtils]: 42: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,688 INFO L273 TraceCheckUtils]: 43: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,688 INFO L273 TraceCheckUtils]: 44: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,688 INFO L273 TraceCheckUtils]: 45: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,688 INFO L273 TraceCheckUtils]: 46: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,688 INFO L273 TraceCheckUtils]: 47: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,688 INFO L273 TraceCheckUtils]: 48: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,689 INFO L273 TraceCheckUtils]: 49: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,689 INFO L273 TraceCheckUtils]: 50: Hoare triple {7026#true} assume !(~i~0 < 20); {7026#true} is VALID [2018-11-23 12:17:03,689 INFO L273 TraceCheckUtils]: 51: Hoare triple {7026#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7026#true} is VALID [2018-11-23 12:17:03,689 INFO L273 TraceCheckUtils]: 52: Hoare triple {7026#true} assume true; {7026#true} is VALID [2018-11-23 12:17:03,689 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {7026#true} {7027#false} #75#return; {7027#false} is VALID [2018-11-23 12:17:03,689 INFO L273 TraceCheckUtils]: 54: Hoare triple {7027#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {7027#false} is VALID [2018-11-23 12:17:03,690 INFO L256 TraceCheckUtils]: 55: Hoare triple {7027#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {7026#true} is VALID [2018-11-23 12:17:03,690 INFO L273 TraceCheckUtils]: 56: Hoare triple {7026#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7026#true} is VALID [2018-11-23 12:17:03,690 INFO L273 TraceCheckUtils]: 57: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,690 INFO L273 TraceCheckUtils]: 58: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,690 INFO L273 TraceCheckUtils]: 59: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,690 INFO L273 TraceCheckUtils]: 60: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,690 INFO L273 TraceCheckUtils]: 61: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,691 INFO L273 TraceCheckUtils]: 62: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,691 INFO L273 TraceCheckUtils]: 63: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,691 INFO L273 TraceCheckUtils]: 64: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,691 INFO L273 TraceCheckUtils]: 65: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,691 INFO L273 TraceCheckUtils]: 66: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,691 INFO L273 TraceCheckUtils]: 67: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,692 INFO L273 TraceCheckUtils]: 68: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,692 INFO L273 TraceCheckUtils]: 69: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,692 INFO L273 TraceCheckUtils]: 70: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,692 INFO L273 TraceCheckUtils]: 71: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,692 INFO L273 TraceCheckUtils]: 72: Hoare triple {7026#true} assume !(~i~0 < 20); {7026#true} is VALID [2018-11-23 12:17:03,692 INFO L273 TraceCheckUtils]: 73: Hoare triple {7026#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7026#true} is VALID [2018-11-23 12:17:03,692 INFO L273 TraceCheckUtils]: 74: Hoare triple {7026#true} assume true; {7026#true} is VALID [2018-11-23 12:17:03,693 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {7026#true} {7027#false} #77#return; {7027#false} is VALID [2018-11-23 12:17:03,693 INFO L273 TraceCheckUtils]: 76: Hoare triple {7027#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {7027#false} is VALID [2018-11-23 12:17:03,693 INFO L273 TraceCheckUtils]: 77: Hoare triple {7027#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7027#false} is VALID [2018-11-23 12:17:03,693 INFO L273 TraceCheckUtils]: 78: Hoare triple {7027#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7027#false} is VALID [2018-11-23 12:17:03,693 INFO L273 TraceCheckUtils]: 79: Hoare triple {7027#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7027#false} is VALID [2018-11-23 12:17:03,693 INFO L273 TraceCheckUtils]: 80: Hoare triple {7027#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7027#false} is VALID [2018-11-23 12:17:03,694 INFO L273 TraceCheckUtils]: 81: Hoare triple {7027#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7027#false} is VALID [2018-11-23 12:17:03,694 INFO L273 TraceCheckUtils]: 82: Hoare triple {7027#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7027#false} is VALID [2018-11-23 12:17:03,694 INFO L273 TraceCheckUtils]: 83: Hoare triple {7027#false} assume !(~i~2 < 19); {7027#false} is VALID [2018-11-23 12:17:03,694 INFO L273 TraceCheckUtils]: 84: Hoare triple {7027#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {7027#false} is VALID [2018-11-23 12:17:03,694 INFO L256 TraceCheckUtils]: 85: Hoare triple {7027#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {7026#true} is VALID [2018-11-23 12:17:03,694 INFO L273 TraceCheckUtils]: 86: Hoare triple {7026#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7026#true} is VALID [2018-11-23 12:17:03,695 INFO L273 TraceCheckUtils]: 87: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,695 INFO L273 TraceCheckUtils]: 88: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,695 INFO L273 TraceCheckUtils]: 89: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,695 INFO L273 TraceCheckUtils]: 90: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,695 INFO L273 TraceCheckUtils]: 91: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,695 INFO L273 TraceCheckUtils]: 92: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,695 INFO L273 TraceCheckUtils]: 93: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,696 INFO L273 TraceCheckUtils]: 94: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,696 INFO L273 TraceCheckUtils]: 95: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,696 INFO L273 TraceCheckUtils]: 96: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,696 INFO L273 TraceCheckUtils]: 97: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,696 INFO L273 TraceCheckUtils]: 98: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,696 INFO L273 TraceCheckUtils]: 99: Hoare triple {7026#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:03,697 INFO L273 TraceCheckUtils]: 100: Hoare triple {7026#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7026#true} is VALID [2018-11-23 12:17:03,697 INFO L273 TraceCheckUtils]: 101: Hoare triple {7026#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7026#true} is VALID [2018-11-23 12:17:03,697 INFO L273 TraceCheckUtils]: 102: Hoare triple {7026#true} assume !(~i~0 < 20); {7026#true} is VALID [2018-11-23 12:17:03,697 INFO L273 TraceCheckUtils]: 103: Hoare triple {7026#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7026#true} is VALID [2018-11-23 12:17:03,697 INFO L273 TraceCheckUtils]: 104: Hoare triple {7026#true} assume true; {7026#true} is VALID [2018-11-23 12:17:03,697 INFO L268 TraceCheckUtils]: 105: Hoare quadruple {7026#true} {7027#false} #79#return; {7027#false} is VALID [2018-11-23 12:17:03,697 INFO L273 TraceCheckUtils]: 106: Hoare triple {7027#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {7027#false} is VALID [2018-11-23 12:17:03,698 INFO L273 TraceCheckUtils]: 107: Hoare triple {7027#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7027#false} is VALID [2018-11-23 12:17:03,698 INFO L273 TraceCheckUtils]: 108: Hoare triple {7027#false} assume !false; {7027#false} is VALID [2018-11-23 12:17:03,710 INFO L134 CoverageAnalysis]: Checked inductivity of 553 backedges. 0 proven. 169 refuted. 0 times theorem prover too weak. 384 trivial. 0 not checked. [2018-11-23 12:17:03,710 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:03,710 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:03,720 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:03,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:03,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:03,825 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:04,013 INFO L256 TraceCheckUtils]: 0: Hoare triple {7026#true} call ULTIMATE.init(); {7026#true} is VALID [2018-11-23 12:17:04,013 INFO L273 TraceCheckUtils]: 1: Hoare triple {7026#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7026#true} is VALID [2018-11-23 12:17:04,014 INFO L273 TraceCheckUtils]: 2: Hoare triple {7026#true} assume true; {7026#true} is VALID [2018-11-23 12:17:04,014 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7026#true} {7026#true} #71#return; {7026#true} is VALID [2018-11-23 12:17:04,014 INFO L256 TraceCheckUtils]: 4: Hoare triple {7026#true} call #t~ret14 := main(); {7026#true} is VALID [2018-11-23 12:17:04,015 INFO L273 TraceCheckUtils]: 5: Hoare triple {7026#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {7060#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:04,016 INFO L273 TraceCheckUtils]: 6: Hoare triple {7060#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7060#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:04,016 INFO L273 TraceCheckUtils]: 7: Hoare triple {7060#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7029#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:04,017 INFO L273 TraceCheckUtils]: 8: Hoare triple {7029#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7029#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:04,017 INFO L273 TraceCheckUtils]: 9: Hoare triple {7029#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7030#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:04,018 INFO L273 TraceCheckUtils]: 10: Hoare triple {7030#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7030#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:04,018 INFO L273 TraceCheckUtils]: 11: Hoare triple {7030#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7031#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:04,019 INFO L273 TraceCheckUtils]: 12: Hoare triple {7031#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7031#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:04,020 INFO L273 TraceCheckUtils]: 13: Hoare triple {7031#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7032#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:04,021 INFO L273 TraceCheckUtils]: 14: Hoare triple {7032#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7032#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:04,022 INFO L273 TraceCheckUtils]: 15: Hoare triple {7032#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7033#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:04,022 INFO L273 TraceCheckUtils]: 16: Hoare triple {7033#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7033#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:04,023 INFO L273 TraceCheckUtils]: 17: Hoare triple {7033#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7034#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:04,024 INFO L273 TraceCheckUtils]: 18: Hoare triple {7034#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7034#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:04,025 INFO L273 TraceCheckUtils]: 19: Hoare triple {7034#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7035#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:04,025 INFO L273 TraceCheckUtils]: 20: Hoare triple {7035#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7035#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:04,026 INFO L273 TraceCheckUtils]: 21: Hoare triple {7035#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7036#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:04,027 INFO L273 TraceCheckUtils]: 22: Hoare triple {7036#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7036#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:04,028 INFO L273 TraceCheckUtils]: 23: Hoare triple {7036#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7037#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:04,028 INFO L273 TraceCheckUtils]: 24: Hoare triple {7037#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7037#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:04,029 INFO L273 TraceCheckUtils]: 25: Hoare triple {7037#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7038#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:04,030 INFO L273 TraceCheckUtils]: 26: Hoare triple {7038#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7038#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:04,031 INFO L273 TraceCheckUtils]: 27: Hoare triple {7038#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7039#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:04,031 INFO L273 TraceCheckUtils]: 28: Hoare triple {7039#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7039#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:04,032 INFO L273 TraceCheckUtils]: 29: Hoare triple {7039#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7040#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:04,033 INFO L273 TraceCheckUtils]: 30: Hoare triple {7040#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7040#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:04,034 INFO L273 TraceCheckUtils]: 31: Hoare triple {7040#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7041#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:04,035 INFO L273 TraceCheckUtils]: 32: Hoare triple {7041#(<= main_~i~1 13)} assume !(~i~1 < 20); {7027#false} is VALID [2018-11-23 12:17:04,035 INFO L256 TraceCheckUtils]: 33: Hoare triple {7027#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {7027#false} is VALID [2018-11-23 12:17:04,035 INFO L273 TraceCheckUtils]: 34: Hoare triple {7027#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7027#false} is VALID [2018-11-23 12:17:04,035 INFO L273 TraceCheckUtils]: 35: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,036 INFO L273 TraceCheckUtils]: 36: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,036 INFO L273 TraceCheckUtils]: 37: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,036 INFO L273 TraceCheckUtils]: 38: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,037 INFO L273 TraceCheckUtils]: 39: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,037 INFO L273 TraceCheckUtils]: 40: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,037 INFO L273 TraceCheckUtils]: 41: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,037 INFO L273 TraceCheckUtils]: 42: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,038 INFO L273 TraceCheckUtils]: 43: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,038 INFO L273 TraceCheckUtils]: 44: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,038 INFO L273 TraceCheckUtils]: 45: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,038 INFO L273 TraceCheckUtils]: 46: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,039 INFO L273 TraceCheckUtils]: 47: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,039 INFO L273 TraceCheckUtils]: 48: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,039 INFO L273 TraceCheckUtils]: 49: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,039 INFO L273 TraceCheckUtils]: 50: Hoare triple {7027#false} assume !(~i~0 < 20); {7027#false} is VALID [2018-11-23 12:17:04,040 INFO L273 TraceCheckUtils]: 51: Hoare triple {7027#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7027#false} is VALID [2018-11-23 12:17:04,040 INFO L273 TraceCheckUtils]: 52: Hoare triple {7027#false} assume true; {7027#false} is VALID [2018-11-23 12:17:04,040 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {7027#false} {7027#false} #75#return; {7027#false} is VALID [2018-11-23 12:17:04,040 INFO L273 TraceCheckUtils]: 54: Hoare triple {7027#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {7027#false} is VALID [2018-11-23 12:17:04,040 INFO L256 TraceCheckUtils]: 55: Hoare triple {7027#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {7027#false} is VALID [2018-11-23 12:17:04,041 INFO L273 TraceCheckUtils]: 56: Hoare triple {7027#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7027#false} is VALID [2018-11-23 12:17:04,041 INFO L273 TraceCheckUtils]: 57: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,041 INFO L273 TraceCheckUtils]: 58: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,041 INFO L273 TraceCheckUtils]: 59: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,041 INFO L273 TraceCheckUtils]: 60: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,041 INFO L273 TraceCheckUtils]: 61: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,041 INFO L273 TraceCheckUtils]: 62: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,042 INFO L273 TraceCheckUtils]: 63: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,042 INFO L273 TraceCheckUtils]: 64: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,042 INFO L273 TraceCheckUtils]: 65: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,042 INFO L273 TraceCheckUtils]: 66: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,042 INFO L273 TraceCheckUtils]: 67: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,042 INFO L273 TraceCheckUtils]: 68: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,043 INFO L273 TraceCheckUtils]: 69: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,043 INFO L273 TraceCheckUtils]: 70: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,043 INFO L273 TraceCheckUtils]: 71: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,043 INFO L273 TraceCheckUtils]: 72: Hoare triple {7027#false} assume !(~i~0 < 20); {7027#false} is VALID [2018-11-23 12:17:04,043 INFO L273 TraceCheckUtils]: 73: Hoare triple {7027#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7027#false} is VALID [2018-11-23 12:17:04,043 INFO L273 TraceCheckUtils]: 74: Hoare triple {7027#false} assume true; {7027#false} is VALID [2018-11-23 12:17:04,043 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {7027#false} {7027#false} #77#return; {7027#false} is VALID [2018-11-23 12:17:04,044 INFO L273 TraceCheckUtils]: 76: Hoare triple {7027#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {7027#false} is VALID [2018-11-23 12:17:04,044 INFO L273 TraceCheckUtils]: 77: Hoare triple {7027#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7027#false} is VALID [2018-11-23 12:17:04,044 INFO L273 TraceCheckUtils]: 78: Hoare triple {7027#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7027#false} is VALID [2018-11-23 12:17:04,044 INFO L273 TraceCheckUtils]: 79: Hoare triple {7027#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7027#false} is VALID [2018-11-23 12:17:04,044 INFO L273 TraceCheckUtils]: 80: Hoare triple {7027#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7027#false} is VALID [2018-11-23 12:17:04,044 INFO L273 TraceCheckUtils]: 81: Hoare triple {7027#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7027#false} is VALID [2018-11-23 12:17:04,045 INFO L273 TraceCheckUtils]: 82: Hoare triple {7027#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7027#false} is VALID [2018-11-23 12:17:04,045 INFO L273 TraceCheckUtils]: 83: Hoare triple {7027#false} assume !(~i~2 < 19); {7027#false} is VALID [2018-11-23 12:17:04,045 INFO L273 TraceCheckUtils]: 84: Hoare triple {7027#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {7027#false} is VALID [2018-11-23 12:17:04,045 INFO L256 TraceCheckUtils]: 85: Hoare triple {7027#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {7027#false} is VALID [2018-11-23 12:17:04,045 INFO L273 TraceCheckUtils]: 86: Hoare triple {7027#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7027#false} is VALID [2018-11-23 12:17:04,045 INFO L273 TraceCheckUtils]: 87: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,045 INFO L273 TraceCheckUtils]: 88: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,046 INFO L273 TraceCheckUtils]: 89: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,046 INFO L273 TraceCheckUtils]: 90: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,046 INFO L273 TraceCheckUtils]: 91: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,046 INFO L273 TraceCheckUtils]: 92: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,046 INFO L273 TraceCheckUtils]: 93: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,046 INFO L273 TraceCheckUtils]: 94: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,047 INFO L273 TraceCheckUtils]: 95: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,047 INFO L273 TraceCheckUtils]: 96: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,047 INFO L273 TraceCheckUtils]: 97: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,047 INFO L273 TraceCheckUtils]: 98: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,047 INFO L273 TraceCheckUtils]: 99: Hoare triple {7027#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:04,047 INFO L273 TraceCheckUtils]: 100: Hoare triple {7027#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7027#false} is VALID [2018-11-23 12:17:04,048 INFO L273 TraceCheckUtils]: 101: Hoare triple {7027#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7027#false} is VALID [2018-11-23 12:17:04,048 INFO L273 TraceCheckUtils]: 102: Hoare triple {7027#false} assume !(~i~0 < 20); {7027#false} is VALID [2018-11-23 12:17:04,048 INFO L273 TraceCheckUtils]: 103: Hoare triple {7027#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7027#false} is VALID [2018-11-23 12:17:04,048 INFO L273 TraceCheckUtils]: 104: Hoare triple {7027#false} assume true; {7027#false} is VALID [2018-11-23 12:17:04,048 INFO L268 TraceCheckUtils]: 105: Hoare quadruple {7027#false} {7027#false} #79#return; {7027#false} is VALID [2018-11-23 12:17:04,048 INFO L273 TraceCheckUtils]: 106: Hoare triple {7027#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {7027#false} is VALID [2018-11-23 12:17:04,048 INFO L273 TraceCheckUtils]: 107: Hoare triple {7027#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7027#false} is VALID [2018-11-23 12:17:04,049 INFO L273 TraceCheckUtils]: 108: Hoare triple {7027#false} assume !false; {7027#false} is VALID [2018-11-23 12:17:04,061 INFO L134 CoverageAnalysis]: Checked inductivity of 553 backedges. 0 proven. 169 refuted. 0 times theorem prover too weak. 384 trivial. 0 not checked. [2018-11-23 12:17:04,081 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:04,081 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 17 [2018-11-23 12:17:04,081 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 109 [2018-11-23 12:17:04,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:04,082 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 12:17:04,214 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:04,214 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 12:17:04,215 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 12:17:04,215 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:17:04,215 INFO L87 Difference]: Start difference. First operand 70 states and 79 transitions. Second operand 17 states. [2018-11-23 12:17:04,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:04,399 INFO L93 Difference]: Finished difference Result 110 states and 128 transitions. [2018-11-23 12:17:04,399 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:17:04,399 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 109 [2018-11-23 12:17:04,399 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:04,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:17:04,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 84 transitions. [2018-11-23 12:17:04,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:17:04,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 84 transitions. [2018-11-23 12:17:04,403 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 84 transitions. [2018-11-23 12:17:04,883 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:04,885 INFO L225 Difference]: With dead ends: 110 [2018-11-23 12:17:04,885 INFO L226 Difference]: Without dead ends: 73 [2018-11-23 12:17:04,886 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 109 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:17:04,886 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2018-11-23 12:17:04,908 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 72. [2018-11-23 12:17:04,909 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:04,909 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 72 states. [2018-11-23 12:17:04,909 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 72 states. [2018-11-23 12:17:04,909 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 72 states. [2018-11-23 12:17:04,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:04,913 INFO L93 Difference]: Finished difference Result 73 states and 82 transitions. [2018-11-23 12:17:04,913 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 82 transitions. [2018-11-23 12:17:04,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:04,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:04,914 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 73 states. [2018-11-23 12:17:04,914 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 73 states. [2018-11-23 12:17:04,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:04,916 INFO L93 Difference]: Finished difference Result 73 states and 82 transitions. [2018-11-23 12:17:04,917 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 82 transitions. [2018-11-23 12:17:04,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:04,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:04,917 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:04,917 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:04,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2018-11-23 12:17:04,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 81 transitions. [2018-11-23 12:17:04,921 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 81 transitions. Word has length 109 [2018-11-23 12:17:04,921 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:04,922 INFO L480 AbstractCegarLoop]: Abstraction has 72 states and 81 transitions. [2018-11-23 12:17:04,922 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 12:17:04,922 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 81 transitions. [2018-11-23 12:17:04,923 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2018-11-23 12:17:04,923 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:04,923 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 15, 14, 14, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:04,923 INFO L423 AbstractCegarLoop]: === Iteration 18 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:04,923 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:04,924 INFO L82 PathProgramCache]: Analyzing trace with hash -1783127159, now seen corresponding path program 14 times [2018-11-23 12:17:04,924 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:04,924 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:04,925 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:04,925 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:04,925 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:04,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:05,683 INFO L256 TraceCheckUtils]: 0: Hoare triple {7777#true} call ULTIMATE.init(); {7777#true} is VALID [2018-11-23 12:17:05,684 INFO L273 TraceCheckUtils]: 1: Hoare triple {7777#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7777#true} is VALID [2018-11-23 12:17:05,684 INFO L273 TraceCheckUtils]: 2: Hoare triple {7777#true} assume true; {7777#true} is VALID [2018-11-23 12:17:05,684 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7777#true} {7777#true} #71#return; {7777#true} is VALID [2018-11-23 12:17:05,684 INFO L256 TraceCheckUtils]: 4: Hoare triple {7777#true} call #t~ret14 := main(); {7777#true} is VALID [2018-11-23 12:17:05,685 INFO L273 TraceCheckUtils]: 5: Hoare triple {7777#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {7779#(= main_~i~1 0)} is VALID [2018-11-23 12:17:05,685 INFO L273 TraceCheckUtils]: 6: Hoare triple {7779#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7779#(= main_~i~1 0)} is VALID [2018-11-23 12:17:05,686 INFO L273 TraceCheckUtils]: 7: Hoare triple {7779#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7780#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:05,687 INFO L273 TraceCheckUtils]: 8: Hoare triple {7780#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7780#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:05,687 INFO L273 TraceCheckUtils]: 9: Hoare triple {7780#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7781#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:05,688 INFO L273 TraceCheckUtils]: 10: Hoare triple {7781#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7781#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:05,689 INFO L273 TraceCheckUtils]: 11: Hoare triple {7781#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7782#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:05,689 INFO L273 TraceCheckUtils]: 12: Hoare triple {7782#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7782#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:05,690 INFO L273 TraceCheckUtils]: 13: Hoare triple {7782#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7783#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:05,690 INFO L273 TraceCheckUtils]: 14: Hoare triple {7783#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7783#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:05,691 INFO L273 TraceCheckUtils]: 15: Hoare triple {7783#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7784#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:05,691 INFO L273 TraceCheckUtils]: 16: Hoare triple {7784#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7784#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:05,692 INFO L273 TraceCheckUtils]: 17: Hoare triple {7784#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7785#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:05,693 INFO L273 TraceCheckUtils]: 18: Hoare triple {7785#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7785#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:05,693 INFO L273 TraceCheckUtils]: 19: Hoare triple {7785#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7786#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:05,694 INFO L273 TraceCheckUtils]: 20: Hoare triple {7786#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7786#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:05,695 INFO L273 TraceCheckUtils]: 21: Hoare triple {7786#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7787#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:05,695 INFO L273 TraceCheckUtils]: 22: Hoare triple {7787#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7787#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:05,696 INFO L273 TraceCheckUtils]: 23: Hoare triple {7787#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7788#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:05,696 INFO L273 TraceCheckUtils]: 24: Hoare triple {7788#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7788#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:05,697 INFO L273 TraceCheckUtils]: 25: Hoare triple {7788#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7789#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:05,698 INFO L273 TraceCheckUtils]: 26: Hoare triple {7789#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7789#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:05,698 INFO L273 TraceCheckUtils]: 27: Hoare triple {7789#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7790#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:05,699 INFO L273 TraceCheckUtils]: 28: Hoare triple {7790#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7790#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:05,700 INFO L273 TraceCheckUtils]: 29: Hoare triple {7790#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7791#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:05,700 INFO L273 TraceCheckUtils]: 30: Hoare triple {7791#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7791#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:05,701 INFO L273 TraceCheckUtils]: 31: Hoare triple {7791#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7792#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:05,701 INFO L273 TraceCheckUtils]: 32: Hoare triple {7792#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7792#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:05,702 INFO L273 TraceCheckUtils]: 33: Hoare triple {7792#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7793#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:05,703 INFO L273 TraceCheckUtils]: 34: Hoare triple {7793#(<= main_~i~1 14)} assume !(~i~1 < 20); {7778#false} is VALID [2018-11-23 12:17:05,703 INFO L256 TraceCheckUtils]: 35: Hoare triple {7778#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {7777#true} is VALID [2018-11-23 12:17:05,703 INFO L273 TraceCheckUtils]: 36: Hoare triple {7777#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7777#true} is VALID [2018-11-23 12:17:05,703 INFO L273 TraceCheckUtils]: 37: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,704 INFO L273 TraceCheckUtils]: 38: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,704 INFO L273 TraceCheckUtils]: 39: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,704 INFO L273 TraceCheckUtils]: 40: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,704 INFO L273 TraceCheckUtils]: 41: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,704 INFO L273 TraceCheckUtils]: 42: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,705 INFO L273 TraceCheckUtils]: 43: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,705 INFO L273 TraceCheckUtils]: 44: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,705 INFO L273 TraceCheckUtils]: 45: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,705 INFO L273 TraceCheckUtils]: 46: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,705 INFO L273 TraceCheckUtils]: 47: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,706 INFO L273 TraceCheckUtils]: 48: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,706 INFO L273 TraceCheckUtils]: 49: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,706 INFO L273 TraceCheckUtils]: 50: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,706 INFO L273 TraceCheckUtils]: 51: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,706 INFO L273 TraceCheckUtils]: 52: Hoare triple {7777#true} assume !(~i~0 < 20); {7777#true} is VALID [2018-11-23 12:17:05,707 INFO L273 TraceCheckUtils]: 53: Hoare triple {7777#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7777#true} is VALID [2018-11-23 12:17:05,707 INFO L273 TraceCheckUtils]: 54: Hoare triple {7777#true} assume true; {7777#true} is VALID [2018-11-23 12:17:05,707 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {7777#true} {7778#false} #75#return; {7778#false} is VALID [2018-11-23 12:17:05,707 INFO L273 TraceCheckUtils]: 56: Hoare triple {7778#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {7778#false} is VALID [2018-11-23 12:17:05,707 INFO L256 TraceCheckUtils]: 57: Hoare triple {7778#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {7777#true} is VALID [2018-11-23 12:17:05,707 INFO L273 TraceCheckUtils]: 58: Hoare triple {7777#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7777#true} is VALID [2018-11-23 12:17:05,708 INFO L273 TraceCheckUtils]: 59: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,708 INFO L273 TraceCheckUtils]: 60: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,708 INFO L273 TraceCheckUtils]: 61: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,708 INFO L273 TraceCheckUtils]: 62: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,708 INFO L273 TraceCheckUtils]: 63: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,708 INFO L273 TraceCheckUtils]: 64: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,708 INFO L273 TraceCheckUtils]: 65: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,708 INFO L273 TraceCheckUtils]: 66: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,708 INFO L273 TraceCheckUtils]: 67: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,709 INFO L273 TraceCheckUtils]: 68: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,709 INFO L273 TraceCheckUtils]: 69: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,709 INFO L273 TraceCheckUtils]: 70: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,709 INFO L273 TraceCheckUtils]: 71: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,709 INFO L273 TraceCheckUtils]: 72: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,709 INFO L273 TraceCheckUtils]: 73: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,709 INFO L273 TraceCheckUtils]: 74: Hoare triple {7777#true} assume !(~i~0 < 20); {7777#true} is VALID [2018-11-23 12:17:05,709 INFO L273 TraceCheckUtils]: 75: Hoare triple {7777#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7777#true} is VALID [2018-11-23 12:17:05,709 INFO L273 TraceCheckUtils]: 76: Hoare triple {7777#true} assume true; {7777#true} is VALID [2018-11-23 12:17:05,710 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {7777#true} {7778#false} #77#return; {7778#false} is VALID [2018-11-23 12:17:05,710 INFO L273 TraceCheckUtils]: 78: Hoare triple {7778#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {7778#false} is VALID [2018-11-23 12:17:05,710 INFO L273 TraceCheckUtils]: 79: Hoare triple {7778#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7778#false} is VALID [2018-11-23 12:17:05,710 INFO L273 TraceCheckUtils]: 80: Hoare triple {7778#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7778#false} is VALID [2018-11-23 12:17:05,710 INFO L273 TraceCheckUtils]: 81: Hoare triple {7778#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7778#false} is VALID [2018-11-23 12:17:05,710 INFO L273 TraceCheckUtils]: 82: Hoare triple {7778#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7778#false} is VALID [2018-11-23 12:17:05,710 INFO L273 TraceCheckUtils]: 83: Hoare triple {7778#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7778#false} is VALID [2018-11-23 12:17:05,710 INFO L273 TraceCheckUtils]: 84: Hoare triple {7778#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7778#false} is VALID [2018-11-23 12:17:05,710 INFO L273 TraceCheckUtils]: 85: Hoare triple {7778#false} assume !(~i~2 < 19); {7778#false} is VALID [2018-11-23 12:17:05,711 INFO L273 TraceCheckUtils]: 86: Hoare triple {7778#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {7778#false} is VALID [2018-11-23 12:17:05,711 INFO L256 TraceCheckUtils]: 87: Hoare triple {7778#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {7777#true} is VALID [2018-11-23 12:17:05,711 INFO L273 TraceCheckUtils]: 88: Hoare triple {7777#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7777#true} is VALID [2018-11-23 12:17:05,711 INFO L273 TraceCheckUtils]: 89: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,711 INFO L273 TraceCheckUtils]: 90: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,711 INFO L273 TraceCheckUtils]: 91: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,711 INFO L273 TraceCheckUtils]: 92: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,711 INFO L273 TraceCheckUtils]: 93: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,712 INFO L273 TraceCheckUtils]: 94: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,712 INFO L273 TraceCheckUtils]: 95: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,712 INFO L273 TraceCheckUtils]: 96: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,712 INFO L273 TraceCheckUtils]: 97: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,712 INFO L273 TraceCheckUtils]: 98: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,712 INFO L273 TraceCheckUtils]: 99: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,712 INFO L273 TraceCheckUtils]: 100: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,712 INFO L273 TraceCheckUtils]: 101: Hoare triple {7777#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:05,712 INFO L273 TraceCheckUtils]: 102: Hoare triple {7777#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7777#true} is VALID [2018-11-23 12:17:05,713 INFO L273 TraceCheckUtils]: 103: Hoare triple {7777#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7777#true} is VALID [2018-11-23 12:17:05,713 INFO L273 TraceCheckUtils]: 104: Hoare triple {7777#true} assume !(~i~0 < 20); {7777#true} is VALID [2018-11-23 12:17:05,713 INFO L273 TraceCheckUtils]: 105: Hoare triple {7777#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7777#true} is VALID [2018-11-23 12:17:05,713 INFO L273 TraceCheckUtils]: 106: Hoare triple {7777#true} assume true; {7777#true} is VALID [2018-11-23 12:17:05,713 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {7777#true} {7778#false} #79#return; {7778#false} is VALID [2018-11-23 12:17:05,713 INFO L273 TraceCheckUtils]: 108: Hoare triple {7778#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {7778#false} is VALID [2018-11-23 12:17:05,713 INFO L273 TraceCheckUtils]: 109: Hoare triple {7778#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7778#false} is VALID [2018-11-23 12:17:05,713 INFO L273 TraceCheckUtils]: 110: Hoare triple {7778#false} assume !false; {7778#false} is VALID [2018-11-23 12:17:05,719 INFO L134 CoverageAnalysis]: Checked inductivity of 580 backedges. 0 proven. 196 refuted. 0 times theorem prover too weak. 384 trivial. 0 not checked. [2018-11-23 12:17:05,719 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:05,719 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:05,729 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:17:05,799 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:17:05,799 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:05,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:05,838 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:06,033 INFO L256 TraceCheckUtils]: 0: Hoare triple {7777#true} call ULTIMATE.init(); {7777#true} is VALID [2018-11-23 12:17:06,033 INFO L273 TraceCheckUtils]: 1: Hoare triple {7777#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7777#true} is VALID [2018-11-23 12:17:06,033 INFO L273 TraceCheckUtils]: 2: Hoare triple {7777#true} assume true; {7777#true} is VALID [2018-11-23 12:17:06,033 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7777#true} {7777#true} #71#return; {7777#true} is VALID [2018-11-23 12:17:06,034 INFO L256 TraceCheckUtils]: 4: Hoare triple {7777#true} call #t~ret14 := main(); {7777#true} is VALID [2018-11-23 12:17:06,035 INFO L273 TraceCheckUtils]: 5: Hoare triple {7777#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {7812#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:06,035 INFO L273 TraceCheckUtils]: 6: Hoare triple {7812#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7812#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:06,035 INFO L273 TraceCheckUtils]: 7: Hoare triple {7812#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7780#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:06,036 INFO L273 TraceCheckUtils]: 8: Hoare triple {7780#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7780#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:06,036 INFO L273 TraceCheckUtils]: 9: Hoare triple {7780#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7781#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:06,037 INFO L273 TraceCheckUtils]: 10: Hoare triple {7781#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7781#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:06,037 INFO L273 TraceCheckUtils]: 11: Hoare triple {7781#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7782#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:06,038 INFO L273 TraceCheckUtils]: 12: Hoare triple {7782#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7782#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:06,039 INFO L273 TraceCheckUtils]: 13: Hoare triple {7782#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7783#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:06,039 INFO L273 TraceCheckUtils]: 14: Hoare triple {7783#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7783#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:06,040 INFO L273 TraceCheckUtils]: 15: Hoare triple {7783#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7784#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:06,040 INFO L273 TraceCheckUtils]: 16: Hoare triple {7784#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7784#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:06,041 INFO L273 TraceCheckUtils]: 17: Hoare triple {7784#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7785#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:06,042 INFO L273 TraceCheckUtils]: 18: Hoare triple {7785#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7785#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:06,042 INFO L273 TraceCheckUtils]: 19: Hoare triple {7785#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7786#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:06,043 INFO L273 TraceCheckUtils]: 20: Hoare triple {7786#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7786#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:06,044 INFO L273 TraceCheckUtils]: 21: Hoare triple {7786#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7787#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:06,044 INFO L273 TraceCheckUtils]: 22: Hoare triple {7787#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7787#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:06,045 INFO L273 TraceCheckUtils]: 23: Hoare triple {7787#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7788#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:06,046 INFO L273 TraceCheckUtils]: 24: Hoare triple {7788#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7788#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:06,046 INFO L273 TraceCheckUtils]: 25: Hoare triple {7788#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7789#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:06,047 INFO L273 TraceCheckUtils]: 26: Hoare triple {7789#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7789#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:06,048 INFO L273 TraceCheckUtils]: 27: Hoare triple {7789#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7790#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:06,048 INFO L273 TraceCheckUtils]: 28: Hoare triple {7790#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7790#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:06,049 INFO L273 TraceCheckUtils]: 29: Hoare triple {7790#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7791#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:06,049 INFO L273 TraceCheckUtils]: 30: Hoare triple {7791#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7791#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:06,050 INFO L273 TraceCheckUtils]: 31: Hoare triple {7791#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7792#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:06,051 INFO L273 TraceCheckUtils]: 32: Hoare triple {7792#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7792#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:06,051 INFO L273 TraceCheckUtils]: 33: Hoare triple {7792#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7793#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:06,052 INFO L273 TraceCheckUtils]: 34: Hoare triple {7793#(<= main_~i~1 14)} assume !(~i~1 < 20); {7778#false} is VALID [2018-11-23 12:17:06,052 INFO L256 TraceCheckUtils]: 35: Hoare triple {7778#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {7778#false} is VALID [2018-11-23 12:17:06,053 INFO L273 TraceCheckUtils]: 36: Hoare triple {7778#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7778#false} is VALID [2018-11-23 12:17:06,053 INFO L273 TraceCheckUtils]: 37: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,053 INFO L273 TraceCheckUtils]: 38: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,053 INFO L273 TraceCheckUtils]: 39: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,053 INFO L273 TraceCheckUtils]: 40: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,054 INFO L273 TraceCheckUtils]: 41: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,054 INFO L273 TraceCheckUtils]: 42: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,054 INFO L273 TraceCheckUtils]: 43: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,054 INFO L273 TraceCheckUtils]: 44: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,054 INFO L273 TraceCheckUtils]: 45: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,055 INFO L273 TraceCheckUtils]: 46: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,055 INFO L273 TraceCheckUtils]: 47: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,055 INFO L273 TraceCheckUtils]: 48: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,055 INFO L273 TraceCheckUtils]: 49: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,055 INFO L273 TraceCheckUtils]: 50: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,056 INFO L273 TraceCheckUtils]: 51: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,056 INFO L273 TraceCheckUtils]: 52: Hoare triple {7778#false} assume !(~i~0 < 20); {7778#false} is VALID [2018-11-23 12:17:06,056 INFO L273 TraceCheckUtils]: 53: Hoare triple {7778#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7778#false} is VALID [2018-11-23 12:17:06,056 INFO L273 TraceCheckUtils]: 54: Hoare triple {7778#false} assume true; {7778#false} is VALID [2018-11-23 12:17:06,056 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {7778#false} {7778#false} #75#return; {7778#false} is VALID [2018-11-23 12:17:06,056 INFO L273 TraceCheckUtils]: 56: Hoare triple {7778#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {7778#false} is VALID [2018-11-23 12:17:06,056 INFO L256 TraceCheckUtils]: 57: Hoare triple {7778#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {7778#false} is VALID [2018-11-23 12:17:06,056 INFO L273 TraceCheckUtils]: 58: Hoare triple {7778#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7778#false} is VALID [2018-11-23 12:17:06,057 INFO L273 TraceCheckUtils]: 59: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,057 INFO L273 TraceCheckUtils]: 60: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,057 INFO L273 TraceCheckUtils]: 61: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,057 INFO L273 TraceCheckUtils]: 62: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,057 INFO L273 TraceCheckUtils]: 63: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,057 INFO L273 TraceCheckUtils]: 64: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,057 INFO L273 TraceCheckUtils]: 65: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,057 INFO L273 TraceCheckUtils]: 66: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,057 INFO L273 TraceCheckUtils]: 67: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,058 INFO L273 TraceCheckUtils]: 68: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,058 INFO L273 TraceCheckUtils]: 69: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,058 INFO L273 TraceCheckUtils]: 70: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,058 INFO L273 TraceCheckUtils]: 71: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,058 INFO L273 TraceCheckUtils]: 72: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,058 INFO L273 TraceCheckUtils]: 73: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,058 INFO L273 TraceCheckUtils]: 74: Hoare triple {7778#false} assume !(~i~0 < 20); {7778#false} is VALID [2018-11-23 12:17:06,058 INFO L273 TraceCheckUtils]: 75: Hoare triple {7778#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7778#false} is VALID [2018-11-23 12:17:06,058 INFO L273 TraceCheckUtils]: 76: Hoare triple {7778#false} assume true; {7778#false} is VALID [2018-11-23 12:17:06,059 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {7778#false} {7778#false} #77#return; {7778#false} is VALID [2018-11-23 12:17:06,059 INFO L273 TraceCheckUtils]: 78: Hoare triple {7778#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {7778#false} is VALID [2018-11-23 12:17:06,059 INFO L273 TraceCheckUtils]: 79: Hoare triple {7778#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7778#false} is VALID [2018-11-23 12:17:06,059 INFO L273 TraceCheckUtils]: 80: Hoare triple {7778#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7778#false} is VALID [2018-11-23 12:17:06,059 INFO L273 TraceCheckUtils]: 81: Hoare triple {7778#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7778#false} is VALID [2018-11-23 12:17:06,059 INFO L273 TraceCheckUtils]: 82: Hoare triple {7778#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7778#false} is VALID [2018-11-23 12:17:06,059 INFO L273 TraceCheckUtils]: 83: Hoare triple {7778#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7778#false} is VALID [2018-11-23 12:17:06,059 INFO L273 TraceCheckUtils]: 84: Hoare triple {7778#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7778#false} is VALID [2018-11-23 12:17:06,060 INFO L273 TraceCheckUtils]: 85: Hoare triple {7778#false} assume !(~i~2 < 19); {7778#false} is VALID [2018-11-23 12:17:06,060 INFO L273 TraceCheckUtils]: 86: Hoare triple {7778#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {7778#false} is VALID [2018-11-23 12:17:06,060 INFO L256 TraceCheckUtils]: 87: Hoare triple {7778#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {7778#false} is VALID [2018-11-23 12:17:06,060 INFO L273 TraceCheckUtils]: 88: Hoare triple {7778#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7778#false} is VALID [2018-11-23 12:17:06,060 INFO L273 TraceCheckUtils]: 89: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,060 INFO L273 TraceCheckUtils]: 90: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,060 INFO L273 TraceCheckUtils]: 91: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,060 INFO L273 TraceCheckUtils]: 92: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,060 INFO L273 TraceCheckUtils]: 93: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,061 INFO L273 TraceCheckUtils]: 94: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,061 INFO L273 TraceCheckUtils]: 95: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,061 INFO L273 TraceCheckUtils]: 96: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,061 INFO L273 TraceCheckUtils]: 97: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,061 INFO L273 TraceCheckUtils]: 98: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,061 INFO L273 TraceCheckUtils]: 99: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,061 INFO L273 TraceCheckUtils]: 100: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,062 INFO L273 TraceCheckUtils]: 101: Hoare triple {7778#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:06,062 INFO L273 TraceCheckUtils]: 102: Hoare triple {7778#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {7778#false} is VALID [2018-11-23 12:17:06,062 INFO L273 TraceCheckUtils]: 103: Hoare triple {7778#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7778#false} is VALID [2018-11-23 12:17:06,062 INFO L273 TraceCheckUtils]: 104: Hoare triple {7778#false} assume !(~i~0 < 20); {7778#false} is VALID [2018-11-23 12:17:06,062 INFO L273 TraceCheckUtils]: 105: Hoare triple {7778#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7778#false} is VALID [2018-11-23 12:17:06,062 INFO L273 TraceCheckUtils]: 106: Hoare triple {7778#false} assume true; {7778#false} is VALID [2018-11-23 12:17:06,062 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {7778#false} {7778#false} #79#return; {7778#false} is VALID [2018-11-23 12:17:06,062 INFO L273 TraceCheckUtils]: 108: Hoare triple {7778#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {7778#false} is VALID [2018-11-23 12:17:06,063 INFO L273 TraceCheckUtils]: 109: Hoare triple {7778#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7778#false} is VALID [2018-11-23 12:17:06,063 INFO L273 TraceCheckUtils]: 110: Hoare triple {7778#false} assume !false; {7778#false} is VALID [2018-11-23 12:17:06,068 INFO L134 CoverageAnalysis]: Checked inductivity of 580 backedges. 0 proven. 196 refuted. 0 times theorem prover too weak. 384 trivial. 0 not checked. [2018-11-23 12:17:06,087 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:06,087 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 18 [2018-11-23 12:17:06,088 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 111 [2018-11-23 12:17:06,088 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:06,088 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:17:06,158 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:06,158 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:17:06,158 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:17:06,158 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:17:06,159 INFO L87 Difference]: Start difference. First operand 72 states and 81 transitions. Second operand 18 states. [2018-11-23 12:17:06,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:06,623 INFO L93 Difference]: Finished difference Result 112 states and 130 transitions. [2018-11-23 12:17:06,623 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:17:06,623 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 111 [2018-11-23 12:17:06,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:06,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:17:06,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 86 transitions. [2018-11-23 12:17:06,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:17:06,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 86 transitions. [2018-11-23 12:17:06,626 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 86 transitions. [2018-11-23 12:17:06,725 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:06,727 INFO L225 Difference]: With dead ends: 112 [2018-11-23 12:17:06,727 INFO L226 Difference]: Without dead ends: 75 [2018-11-23 12:17:06,728 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 111 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:17:06,728 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2018-11-23 12:17:06,754 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 74. [2018-11-23 12:17:06,754 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:06,754 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 74 states. [2018-11-23 12:17:06,755 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 74 states. [2018-11-23 12:17:06,755 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 74 states. [2018-11-23 12:17:06,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:06,757 INFO L93 Difference]: Finished difference Result 75 states and 84 transitions. [2018-11-23 12:17:06,757 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 84 transitions. [2018-11-23 12:17:06,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:06,758 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:06,758 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 75 states. [2018-11-23 12:17:06,758 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 75 states. [2018-11-23 12:17:06,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:06,760 INFO L93 Difference]: Finished difference Result 75 states and 84 transitions. [2018-11-23 12:17:06,760 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 84 transitions. [2018-11-23 12:17:06,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:06,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:06,761 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:06,761 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:06,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-11-23 12:17:06,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 83 transitions. [2018-11-23 12:17:06,763 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 83 transitions. Word has length 111 [2018-11-23 12:17:06,763 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:06,763 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 83 transitions. [2018-11-23 12:17:06,763 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:17:06,763 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 83 transitions. [2018-11-23 12:17:06,764 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2018-11-23 12:17:06,764 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:06,765 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 15, 15, 15, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:06,765 INFO L423 AbstractCegarLoop]: === Iteration 19 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:06,765 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:06,765 INFO L82 PathProgramCache]: Analyzing trace with hash -2080039001, now seen corresponding path program 15 times [2018-11-23 12:17:06,765 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:06,766 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:06,766 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:06,766 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:06,766 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:06,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:07,400 INFO L256 TraceCheckUtils]: 0: Hoare triple {8545#true} call ULTIMATE.init(); {8545#true} is VALID [2018-11-23 12:17:07,400 INFO L273 TraceCheckUtils]: 1: Hoare triple {8545#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {8545#true} is VALID [2018-11-23 12:17:07,401 INFO L273 TraceCheckUtils]: 2: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:07,401 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8545#true} {8545#true} #71#return; {8545#true} is VALID [2018-11-23 12:17:07,401 INFO L256 TraceCheckUtils]: 4: Hoare triple {8545#true} call #t~ret14 := main(); {8545#true} is VALID [2018-11-23 12:17:07,402 INFO L273 TraceCheckUtils]: 5: Hoare triple {8545#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {8547#(= main_~i~1 0)} is VALID [2018-11-23 12:17:07,402 INFO L273 TraceCheckUtils]: 6: Hoare triple {8547#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8547#(= main_~i~1 0)} is VALID [2018-11-23 12:17:07,403 INFO L273 TraceCheckUtils]: 7: Hoare triple {8547#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8548#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:07,403 INFO L273 TraceCheckUtils]: 8: Hoare triple {8548#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8548#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:07,404 INFO L273 TraceCheckUtils]: 9: Hoare triple {8548#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8549#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:07,405 INFO L273 TraceCheckUtils]: 10: Hoare triple {8549#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8549#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:07,405 INFO L273 TraceCheckUtils]: 11: Hoare triple {8549#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8550#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:07,406 INFO L273 TraceCheckUtils]: 12: Hoare triple {8550#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8550#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:07,407 INFO L273 TraceCheckUtils]: 13: Hoare triple {8550#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8551#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:07,407 INFO L273 TraceCheckUtils]: 14: Hoare triple {8551#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8551#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:07,408 INFO L273 TraceCheckUtils]: 15: Hoare triple {8551#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8552#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:07,409 INFO L273 TraceCheckUtils]: 16: Hoare triple {8552#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8552#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:07,409 INFO L273 TraceCheckUtils]: 17: Hoare triple {8552#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8553#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:07,410 INFO L273 TraceCheckUtils]: 18: Hoare triple {8553#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8553#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:07,410 INFO L273 TraceCheckUtils]: 19: Hoare triple {8553#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8554#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:07,411 INFO L273 TraceCheckUtils]: 20: Hoare triple {8554#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8554#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:07,412 INFO L273 TraceCheckUtils]: 21: Hoare triple {8554#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8555#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:07,412 INFO L273 TraceCheckUtils]: 22: Hoare triple {8555#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8555#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:07,413 INFO L273 TraceCheckUtils]: 23: Hoare triple {8555#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8556#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:07,414 INFO L273 TraceCheckUtils]: 24: Hoare triple {8556#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8556#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:07,414 INFO L273 TraceCheckUtils]: 25: Hoare triple {8556#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8557#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:07,415 INFO L273 TraceCheckUtils]: 26: Hoare triple {8557#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8557#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:07,416 INFO L273 TraceCheckUtils]: 27: Hoare triple {8557#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8558#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:07,416 INFO L273 TraceCheckUtils]: 28: Hoare triple {8558#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8558#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:07,417 INFO L273 TraceCheckUtils]: 29: Hoare triple {8558#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8559#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:07,417 INFO L273 TraceCheckUtils]: 30: Hoare triple {8559#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8559#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:07,418 INFO L273 TraceCheckUtils]: 31: Hoare triple {8559#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8560#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:07,419 INFO L273 TraceCheckUtils]: 32: Hoare triple {8560#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8560#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:07,419 INFO L273 TraceCheckUtils]: 33: Hoare triple {8560#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8561#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:07,420 INFO L273 TraceCheckUtils]: 34: Hoare triple {8561#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8561#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:07,421 INFO L273 TraceCheckUtils]: 35: Hoare triple {8561#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8562#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:07,421 INFO L273 TraceCheckUtils]: 36: Hoare triple {8562#(<= main_~i~1 15)} assume !(~i~1 < 20); {8546#false} is VALID [2018-11-23 12:17:07,422 INFO L256 TraceCheckUtils]: 37: Hoare triple {8546#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {8545#true} is VALID [2018-11-23 12:17:07,422 INFO L273 TraceCheckUtils]: 38: Hoare triple {8545#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {8545#true} is VALID [2018-11-23 12:17:07,422 INFO L273 TraceCheckUtils]: 39: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,422 INFO L273 TraceCheckUtils]: 40: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,422 INFO L273 TraceCheckUtils]: 41: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,423 INFO L273 TraceCheckUtils]: 42: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,423 INFO L273 TraceCheckUtils]: 43: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,423 INFO L273 TraceCheckUtils]: 44: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,423 INFO L273 TraceCheckUtils]: 45: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,423 INFO L273 TraceCheckUtils]: 46: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,424 INFO L273 TraceCheckUtils]: 47: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,424 INFO L273 TraceCheckUtils]: 48: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,424 INFO L273 TraceCheckUtils]: 49: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,424 INFO L273 TraceCheckUtils]: 50: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,424 INFO L273 TraceCheckUtils]: 51: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,425 INFO L273 TraceCheckUtils]: 52: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,425 INFO L273 TraceCheckUtils]: 53: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,425 INFO L273 TraceCheckUtils]: 54: Hoare triple {8545#true} assume !(~i~0 < 20); {8545#true} is VALID [2018-11-23 12:17:07,425 INFO L273 TraceCheckUtils]: 55: Hoare triple {8545#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {8545#true} is VALID [2018-11-23 12:17:07,425 INFO L273 TraceCheckUtils]: 56: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:07,425 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {8545#true} {8546#false} #75#return; {8546#false} is VALID [2018-11-23 12:17:07,426 INFO L273 TraceCheckUtils]: 58: Hoare triple {8546#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {8546#false} is VALID [2018-11-23 12:17:07,426 INFO L256 TraceCheckUtils]: 59: Hoare triple {8546#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {8545#true} is VALID [2018-11-23 12:17:07,426 INFO L273 TraceCheckUtils]: 60: Hoare triple {8545#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {8545#true} is VALID [2018-11-23 12:17:07,426 INFO L273 TraceCheckUtils]: 61: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,426 INFO L273 TraceCheckUtils]: 62: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,426 INFO L273 TraceCheckUtils]: 63: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,426 INFO L273 TraceCheckUtils]: 64: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,426 INFO L273 TraceCheckUtils]: 65: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,427 INFO L273 TraceCheckUtils]: 66: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,427 INFO L273 TraceCheckUtils]: 67: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,427 INFO L273 TraceCheckUtils]: 68: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,427 INFO L273 TraceCheckUtils]: 69: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,427 INFO L273 TraceCheckUtils]: 70: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,427 INFO L273 TraceCheckUtils]: 71: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,427 INFO L273 TraceCheckUtils]: 72: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,427 INFO L273 TraceCheckUtils]: 73: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,427 INFO L273 TraceCheckUtils]: 74: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,428 INFO L273 TraceCheckUtils]: 75: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,428 INFO L273 TraceCheckUtils]: 76: Hoare triple {8545#true} assume !(~i~0 < 20); {8545#true} is VALID [2018-11-23 12:17:07,428 INFO L273 TraceCheckUtils]: 77: Hoare triple {8545#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {8545#true} is VALID [2018-11-23 12:17:07,428 INFO L273 TraceCheckUtils]: 78: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:07,428 INFO L268 TraceCheckUtils]: 79: Hoare quadruple {8545#true} {8546#false} #77#return; {8546#false} is VALID [2018-11-23 12:17:07,428 INFO L273 TraceCheckUtils]: 80: Hoare triple {8546#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {8546#false} is VALID [2018-11-23 12:17:07,428 INFO L273 TraceCheckUtils]: 81: Hoare triple {8546#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {8546#false} is VALID [2018-11-23 12:17:07,428 INFO L273 TraceCheckUtils]: 82: Hoare triple {8546#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {8546#false} is VALID [2018-11-23 12:17:07,428 INFO L273 TraceCheckUtils]: 83: Hoare triple {8546#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {8546#false} is VALID [2018-11-23 12:17:07,429 INFO L273 TraceCheckUtils]: 84: Hoare triple {8546#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {8546#false} is VALID [2018-11-23 12:17:07,429 INFO L273 TraceCheckUtils]: 85: Hoare triple {8546#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {8546#false} is VALID [2018-11-23 12:17:07,429 INFO L273 TraceCheckUtils]: 86: Hoare triple {8546#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {8546#false} is VALID [2018-11-23 12:17:07,429 INFO L273 TraceCheckUtils]: 87: Hoare triple {8546#false} assume !(~i~2 < 19); {8546#false} is VALID [2018-11-23 12:17:07,429 INFO L273 TraceCheckUtils]: 88: Hoare triple {8546#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {8546#false} is VALID [2018-11-23 12:17:07,429 INFO L256 TraceCheckUtils]: 89: Hoare triple {8546#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {8545#true} is VALID [2018-11-23 12:17:07,429 INFO L273 TraceCheckUtils]: 90: Hoare triple {8545#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {8545#true} is VALID [2018-11-23 12:17:07,429 INFO L273 TraceCheckUtils]: 91: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,430 INFO L273 TraceCheckUtils]: 92: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,430 INFO L273 TraceCheckUtils]: 93: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,430 INFO L273 TraceCheckUtils]: 94: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,430 INFO L273 TraceCheckUtils]: 95: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,430 INFO L273 TraceCheckUtils]: 96: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,430 INFO L273 TraceCheckUtils]: 97: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,430 INFO L273 TraceCheckUtils]: 98: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,430 INFO L273 TraceCheckUtils]: 99: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,430 INFO L273 TraceCheckUtils]: 100: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,431 INFO L273 TraceCheckUtils]: 101: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,431 INFO L273 TraceCheckUtils]: 102: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,431 INFO L273 TraceCheckUtils]: 103: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,431 INFO L273 TraceCheckUtils]: 104: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,431 INFO L273 TraceCheckUtils]: 105: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,431 INFO L273 TraceCheckUtils]: 106: Hoare triple {8545#true} assume !(~i~0 < 20); {8545#true} is VALID [2018-11-23 12:17:07,431 INFO L273 TraceCheckUtils]: 107: Hoare triple {8545#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {8545#true} is VALID [2018-11-23 12:17:07,431 INFO L273 TraceCheckUtils]: 108: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:07,431 INFO L268 TraceCheckUtils]: 109: Hoare quadruple {8545#true} {8546#false} #79#return; {8546#false} is VALID [2018-11-23 12:17:07,432 INFO L273 TraceCheckUtils]: 110: Hoare triple {8546#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {8546#false} is VALID [2018-11-23 12:17:07,432 INFO L273 TraceCheckUtils]: 111: Hoare triple {8546#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {8546#false} is VALID [2018-11-23 12:17:07,432 INFO L273 TraceCheckUtils]: 112: Hoare triple {8546#false} assume !false; {8546#false} is VALID [2018-11-23 12:17:07,437 INFO L134 CoverageAnalysis]: Checked inductivity of 609 backedges. 0 proven. 225 refuted. 0 times theorem prover too weak. 384 trivial. 0 not checked. [2018-11-23 12:17:07,438 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:07,438 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:07,447 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:17:07,509 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2018-11-23 12:17:07,509 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:07,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:07,532 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:07,681 INFO L256 TraceCheckUtils]: 0: Hoare triple {8545#true} call ULTIMATE.init(); {8545#true} is VALID [2018-11-23 12:17:07,681 INFO L273 TraceCheckUtils]: 1: Hoare triple {8545#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {8545#true} is VALID [2018-11-23 12:17:07,681 INFO L273 TraceCheckUtils]: 2: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:07,682 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8545#true} {8545#true} #71#return; {8545#true} is VALID [2018-11-23 12:17:07,682 INFO L256 TraceCheckUtils]: 4: Hoare triple {8545#true} call #t~ret14 := main(); {8545#true} is VALID [2018-11-23 12:17:07,682 INFO L273 TraceCheckUtils]: 5: Hoare triple {8545#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {8545#true} is VALID [2018-11-23 12:17:07,682 INFO L273 TraceCheckUtils]: 6: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,683 INFO L273 TraceCheckUtils]: 7: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,683 INFO L273 TraceCheckUtils]: 8: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,683 INFO L273 TraceCheckUtils]: 9: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,683 INFO L273 TraceCheckUtils]: 10: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,683 INFO L273 TraceCheckUtils]: 11: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,684 INFO L273 TraceCheckUtils]: 12: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,684 INFO L273 TraceCheckUtils]: 13: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,684 INFO L273 TraceCheckUtils]: 14: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,684 INFO L273 TraceCheckUtils]: 15: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,684 INFO L273 TraceCheckUtils]: 16: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,684 INFO L273 TraceCheckUtils]: 17: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,684 INFO L273 TraceCheckUtils]: 18: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,684 INFO L273 TraceCheckUtils]: 19: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,685 INFO L273 TraceCheckUtils]: 20: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,685 INFO L273 TraceCheckUtils]: 21: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,685 INFO L273 TraceCheckUtils]: 22: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,685 INFO L273 TraceCheckUtils]: 23: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,685 INFO L273 TraceCheckUtils]: 24: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,685 INFO L273 TraceCheckUtils]: 25: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,685 INFO L273 TraceCheckUtils]: 26: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,685 INFO L273 TraceCheckUtils]: 27: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,685 INFO L273 TraceCheckUtils]: 28: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,686 INFO L273 TraceCheckUtils]: 29: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,686 INFO L273 TraceCheckUtils]: 30: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,686 INFO L273 TraceCheckUtils]: 31: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,686 INFO L273 TraceCheckUtils]: 32: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,686 INFO L273 TraceCheckUtils]: 33: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,686 INFO L273 TraceCheckUtils]: 34: Hoare triple {8545#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8545#true} is VALID [2018-11-23 12:17:07,686 INFO L273 TraceCheckUtils]: 35: Hoare triple {8545#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8545#true} is VALID [2018-11-23 12:17:07,686 INFO L273 TraceCheckUtils]: 36: Hoare triple {8545#true} assume !(~i~1 < 20); {8545#true} is VALID [2018-11-23 12:17:07,687 INFO L256 TraceCheckUtils]: 37: Hoare triple {8545#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {8545#true} is VALID [2018-11-23 12:17:07,687 INFO L273 TraceCheckUtils]: 38: Hoare triple {8545#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {8545#true} is VALID [2018-11-23 12:17:07,687 INFO L273 TraceCheckUtils]: 39: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,687 INFO L273 TraceCheckUtils]: 40: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,687 INFO L273 TraceCheckUtils]: 41: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,687 INFO L273 TraceCheckUtils]: 42: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,687 INFO L273 TraceCheckUtils]: 43: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,687 INFO L273 TraceCheckUtils]: 44: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,687 INFO L273 TraceCheckUtils]: 45: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,688 INFO L273 TraceCheckUtils]: 46: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,688 INFO L273 TraceCheckUtils]: 47: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,688 INFO L273 TraceCheckUtils]: 48: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,688 INFO L273 TraceCheckUtils]: 49: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,688 INFO L273 TraceCheckUtils]: 50: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,688 INFO L273 TraceCheckUtils]: 51: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,688 INFO L273 TraceCheckUtils]: 52: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,688 INFO L273 TraceCheckUtils]: 53: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,688 INFO L273 TraceCheckUtils]: 54: Hoare triple {8545#true} assume !(~i~0 < 20); {8545#true} is VALID [2018-11-23 12:17:07,689 INFO L273 TraceCheckUtils]: 55: Hoare triple {8545#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {8545#true} is VALID [2018-11-23 12:17:07,689 INFO L273 TraceCheckUtils]: 56: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:07,689 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {8545#true} {8545#true} #75#return; {8545#true} is VALID [2018-11-23 12:17:07,689 INFO L273 TraceCheckUtils]: 58: Hoare triple {8545#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {8545#true} is VALID [2018-11-23 12:17:07,689 INFO L256 TraceCheckUtils]: 59: Hoare triple {8545#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {8545#true} is VALID [2018-11-23 12:17:07,689 INFO L273 TraceCheckUtils]: 60: Hoare triple {8545#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {8545#true} is VALID [2018-11-23 12:17:07,689 INFO L273 TraceCheckUtils]: 61: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,689 INFO L273 TraceCheckUtils]: 62: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,689 INFO L273 TraceCheckUtils]: 63: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,690 INFO L273 TraceCheckUtils]: 64: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,690 INFO L273 TraceCheckUtils]: 65: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,690 INFO L273 TraceCheckUtils]: 66: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,690 INFO L273 TraceCheckUtils]: 67: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,690 INFO L273 TraceCheckUtils]: 68: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,690 INFO L273 TraceCheckUtils]: 69: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,690 INFO L273 TraceCheckUtils]: 70: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,690 INFO L273 TraceCheckUtils]: 71: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,691 INFO L273 TraceCheckUtils]: 72: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,691 INFO L273 TraceCheckUtils]: 73: Hoare triple {8545#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:07,691 INFO L273 TraceCheckUtils]: 74: Hoare triple {8545#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8545#true} is VALID [2018-11-23 12:17:07,691 INFO L273 TraceCheckUtils]: 75: Hoare triple {8545#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8545#true} is VALID [2018-11-23 12:17:07,691 INFO L273 TraceCheckUtils]: 76: Hoare triple {8545#true} assume !(~i~0 < 20); {8545#true} is VALID [2018-11-23 12:17:07,691 INFO L273 TraceCheckUtils]: 77: Hoare triple {8545#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {8545#true} is VALID [2018-11-23 12:17:07,691 INFO L273 TraceCheckUtils]: 78: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:07,691 INFO L268 TraceCheckUtils]: 79: Hoare quadruple {8545#true} {8545#true} #77#return; {8545#true} is VALID [2018-11-23 12:17:07,692 INFO L273 TraceCheckUtils]: 80: Hoare triple {8545#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {8806#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:07,692 INFO L273 TraceCheckUtils]: 81: Hoare triple {8806#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {8806#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:07,693 INFO L273 TraceCheckUtils]: 82: Hoare triple {8806#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {8813#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:07,693 INFO L273 TraceCheckUtils]: 83: Hoare triple {8813#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {8813#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:07,694 INFO L273 TraceCheckUtils]: 84: Hoare triple {8813#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {8820#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:07,694 INFO L273 TraceCheckUtils]: 85: Hoare triple {8820#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {8820#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:07,694 INFO L273 TraceCheckUtils]: 86: Hoare triple {8820#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {8827#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:07,695 INFO L273 TraceCheckUtils]: 87: Hoare triple {8827#(<= main_~i~2 3)} assume !(~i~2 < 19); {8546#false} is VALID [2018-11-23 12:17:07,695 INFO L273 TraceCheckUtils]: 88: Hoare triple {8546#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {8546#false} is VALID [2018-11-23 12:17:07,695 INFO L256 TraceCheckUtils]: 89: Hoare triple {8546#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {8546#false} is VALID [2018-11-23 12:17:07,695 INFO L273 TraceCheckUtils]: 90: Hoare triple {8546#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {8546#false} is VALID [2018-11-23 12:17:07,695 INFO L273 TraceCheckUtils]: 91: Hoare triple {8546#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8546#false} is VALID [2018-11-23 12:17:07,695 INFO L273 TraceCheckUtils]: 92: Hoare triple {8546#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8546#false} is VALID [2018-11-23 12:17:07,695 INFO L273 TraceCheckUtils]: 93: Hoare triple {8546#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8546#false} is VALID [2018-11-23 12:17:07,695 INFO L273 TraceCheckUtils]: 94: Hoare triple {8546#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8546#false} is VALID [2018-11-23 12:17:07,696 INFO L273 TraceCheckUtils]: 95: Hoare triple {8546#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8546#false} is VALID [2018-11-23 12:17:07,696 INFO L273 TraceCheckUtils]: 96: Hoare triple {8546#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8546#false} is VALID [2018-11-23 12:17:07,696 INFO L273 TraceCheckUtils]: 97: Hoare triple {8546#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8546#false} is VALID [2018-11-23 12:17:07,696 INFO L273 TraceCheckUtils]: 98: Hoare triple {8546#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8546#false} is VALID [2018-11-23 12:17:07,696 INFO L273 TraceCheckUtils]: 99: Hoare triple {8546#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8546#false} is VALID [2018-11-23 12:17:07,696 INFO L273 TraceCheckUtils]: 100: Hoare triple {8546#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8546#false} is VALID [2018-11-23 12:17:07,696 INFO L273 TraceCheckUtils]: 101: Hoare triple {8546#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8546#false} is VALID [2018-11-23 12:17:07,696 INFO L273 TraceCheckUtils]: 102: Hoare triple {8546#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8546#false} is VALID [2018-11-23 12:17:07,697 INFO L273 TraceCheckUtils]: 103: Hoare triple {8546#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8546#false} is VALID [2018-11-23 12:17:07,697 INFO L273 TraceCheckUtils]: 104: Hoare triple {8546#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {8546#false} is VALID [2018-11-23 12:17:07,697 INFO L273 TraceCheckUtils]: 105: Hoare triple {8546#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8546#false} is VALID [2018-11-23 12:17:07,697 INFO L273 TraceCheckUtils]: 106: Hoare triple {8546#false} assume !(~i~0 < 20); {8546#false} is VALID [2018-11-23 12:17:07,697 INFO L273 TraceCheckUtils]: 107: Hoare triple {8546#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {8546#false} is VALID [2018-11-23 12:17:07,697 INFO L273 TraceCheckUtils]: 108: Hoare triple {8546#false} assume true; {8546#false} is VALID [2018-11-23 12:17:07,697 INFO L268 TraceCheckUtils]: 109: Hoare quadruple {8546#false} {8546#false} #79#return; {8546#false} is VALID [2018-11-23 12:17:07,697 INFO L273 TraceCheckUtils]: 110: Hoare triple {8546#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {8546#false} is VALID [2018-11-23 12:17:07,697 INFO L273 TraceCheckUtils]: 111: Hoare triple {8546#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {8546#false} is VALID [2018-11-23 12:17:07,698 INFO L273 TraceCheckUtils]: 112: Hoare triple {8546#false} assume !false; {8546#false} is VALID [2018-11-23 12:17:07,703 INFO L134 CoverageAnalysis]: Checked inductivity of 609 backedges. 180 proven. 9 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2018-11-23 12:17:07,722 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:07,722 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 6] total 22 [2018-11-23 12:17:07,722 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 113 [2018-11-23 12:17:07,723 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:07,723 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 12:17:07,808 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:07,808 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 12:17:07,808 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 12:17:07,809 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=167, Invalid=295, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:17:07,809 INFO L87 Difference]: Start difference. First operand 74 states and 83 transitions. Second operand 22 states. [2018-11-23 12:17:08,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:08,646 INFO L93 Difference]: Finished difference Result 117 states and 136 transitions. [2018-11-23 12:17:08,646 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 12:17:08,646 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 113 [2018-11-23 12:17:08,646 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:08,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:17:08,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 97 transitions. [2018-11-23 12:17:08,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:17:08,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 97 transitions. [2018-11-23 12:17:08,649 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 97 transitions. [2018-11-23 12:17:08,758 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:08,759 INFO L225 Difference]: With dead ends: 117 [2018-11-23 12:17:08,759 INFO L226 Difference]: Without dead ends: 80 [2018-11-23 12:17:08,760 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 110 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=167, Invalid=295, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:17:08,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2018-11-23 12:17:08,802 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 78. [2018-11-23 12:17:08,802 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:08,802 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 78 states. [2018-11-23 12:17:08,803 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 78 states. [2018-11-23 12:17:08,803 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 78 states. [2018-11-23 12:17:08,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:08,804 INFO L93 Difference]: Finished difference Result 80 states and 89 transitions. [2018-11-23 12:17:08,805 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 89 transitions. [2018-11-23 12:17:08,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:08,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:08,805 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 80 states. [2018-11-23 12:17:08,806 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 80 states. [2018-11-23 12:17:08,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:08,807 INFO L93 Difference]: Finished difference Result 80 states and 89 transitions. [2018-11-23 12:17:08,807 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 89 transitions. [2018-11-23 12:17:08,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:08,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:08,808 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:08,808 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:08,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2018-11-23 12:17:08,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 87 transitions. [2018-11-23 12:17:08,810 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 87 transitions. Word has length 113 [2018-11-23 12:17:08,810 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:08,810 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 87 transitions. [2018-11-23 12:17:08,811 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 12:17:08,811 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 87 transitions. [2018-11-23 12:17:08,811 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 118 [2018-11-23 12:17:08,811 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:08,812 INFO L402 BasicCegarLoop]: trace histogram [16, 16, 15, 15, 15, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:08,812 INFO L423 AbstractCegarLoop]: === Iteration 20 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:08,812 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:08,812 INFO L82 PathProgramCache]: Analyzing trace with hash -901827641, now seen corresponding path program 16 times [2018-11-23 12:17:08,812 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:08,812 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:08,813 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:08,813 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:08,813 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:08,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:09,134 INFO L256 TraceCheckUtils]: 0: Hoare triple {9346#true} call ULTIMATE.init(); {9346#true} is VALID [2018-11-23 12:17:09,135 INFO L273 TraceCheckUtils]: 1: Hoare triple {9346#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {9346#true} is VALID [2018-11-23 12:17:09,135 INFO L273 TraceCheckUtils]: 2: Hoare triple {9346#true} assume true; {9346#true} is VALID [2018-11-23 12:17:09,135 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9346#true} {9346#true} #71#return; {9346#true} is VALID [2018-11-23 12:17:09,135 INFO L256 TraceCheckUtils]: 4: Hoare triple {9346#true} call #t~ret14 := main(); {9346#true} is VALID [2018-11-23 12:17:09,136 INFO L273 TraceCheckUtils]: 5: Hoare triple {9346#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {9348#(= main_~i~1 0)} is VALID [2018-11-23 12:17:09,137 INFO L273 TraceCheckUtils]: 6: Hoare triple {9348#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9348#(= main_~i~1 0)} is VALID [2018-11-23 12:17:09,137 INFO L273 TraceCheckUtils]: 7: Hoare triple {9348#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9349#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:09,137 INFO L273 TraceCheckUtils]: 8: Hoare triple {9349#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9349#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:09,138 INFO L273 TraceCheckUtils]: 9: Hoare triple {9349#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9350#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:09,138 INFO L273 TraceCheckUtils]: 10: Hoare triple {9350#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9350#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:09,139 INFO L273 TraceCheckUtils]: 11: Hoare triple {9350#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9351#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:09,139 INFO L273 TraceCheckUtils]: 12: Hoare triple {9351#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9351#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:09,140 INFO L273 TraceCheckUtils]: 13: Hoare triple {9351#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9352#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:09,141 INFO L273 TraceCheckUtils]: 14: Hoare triple {9352#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9352#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:09,142 INFO L273 TraceCheckUtils]: 15: Hoare triple {9352#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9353#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:09,142 INFO L273 TraceCheckUtils]: 16: Hoare triple {9353#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9353#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:09,143 INFO L273 TraceCheckUtils]: 17: Hoare triple {9353#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9354#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:09,143 INFO L273 TraceCheckUtils]: 18: Hoare triple {9354#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9354#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:09,144 INFO L273 TraceCheckUtils]: 19: Hoare triple {9354#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9355#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:09,145 INFO L273 TraceCheckUtils]: 20: Hoare triple {9355#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9355#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:09,146 INFO L273 TraceCheckUtils]: 21: Hoare triple {9355#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9356#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:09,146 INFO L273 TraceCheckUtils]: 22: Hoare triple {9356#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9356#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:09,147 INFO L273 TraceCheckUtils]: 23: Hoare triple {9356#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9357#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:09,147 INFO L273 TraceCheckUtils]: 24: Hoare triple {9357#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9357#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:09,148 INFO L273 TraceCheckUtils]: 25: Hoare triple {9357#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9358#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:09,149 INFO L273 TraceCheckUtils]: 26: Hoare triple {9358#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9358#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:09,149 INFO L273 TraceCheckUtils]: 27: Hoare triple {9358#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9359#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:09,150 INFO L273 TraceCheckUtils]: 28: Hoare triple {9359#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9359#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:09,151 INFO L273 TraceCheckUtils]: 29: Hoare triple {9359#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9360#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:09,151 INFO L273 TraceCheckUtils]: 30: Hoare triple {9360#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9360#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:09,152 INFO L273 TraceCheckUtils]: 31: Hoare triple {9360#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9361#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:09,153 INFO L273 TraceCheckUtils]: 32: Hoare triple {9361#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9361#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:09,153 INFO L273 TraceCheckUtils]: 33: Hoare triple {9361#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9362#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:09,154 INFO L273 TraceCheckUtils]: 34: Hoare triple {9362#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9362#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:09,155 INFO L273 TraceCheckUtils]: 35: Hoare triple {9362#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9363#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:09,155 INFO L273 TraceCheckUtils]: 36: Hoare triple {9363#(<= main_~i~1 15)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9363#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:09,156 INFO L273 TraceCheckUtils]: 37: Hoare triple {9363#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9364#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:09,156 INFO L273 TraceCheckUtils]: 38: Hoare triple {9364#(<= main_~i~1 16)} assume !(~i~1 < 20); {9347#false} is VALID [2018-11-23 12:17:09,157 INFO L256 TraceCheckUtils]: 39: Hoare triple {9347#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {9346#true} is VALID [2018-11-23 12:17:09,157 INFO L273 TraceCheckUtils]: 40: Hoare triple {9346#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {9346#true} is VALID [2018-11-23 12:17:09,157 INFO L273 TraceCheckUtils]: 41: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,157 INFO L273 TraceCheckUtils]: 42: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,158 INFO L273 TraceCheckUtils]: 43: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,158 INFO L273 TraceCheckUtils]: 44: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,158 INFO L273 TraceCheckUtils]: 45: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,158 INFO L273 TraceCheckUtils]: 46: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,158 INFO L273 TraceCheckUtils]: 47: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,159 INFO L273 TraceCheckUtils]: 48: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,159 INFO L273 TraceCheckUtils]: 49: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,159 INFO L273 TraceCheckUtils]: 50: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,159 INFO L273 TraceCheckUtils]: 51: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,159 INFO L273 TraceCheckUtils]: 52: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,159 INFO L273 TraceCheckUtils]: 53: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,160 INFO L273 TraceCheckUtils]: 54: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,160 INFO L273 TraceCheckUtils]: 55: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,160 INFO L273 TraceCheckUtils]: 56: Hoare triple {9346#true} assume !(~i~0 < 20); {9346#true} is VALID [2018-11-23 12:17:09,160 INFO L273 TraceCheckUtils]: 57: Hoare triple {9346#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {9346#true} is VALID [2018-11-23 12:17:09,160 INFO L273 TraceCheckUtils]: 58: Hoare triple {9346#true} assume true; {9346#true} is VALID [2018-11-23 12:17:09,161 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {9346#true} {9347#false} #75#return; {9347#false} is VALID [2018-11-23 12:17:09,161 INFO L273 TraceCheckUtils]: 60: Hoare triple {9347#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {9347#false} is VALID [2018-11-23 12:17:09,161 INFO L256 TraceCheckUtils]: 61: Hoare triple {9347#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {9346#true} is VALID [2018-11-23 12:17:09,161 INFO L273 TraceCheckUtils]: 62: Hoare triple {9346#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {9346#true} is VALID [2018-11-23 12:17:09,161 INFO L273 TraceCheckUtils]: 63: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,162 INFO L273 TraceCheckUtils]: 64: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,162 INFO L273 TraceCheckUtils]: 65: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,162 INFO L273 TraceCheckUtils]: 66: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,162 INFO L273 TraceCheckUtils]: 67: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,162 INFO L273 TraceCheckUtils]: 68: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,162 INFO L273 TraceCheckUtils]: 69: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,163 INFO L273 TraceCheckUtils]: 70: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,163 INFO L273 TraceCheckUtils]: 71: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,163 INFO L273 TraceCheckUtils]: 72: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,163 INFO L273 TraceCheckUtils]: 73: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,163 INFO L273 TraceCheckUtils]: 74: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,163 INFO L273 TraceCheckUtils]: 75: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,164 INFO L273 TraceCheckUtils]: 76: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,164 INFO L273 TraceCheckUtils]: 77: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,164 INFO L273 TraceCheckUtils]: 78: Hoare triple {9346#true} assume !(~i~0 < 20); {9346#true} is VALID [2018-11-23 12:17:09,164 INFO L273 TraceCheckUtils]: 79: Hoare triple {9346#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {9346#true} is VALID [2018-11-23 12:17:09,164 INFO L273 TraceCheckUtils]: 80: Hoare triple {9346#true} assume true; {9346#true} is VALID [2018-11-23 12:17:09,164 INFO L268 TraceCheckUtils]: 81: Hoare quadruple {9346#true} {9347#false} #77#return; {9347#false} is VALID [2018-11-23 12:17:09,165 INFO L273 TraceCheckUtils]: 82: Hoare triple {9347#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {9347#false} is VALID [2018-11-23 12:17:09,165 INFO L273 TraceCheckUtils]: 83: Hoare triple {9347#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9347#false} is VALID [2018-11-23 12:17:09,165 INFO L273 TraceCheckUtils]: 84: Hoare triple {9347#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9347#false} is VALID [2018-11-23 12:17:09,165 INFO L273 TraceCheckUtils]: 85: Hoare triple {9347#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9347#false} is VALID [2018-11-23 12:17:09,165 INFO L273 TraceCheckUtils]: 86: Hoare triple {9347#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9347#false} is VALID [2018-11-23 12:17:09,165 INFO L273 TraceCheckUtils]: 87: Hoare triple {9347#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9347#false} is VALID [2018-11-23 12:17:09,166 INFO L273 TraceCheckUtils]: 88: Hoare triple {9347#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9347#false} is VALID [2018-11-23 12:17:09,166 INFO L273 TraceCheckUtils]: 89: Hoare triple {9347#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9347#false} is VALID [2018-11-23 12:17:09,166 INFO L273 TraceCheckUtils]: 90: Hoare triple {9347#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9347#false} is VALID [2018-11-23 12:17:09,166 INFO L273 TraceCheckUtils]: 91: Hoare triple {9347#false} assume !(~i~2 < 19); {9347#false} is VALID [2018-11-23 12:17:09,166 INFO L273 TraceCheckUtils]: 92: Hoare triple {9347#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {9347#false} is VALID [2018-11-23 12:17:09,166 INFO L256 TraceCheckUtils]: 93: Hoare triple {9347#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {9346#true} is VALID [2018-11-23 12:17:09,167 INFO L273 TraceCheckUtils]: 94: Hoare triple {9346#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {9346#true} is VALID [2018-11-23 12:17:09,167 INFO L273 TraceCheckUtils]: 95: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,167 INFO L273 TraceCheckUtils]: 96: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,167 INFO L273 TraceCheckUtils]: 97: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,167 INFO L273 TraceCheckUtils]: 98: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,167 INFO L273 TraceCheckUtils]: 99: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,168 INFO L273 TraceCheckUtils]: 100: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,168 INFO L273 TraceCheckUtils]: 101: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,168 INFO L273 TraceCheckUtils]: 102: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,168 INFO L273 TraceCheckUtils]: 103: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,168 INFO L273 TraceCheckUtils]: 104: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,168 INFO L273 TraceCheckUtils]: 105: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,169 INFO L273 TraceCheckUtils]: 106: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,169 INFO L273 TraceCheckUtils]: 107: Hoare triple {9346#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:09,169 INFO L273 TraceCheckUtils]: 108: Hoare triple {9346#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9346#true} is VALID [2018-11-23 12:17:09,169 INFO L273 TraceCheckUtils]: 109: Hoare triple {9346#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9346#true} is VALID [2018-11-23 12:17:09,169 INFO L273 TraceCheckUtils]: 110: Hoare triple {9346#true} assume !(~i~0 < 20); {9346#true} is VALID [2018-11-23 12:17:09,169 INFO L273 TraceCheckUtils]: 111: Hoare triple {9346#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {9346#true} is VALID [2018-11-23 12:17:09,170 INFO L273 TraceCheckUtils]: 112: Hoare triple {9346#true} assume true; {9346#true} is VALID [2018-11-23 12:17:09,170 INFO L268 TraceCheckUtils]: 113: Hoare quadruple {9346#true} {9347#false} #79#return; {9347#false} is VALID [2018-11-23 12:17:09,170 INFO L273 TraceCheckUtils]: 114: Hoare triple {9347#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {9347#false} is VALID [2018-11-23 12:17:09,170 INFO L273 TraceCheckUtils]: 115: Hoare triple {9347#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {9347#false} is VALID [2018-11-23 12:17:09,170 INFO L273 TraceCheckUtils]: 116: Hoare triple {9347#false} assume !false; {9347#false} is VALID [2018-11-23 12:17:09,178 INFO L134 CoverageAnalysis]: Checked inductivity of 647 backedges. 0 proven. 256 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2018-11-23 12:17:09,178 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:09,178 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:09,195 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:17:09,262 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:17:09,263 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:09,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:09,288 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:09,522 INFO L256 TraceCheckUtils]: 0: Hoare triple {9346#true} call ULTIMATE.init(); {9346#true} is VALID [2018-11-23 12:17:09,522 INFO L273 TraceCheckUtils]: 1: Hoare triple {9346#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {9346#true} is VALID [2018-11-23 12:17:09,523 INFO L273 TraceCheckUtils]: 2: Hoare triple {9346#true} assume true; {9346#true} is VALID [2018-11-23 12:17:09,523 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9346#true} {9346#true} #71#return; {9346#true} is VALID [2018-11-23 12:17:09,523 INFO L256 TraceCheckUtils]: 4: Hoare triple {9346#true} call #t~ret14 := main(); {9346#true} is VALID [2018-11-23 12:17:09,524 INFO L273 TraceCheckUtils]: 5: Hoare triple {9346#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {9383#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:09,524 INFO L273 TraceCheckUtils]: 6: Hoare triple {9383#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9383#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:09,524 INFO L273 TraceCheckUtils]: 7: Hoare triple {9383#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9349#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:09,525 INFO L273 TraceCheckUtils]: 8: Hoare triple {9349#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9349#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:09,525 INFO L273 TraceCheckUtils]: 9: Hoare triple {9349#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9350#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:09,526 INFO L273 TraceCheckUtils]: 10: Hoare triple {9350#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9350#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:09,526 INFO L273 TraceCheckUtils]: 11: Hoare triple {9350#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9351#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:09,526 INFO L273 TraceCheckUtils]: 12: Hoare triple {9351#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9351#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:09,527 INFO L273 TraceCheckUtils]: 13: Hoare triple {9351#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9352#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:09,527 INFO L273 TraceCheckUtils]: 14: Hoare triple {9352#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9352#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:09,528 INFO L273 TraceCheckUtils]: 15: Hoare triple {9352#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9353#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:09,529 INFO L273 TraceCheckUtils]: 16: Hoare triple {9353#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9353#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:09,530 INFO L273 TraceCheckUtils]: 17: Hoare triple {9353#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9354#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:09,530 INFO L273 TraceCheckUtils]: 18: Hoare triple {9354#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9354#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:09,531 INFO L273 TraceCheckUtils]: 19: Hoare triple {9354#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9355#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:09,531 INFO L273 TraceCheckUtils]: 20: Hoare triple {9355#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9355#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:09,532 INFO L273 TraceCheckUtils]: 21: Hoare triple {9355#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9356#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:09,533 INFO L273 TraceCheckUtils]: 22: Hoare triple {9356#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9356#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:09,533 INFO L273 TraceCheckUtils]: 23: Hoare triple {9356#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9357#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:09,534 INFO L273 TraceCheckUtils]: 24: Hoare triple {9357#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9357#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:09,535 INFO L273 TraceCheckUtils]: 25: Hoare triple {9357#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9358#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:09,535 INFO L273 TraceCheckUtils]: 26: Hoare triple {9358#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9358#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:09,536 INFO L273 TraceCheckUtils]: 27: Hoare triple {9358#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9359#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:09,536 INFO L273 TraceCheckUtils]: 28: Hoare triple {9359#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9359#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:09,537 INFO L273 TraceCheckUtils]: 29: Hoare triple {9359#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9360#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:09,538 INFO L273 TraceCheckUtils]: 30: Hoare triple {9360#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9360#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:09,538 INFO L273 TraceCheckUtils]: 31: Hoare triple {9360#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9361#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:09,539 INFO L273 TraceCheckUtils]: 32: Hoare triple {9361#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9361#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:09,540 INFO L273 TraceCheckUtils]: 33: Hoare triple {9361#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9362#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:09,540 INFO L273 TraceCheckUtils]: 34: Hoare triple {9362#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9362#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:09,541 INFO L273 TraceCheckUtils]: 35: Hoare triple {9362#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9363#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:09,542 INFO L273 TraceCheckUtils]: 36: Hoare triple {9363#(<= main_~i~1 15)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9363#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:09,542 INFO L273 TraceCheckUtils]: 37: Hoare triple {9363#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9364#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:09,543 INFO L273 TraceCheckUtils]: 38: Hoare triple {9364#(<= main_~i~1 16)} assume !(~i~1 < 20); {9347#false} is VALID [2018-11-23 12:17:09,543 INFO L256 TraceCheckUtils]: 39: Hoare triple {9347#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {9347#false} is VALID [2018-11-23 12:17:09,543 INFO L273 TraceCheckUtils]: 40: Hoare triple {9347#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {9347#false} is VALID [2018-11-23 12:17:09,544 INFO L273 TraceCheckUtils]: 41: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,544 INFO L273 TraceCheckUtils]: 42: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,544 INFO L273 TraceCheckUtils]: 43: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,544 INFO L273 TraceCheckUtils]: 44: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,544 INFO L273 TraceCheckUtils]: 45: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,545 INFO L273 TraceCheckUtils]: 46: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,545 INFO L273 TraceCheckUtils]: 47: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,545 INFO L273 TraceCheckUtils]: 48: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,545 INFO L273 TraceCheckUtils]: 49: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,545 INFO L273 TraceCheckUtils]: 50: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,546 INFO L273 TraceCheckUtils]: 51: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,546 INFO L273 TraceCheckUtils]: 52: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,546 INFO L273 TraceCheckUtils]: 53: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,546 INFO L273 TraceCheckUtils]: 54: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,546 INFO L273 TraceCheckUtils]: 55: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,546 INFO L273 TraceCheckUtils]: 56: Hoare triple {9347#false} assume !(~i~0 < 20); {9347#false} is VALID [2018-11-23 12:17:09,547 INFO L273 TraceCheckUtils]: 57: Hoare triple {9347#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {9347#false} is VALID [2018-11-23 12:17:09,547 INFO L273 TraceCheckUtils]: 58: Hoare triple {9347#false} assume true; {9347#false} is VALID [2018-11-23 12:17:09,547 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {9347#false} {9347#false} #75#return; {9347#false} is VALID [2018-11-23 12:17:09,547 INFO L273 TraceCheckUtils]: 60: Hoare triple {9347#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {9347#false} is VALID [2018-11-23 12:17:09,547 INFO L256 TraceCheckUtils]: 61: Hoare triple {9347#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {9347#false} is VALID [2018-11-23 12:17:09,547 INFO L273 TraceCheckUtils]: 62: Hoare triple {9347#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {9347#false} is VALID [2018-11-23 12:17:09,547 INFO L273 TraceCheckUtils]: 63: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,547 INFO L273 TraceCheckUtils]: 64: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,547 INFO L273 TraceCheckUtils]: 65: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,548 INFO L273 TraceCheckUtils]: 66: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,548 INFO L273 TraceCheckUtils]: 67: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,548 INFO L273 TraceCheckUtils]: 68: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,548 INFO L273 TraceCheckUtils]: 69: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,548 INFO L273 TraceCheckUtils]: 70: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,548 INFO L273 TraceCheckUtils]: 71: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,549 INFO L273 TraceCheckUtils]: 72: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,549 INFO L273 TraceCheckUtils]: 73: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,549 INFO L273 TraceCheckUtils]: 74: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,549 INFO L273 TraceCheckUtils]: 75: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,549 INFO L273 TraceCheckUtils]: 76: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,549 INFO L273 TraceCheckUtils]: 77: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,550 INFO L273 TraceCheckUtils]: 78: Hoare triple {9347#false} assume !(~i~0 < 20); {9347#false} is VALID [2018-11-23 12:17:09,550 INFO L273 TraceCheckUtils]: 79: Hoare triple {9347#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {9347#false} is VALID [2018-11-23 12:17:09,550 INFO L273 TraceCheckUtils]: 80: Hoare triple {9347#false} assume true; {9347#false} is VALID [2018-11-23 12:17:09,550 INFO L268 TraceCheckUtils]: 81: Hoare quadruple {9347#false} {9347#false} #77#return; {9347#false} is VALID [2018-11-23 12:17:09,550 INFO L273 TraceCheckUtils]: 82: Hoare triple {9347#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {9347#false} is VALID [2018-11-23 12:17:09,550 INFO L273 TraceCheckUtils]: 83: Hoare triple {9347#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9347#false} is VALID [2018-11-23 12:17:09,551 INFO L273 TraceCheckUtils]: 84: Hoare triple {9347#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9347#false} is VALID [2018-11-23 12:17:09,551 INFO L273 TraceCheckUtils]: 85: Hoare triple {9347#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9347#false} is VALID [2018-11-23 12:17:09,551 INFO L273 TraceCheckUtils]: 86: Hoare triple {9347#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9347#false} is VALID [2018-11-23 12:17:09,551 INFO L273 TraceCheckUtils]: 87: Hoare triple {9347#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9347#false} is VALID [2018-11-23 12:17:09,551 INFO L273 TraceCheckUtils]: 88: Hoare triple {9347#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9347#false} is VALID [2018-11-23 12:17:09,551 INFO L273 TraceCheckUtils]: 89: Hoare triple {9347#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9347#false} is VALID [2018-11-23 12:17:09,552 INFO L273 TraceCheckUtils]: 90: Hoare triple {9347#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9347#false} is VALID [2018-11-23 12:17:09,552 INFO L273 TraceCheckUtils]: 91: Hoare triple {9347#false} assume !(~i~2 < 19); {9347#false} is VALID [2018-11-23 12:17:09,552 INFO L273 TraceCheckUtils]: 92: Hoare triple {9347#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {9347#false} is VALID [2018-11-23 12:17:09,552 INFO L256 TraceCheckUtils]: 93: Hoare triple {9347#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {9347#false} is VALID [2018-11-23 12:17:09,552 INFO L273 TraceCheckUtils]: 94: Hoare triple {9347#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {9347#false} is VALID [2018-11-23 12:17:09,552 INFO L273 TraceCheckUtils]: 95: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,553 INFO L273 TraceCheckUtils]: 96: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,553 INFO L273 TraceCheckUtils]: 97: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,553 INFO L273 TraceCheckUtils]: 98: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,553 INFO L273 TraceCheckUtils]: 99: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,553 INFO L273 TraceCheckUtils]: 100: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,553 INFO L273 TraceCheckUtils]: 101: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,553 INFO L273 TraceCheckUtils]: 102: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,553 INFO L273 TraceCheckUtils]: 103: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,553 INFO L273 TraceCheckUtils]: 104: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,554 INFO L273 TraceCheckUtils]: 105: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,554 INFO L273 TraceCheckUtils]: 106: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,554 INFO L273 TraceCheckUtils]: 107: Hoare triple {9347#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:09,554 INFO L273 TraceCheckUtils]: 108: Hoare triple {9347#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {9347#false} is VALID [2018-11-23 12:17:09,554 INFO L273 TraceCheckUtils]: 109: Hoare triple {9347#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9347#false} is VALID [2018-11-23 12:17:09,554 INFO L273 TraceCheckUtils]: 110: Hoare triple {9347#false} assume !(~i~0 < 20); {9347#false} is VALID [2018-11-23 12:17:09,554 INFO L273 TraceCheckUtils]: 111: Hoare triple {9347#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {9347#false} is VALID [2018-11-23 12:17:09,554 INFO L273 TraceCheckUtils]: 112: Hoare triple {9347#false} assume true; {9347#false} is VALID [2018-11-23 12:17:09,554 INFO L268 TraceCheckUtils]: 113: Hoare quadruple {9347#false} {9347#false} #79#return; {9347#false} is VALID [2018-11-23 12:17:09,555 INFO L273 TraceCheckUtils]: 114: Hoare triple {9347#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {9347#false} is VALID [2018-11-23 12:17:09,555 INFO L273 TraceCheckUtils]: 115: Hoare triple {9347#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {9347#false} is VALID [2018-11-23 12:17:09,555 INFO L273 TraceCheckUtils]: 116: Hoare triple {9347#false} assume !false; {9347#false} is VALID [2018-11-23 12:17:09,561 INFO L134 CoverageAnalysis]: Checked inductivity of 647 backedges. 0 proven. 256 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2018-11-23 12:17:09,581 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:09,581 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 20 [2018-11-23 12:17:09,582 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 117 [2018-11-23 12:17:09,582 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:09,582 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 12:17:09,656 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:09,656 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 12:17:09,656 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 12:17:09,657 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:17:09,657 INFO L87 Difference]: Start difference. First operand 78 states and 87 transitions. Second operand 20 states. [2018-11-23 12:17:10,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:10,759 INFO L93 Difference]: Finished difference Result 120 states and 138 transitions. [2018-11-23 12:17:10,759 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 12:17:10,759 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 117 [2018-11-23 12:17:10,759 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:10,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:17:10,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 90 transitions. [2018-11-23 12:17:10,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:17:10,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 90 transitions. [2018-11-23 12:17:10,762 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 90 transitions. [2018-11-23 12:17:10,890 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:10,892 INFO L225 Difference]: With dead ends: 120 [2018-11-23 12:17:10,892 INFO L226 Difference]: Without dead ends: 81 [2018-11-23 12:17:10,893 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 117 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:17:10,894 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-23 12:17:10,942 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 80. [2018-11-23 12:17:10,943 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:10,943 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 80 states. [2018-11-23 12:17:10,943 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 80 states. [2018-11-23 12:17:10,943 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 80 states. [2018-11-23 12:17:10,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:10,945 INFO L93 Difference]: Finished difference Result 81 states and 90 transitions. [2018-11-23 12:17:10,945 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 90 transitions. [2018-11-23 12:17:10,945 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:10,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:10,946 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 81 states. [2018-11-23 12:17:10,946 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 81 states. [2018-11-23 12:17:10,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:10,947 INFO L93 Difference]: Finished difference Result 81 states and 90 transitions. [2018-11-23 12:17:10,948 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 90 transitions. [2018-11-23 12:17:10,948 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:10,948 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:10,948 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:10,948 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:10,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 80 states. [2018-11-23 12:17:10,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 89 transitions. [2018-11-23 12:17:10,950 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 89 transitions. Word has length 117 [2018-11-23 12:17:10,950 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:10,950 INFO L480 AbstractCegarLoop]: Abstraction has 80 states and 89 transitions. [2018-11-23 12:17:10,950 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 12:17:10,950 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 89 transitions. [2018-11-23 12:17:10,951 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 120 [2018-11-23 12:17:10,951 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:10,951 INFO L402 BasicCegarLoop]: trace histogram [17, 17, 15, 15, 15, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:10,952 INFO L423 AbstractCegarLoop]: === Iteration 21 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:10,952 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:10,952 INFO L82 PathProgramCache]: Analyzing trace with hash -1032150683, now seen corresponding path program 17 times [2018-11-23 12:17:10,952 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:10,952 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:10,953 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:10,953 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:10,953 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:10,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:11,467 INFO L256 TraceCheckUtils]: 0: Hoare triple {10167#true} call ULTIMATE.init(); {10167#true} is VALID [2018-11-23 12:17:11,467 INFO L273 TraceCheckUtils]: 1: Hoare triple {10167#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {10167#true} is VALID [2018-11-23 12:17:11,467 INFO L273 TraceCheckUtils]: 2: Hoare triple {10167#true} assume true; {10167#true} is VALID [2018-11-23 12:17:11,467 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10167#true} {10167#true} #71#return; {10167#true} is VALID [2018-11-23 12:17:11,468 INFO L256 TraceCheckUtils]: 4: Hoare triple {10167#true} call #t~ret14 := main(); {10167#true} is VALID [2018-11-23 12:17:11,468 INFO L273 TraceCheckUtils]: 5: Hoare triple {10167#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {10169#(= main_~i~1 0)} is VALID [2018-11-23 12:17:11,468 INFO L273 TraceCheckUtils]: 6: Hoare triple {10169#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10169#(= main_~i~1 0)} is VALID [2018-11-23 12:17:11,469 INFO L273 TraceCheckUtils]: 7: Hoare triple {10169#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10170#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:11,469 INFO L273 TraceCheckUtils]: 8: Hoare triple {10170#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10170#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:11,469 INFO L273 TraceCheckUtils]: 9: Hoare triple {10170#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10171#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:11,470 INFO L273 TraceCheckUtils]: 10: Hoare triple {10171#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10171#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:11,470 INFO L273 TraceCheckUtils]: 11: Hoare triple {10171#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10172#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:11,471 INFO L273 TraceCheckUtils]: 12: Hoare triple {10172#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10172#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:11,471 INFO L273 TraceCheckUtils]: 13: Hoare triple {10172#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10173#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:11,472 INFO L273 TraceCheckUtils]: 14: Hoare triple {10173#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10173#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:11,472 INFO L273 TraceCheckUtils]: 15: Hoare triple {10173#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10174#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:11,473 INFO L273 TraceCheckUtils]: 16: Hoare triple {10174#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10174#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:11,474 INFO L273 TraceCheckUtils]: 17: Hoare triple {10174#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10175#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:11,474 INFO L273 TraceCheckUtils]: 18: Hoare triple {10175#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10175#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:11,475 INFO L273 TraceCheckUtils]: 19: Hoare triple {10175#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10176#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:11,475 INFO L273 TraceCheckUtils]: 20: Hoare triple {10176#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10176#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:11,476 INFO L273 TraceCheckUtils]: 21: Hoare triple {10176#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10177#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:11,476 INFO L273 TraceCheckUtils]: 22: Hoare triple {10177#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10177#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:11,477 INFO L273 TraceCheckUtils]: 23: Hoare triple {10177#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10178#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:11,478 INFO L273 TraceCheckUtils]: 24: Hoare triple {10178#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10178#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:11,478 INFO L273 TraceCheckUtils]: 25: Hoare triple {10178#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10179#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:11,479 INFO L273 TraceCheckUtils]: 26: Hoare triple {10179#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10179#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:11,480 INFO L273 TraceCheckUtils]: 27: Hoare triple {10179#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10180#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:11,480 INFO L273 TraceCheckUtils]: 28: Hoare triple {10180#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10180#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:11,481 INFO L273 TraceCheckUtils]: 29: Hoare triple {10180#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10181#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:11,481 INFO L273 TraceCheckUtils]: 30: Hoare triple {10181#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10181#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:11,482 INFO L273 TraceCheckUtils]: 31: Hoare triple {10181#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10182#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:11,483 INFO L273 TraceCheckUtils]: 32: Hoare triple {10182#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10182#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:11,483 INFO L273 TraceCheckUtils]: 33: Hoare triple {10182#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10183#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:11,484 INFO L273 TraceCheckUtils]: 34: Hoare triple {10183#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10183#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:11,485 INFO L273 TraceCheckUtils]: 35: Hoare triple {10183#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10184#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:11,485 INFO L273 TraceCheckUtils]: 36: Hoare triple {10184#(<= main_~i~1 15)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10184#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:11,486 INFO L273 TraceCheckUtils]: 37: Hoare triple {10184#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10185#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:11,486 INFO L273 TraceCheckUtils]: 38: Hoare triple {10185#(<= main_~i~1 16)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10185#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:11,487 INFO L273 TraceCheckUtils]: 39: Hoare triple {10185#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10186#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:11,488 INFO L273 TraceCheckUtils]: 40: Hoare triple {10186#(<= main_~i~1 17)} assume !(~i~1 < 20); {10168#false} is VALID [2018-11-23 12:17:11,488 INFO L256 TraceCheckUtils]: 41: Hoare triple {10168#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {10167#true} is VALID [2018-11-23 12:17:11,488 INFO L273 TraceCheckUtils]: 42: Hoare triple {10167#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {10167#true} is VALID [2018-11-23 12:17:11,488 INFO L273 TraceCheckUtils]: 43: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,489 INFO L273 TraceCheckUtils]: 44: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,489 INFO L273 TraceCheckUtils]: 45: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,489 INFO L273 TraceCheckUtils]: 46: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,489 INFO L273 TraceCheckUtils]: 47: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,489 INFO L273 TraceCheckUtils]: 48: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,490 INFO L273 TraceCheckUtils]: 49: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,490 INFO L273 TraceCheckUtils]: 50: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,490 INFO L273 TraceCheckUtils]: 51: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,490 INFO L273 TraceCheckUtils]: 52: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,490 INFO L273 TraceCheckUtils]: 53: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,491 INFO L273 TraceCheckUtils]: 54: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,491 INFO L273 TraceCheckUtils]: 55: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,491 INFO L273 TraceCheckUtils]: 56: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,491 INFO L273 TraceCheckUtils]: 57: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,491 INFO L273 TraceCheckUtils]: 58: Hoare triple {10167#true} assume !(~i~0 < 20); {10167#true} is VALID [2018-11-23 12:17:11,492 INFO L273 TraceCheckUtils]: 59: Hoare triple {10167#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {10167#true} is VALID [2018-11-23 12:17:11,492 INFO L273 TraceCheckUtils]: 60: Hoare triple {10167#true} assume true; {10167#true} is VALID [2018-11-23 12:17:11,492 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {10167#true} {10168#false} #75#return; {10168#false} is VALID [2018-11-23 12:17:11,492 INFO L273 TraceCheckUtils]: 62: Hoare triple {10168#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {10168#false} is VALID [2018-11-23 12:17:11,492 INFO L256 TraceCheckUtils]: 63: Hoare triple {10168#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {10167#true} is VALID [2018-11-23 12:17:11,492 INFO L273 TraceCheckUtils]: 64: Hoare triple {10167#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {10167#true} is VALID [2018-11-23 12:17:11,492 INFO L273 TraceCheckUtils]: 65: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,493 INFO L273 TraceCheckUtils]: 66: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,493 INFO L273 TraceCheckUtils]: 67: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,493 INFO L273 TraceCheckUtils]: 68: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,493 INFO L273 TraceCheckUtils]: 69: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,493 INFO L273 TraceCheckUtils]: 70: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,493 INFO L273 TraceCheckUtils]: 71: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,493 INFO L273 TraceCheckUtils]: 72: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,493 INFO L273 TraceCheckUtils]: 73: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,494 INFO L273 TraceCheckUtils]: 74: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,494 INFO L273 TraceCheckUtils]: 75: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,494 INFO L273 TraceCheckUtils]: 76: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,494 INFO L273 TraceCheckUtils]: 77: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,494 INFO L273 TraceCheckUtils]: 78: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,494 INFO L273 TraceCheckUtils]: 79: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,494 INFO L273 TraceCheckUtils]: 80: Hoare triple {10167#true} assume !(~i~0 < 20); {10167#true} is VALID [2018-11-23 12:17:11,494 INFO L273 TraceCheckUtils]: 81: Hoare triple {10167#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {10167#true} is VALID [2018-11-23 12:17:11,494 INFO L273 TraceCheckUtils]: 82: Hoare triple {10167#true} assume true; {10167#true} is VALID [2018-11-23 12:17:11,495 INFO L268 TraceCheckUtils]: 83: Hoare quadruple {10167#true} {10168#false} #77#return; {10168#false} is VALID [2018-11-23 12:17:11,495 INFO L273 TraceCheckUtils]: 84: Hoare triple {10168#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {10168#false} is VALID [2018-11-23 12:17:11,495 INFO L273 TraceCheckUtils]: 85: Hoare triple {10168#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10168#false} is VALID [2018-11-23 12:17:11,495 INFO L273 TraceCheckUtils]: 86: Hoare triple {10168#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10168#false} is VALID [2018-11-23 12:17:11,495 INFO L273 TraceCheckUtils]: 87: Hoare triple {10168#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10168#false} is VALID [2018-11-23 12:17:11,495 INFO L273 TraceCheckUtils]: 88: Hoare triple {10168#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10168#false} is VALID [2018-11-23 12:17:11,495 INFO L273 TraceCheckUtils]: 89: Hoare triple {10168#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10168#false} is VALID [2018-11-23 12:17:11,495 INFO L273 TraceCheckUtils]: 90: Hoare triple {10168#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10168#false} is VALID [2018-11-23 12:17:11,495 INFO L273 TraceCheckUtils]: 91: Hoare triple {10168#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10168#false} is VALID [2018-11-23 12:17:11,496 INFO L273 TraceCheckUtils]: 92: Hoare triple {10168#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10168#false} is VALID [2018-11-23 12:17:11,496 INFO L273 TraceCheckUtils]: 93: Hoare triple {10168#false} assume !(~i~2 < 19); {10168#false} is VALID [2018-11-23 12:17:11,496 INFO L273 TraceCheckUtils]: 94: Hoare triple {10168#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {10168#false} is VALID [2018-11-23 12:17:11,496 INFO L256 TraceCheckUtils]: 95: Hoare triple {10168#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {10167#true} is VALID [2018-11-23 12:17:11,496 INFO L273 TraceCheckUtils]: 96: Hoare triple {10167#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {10167#true} is VALID [2018-11-23 12:17:11,496 INFO L273 TraceCheckUtils]: 97: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,496 INFO L273 TraceCheckUtils]: 98: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,496 INFO L273 TraceCheckUtils]: 99: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,497 INFO L273 TraceCheckUtils]: 100: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,497 INFO L273 TraceCheckUtils]: 101: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,497 INFO L273 TraceCheckUtils]: 102: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,497 INFO L273 TraceCheckUtils]: 103: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,497 INFO L273 TraceCheckUtils]: 104: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,497 INFO L273 TraceCheckUtils]: 105: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,497 INFO L273 TraceCheckUtils]: 106: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,497 INFO L273 TraceCheckUtils]: 107: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,498 INFO L273 TraceCheckUtils]: 108: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,498 INFO L273 TraceCheckUtils]: 109: Hoare triple {10167#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:11,498 INFO L273 TraceCheckUtils]: 110: Hoare triple {10167#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10167#true} is VALID [2018-11-23 12:17:11,498 INFO L273 TraceCheckUtils]: 111: Hoare triple {10167#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10167#true} is VALID [2018-11-23 12:17:11,498 INFO L273 TraceCheckUtils]: 112: Hoare triple {10167#true} assume !(~i~0 < 20); {10167#true} is VALID [2018-11-23 12:17:11,498 INFO L273 TraceCheckUtils]: 113: Hoare triple {10167#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {10167#true} is VALID [2018-11-23 12:17:11,498 INFO L273 TraceCheckUtils]: 114: Hoare triple {10167#true} assume true; {10167#true} is VALID [2018-11-23 12:17:11,498 INFO L268 TraceCheckUtils]: 115: Hoare quadruple {10167#true} {10168#false} #79#return; {10168#false} is VALID [2018-11-23 12:17:11,498 INFO L273 TraceCheckUtils]: 116: Hoare triple {10168#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {10168#false} is VALID [2018-11-23 12:17:11,499 INFO L273 TraceCheckUtils]: 117: Hoare triple {10168#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {10168#false} is VALID [2018-11-23 12:17:11,499 INFO L273 TraceCheckUtils]: 118: Hoare triple {10168#false} assume !false; {10168#false} is VALID [2018-11-23 12:17:11,505 INFO L134 CoverageAnalysis]: Checked inductivity of 680 backedges. 0 proven. 289 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2018-11-23 12:17:11,505 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:11,505 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:11,514 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:17:12,282 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 17 check-sat command(s) [2018-11-23 12:17:12,282 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:12,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:12,314 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:12,523 INFO L256 TraceCheckUtils]: 0: Hoare triple {10167#true} call ULTIMATE.init(); {10167#true} is VALID [2018-11-23 12:17:12,523 INFO L273 TraceCheckUtils]: 1: Hoare triple {10167#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {10167#true} is VALID [2018-11-23 12:17:12,523 INFO L273 TraceCheckUtils]: 2: Hoare triple {10167#true} assume true; {10167#true} is VALID [2018-11-23 12:17:12,524 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10167#true} {10167#true} #71#return; {10167#true} is VALID [2018-11-23 12:17:12,524 INFO L256 TraceCheckUtils]: 4: Hoare triple {10167#true} call #t~ret14 := main(); {10167#true} is VALID [2018-11-23 12:17:12,524 INFO L273 TraceCheckUtils]: 5: Hoare triple {10167#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {10167#true} is VALID [2018-11-23 12:17:12,524 INFO L273 TraceCheckUtils]: 6: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,524 INFO L273 TraceCheckUtils]: 7: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,524 INFO L273 TraceCheckUtils]: 8: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,524 INFO L273 TraceCheckUtils]: 9: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,525 INFO L273 TraceCheckUtils]: 10: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,525 INFO L273 TraceCheckUtils]: 11: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,525 INFO L273 TraceCheckUtils]: 12: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,525 INFO L273 TraceCheckUtils]: 13: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,525 INFO L273 TraceCheckUtils]: 14: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,525 INFO L273 TraceCheckUtils]: 15: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,525 INFO L273 TraceCheckUtils]: 16: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,525 INFO L273 TraceCheckUtils]: 17: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,525 INFO L273 TraceCheckUtils]: 18: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,526 INFO L273 TraceCheckUtils]: 19: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,526 INFO L273 TraceCheckUtils]: 20: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,526 INFO L273 TraceCheckUtils]: 21: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,526 INFO L273 TraceCheckUtils]: 22: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,526 INFO L273 TraceCheckUtils]: 23: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,526 INFO L273 TraceCheckUtils]: 24: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,526 INFO L273 TraceCheckUtils]: 25: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,526 INFO L273 TraceCheckUtils]: 26: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,527 INFO L273 TraceCheckUtils]: 27: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,527 INFO L273 TraceCheckUtils]: 28: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,527 INFO L273 TraceCheckUtils]: 29: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,527 INFO L273 TraceCheckUtils]: 30: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,527 INFO L273 TraceCheckUtils]: 31: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,527 INFO L273 TraceCheckUtils]: 32: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,527 INFO L273 TraceCheckUtils]: 33: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,527 INFO L273 TraceCheckUtils]: 34: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,527 INFO L273 TraceCheckUtils]: 35: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,528 INFO L273 TraceCheckUtils]: 36: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,528 INFO L273 TraceCheckUtils]: 37: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,528 INFO L273 TraceCheckUtils]: 38: Hoare triple {10167#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10167#true} is VALID [2018-11-23 12:17:12,528 INFO L273 TraceCheckUtils]: 39: Hoare triple {10167#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10167#true} is VALID [2018-11-23 12:17:12,528 INFO L273 TraceCheckUtils]: 40: Hoare triple {10167#true} assume !(~i~1 < 20); {10167#true} is VALID [2018-11-23 12:17:12,528 INFO L256 TraceCheckUtils]: 41: Hoare triple {10167#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {10167#true} is VALID [2018-11-23 12:17:12,529 INFO L273 TraceCheckUtils]: 42: Hoare triple {10167#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {10316#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:12,529 INFO L273 TraceCheckUtils]: 43: Hoare triple {10316#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10316#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:12,529 INFO L273 TraceCheckUtils]: 44: Hoare triple {10316#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10316#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:12,530 INFO L273 TraceCheckUtils]: 45: Hoare triple {10316#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10326#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:12,530 INFO L273 TraceCheckUtils]: 46: Hoare triple {10326#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10326#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:12,530 INFO L273 TraceCheckUtils]: 47: Hoare triple {10326#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10326#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:12,531 INFO L273 TraceCheckUtils]: 48: Hoare triple {10326#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10336#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:12,531 INFO L273 TraceCheckUtils]: 49: Hoare triple {10336#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10336#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:12,531 INFO L273 TraceCheckUtils]: 50: Hoare triple {10336#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10336#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:12,532 INFO L273 TraceCheckUtils]: 51: Hoare triple {10336#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10346#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:12,532 INFO L273 TraceCheckUtils]: 52: Hoare triple {10346#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10346#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:12,533 INFO L273 TraceCheckUtils]: 53: Hoare triple {10346#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10346#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:12,534 INFO L273 TraceCheckUtils]: 54: Hoare triple {10346#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10356#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:12,534 INFO L273 TraceCheckUtils]: 55: Hoare triple {10356#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10356#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:12,535 INFO L273 TraceCheckUtils]: 56: Hoare triple {10356#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10356#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:12,535 INFO L273 TraceCheckUtils]: 57: Hoare triple {10356#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10366#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:12,536 INFO L273 TraceCheckUtils]: 58: Hoare triple {10366#(<= sep_~i~0 5)} assume !(~i~0 < 20); {10168#false} is VALID [2018-11-23 12:17:12,536 INFO L273 TraceCheckUtils]: 59: Hoare triple {10168#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {10168#false} is VALID [2018-11-23 12:17:12,536 INFO L273 TraceCheckUtils]: 60: Hoare triple {10168#false} assume true; {10168#false} is VALID [2018-11-23 12:17:12,537 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {10168#false} {10167#true} #75#return; {10168#false} is VALID [2018-11-23 12:17:12,537 INFO L273 TraceCheckUtils]: 62: Hoare triple {10168#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {10168#false} is VALID [2018-11-23 12:17:12,537 INFO L256 TraceCheckUtils]: 63: Hoare triple {10168#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {10168#false} is VALID [2018-11-23 12:17:12,537 INFO L273 TraceCheckUtils]: 64: Hoare triple {10168#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {10168#false} is VALID [2018-11-23 12:17:12,537 INFO L273 TraceCheckUtils]: 65: Hoare triple {10168#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:12,538 INFO L273 TraceCheckUtils]: 66: Hoare triple {10168#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10168#false} is VALID [2018-11-23 12:17:12,538 INFO L273 TraceCheckUtils]: 67: Hoare triple {10168#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10168#false} is VALID [2018-11-23 12:17:12,538 INFO L273 TraceCheckUtils]: 68: Hoare triple {10168#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:12,538 INFO L273 TraceCheckUtils]: 69: Hoare triple {10168#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10168#false} is VALID [2018-11-23 12:17:12,538 INFO L273 TraceCheckUtils]: 70: Hoare triple {10168#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10168#false} is VALID [2018-11-23 12:17:12,539 INFO L273 TraceCheckUtils]: 71: Hoare triple {10168#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:12,539 INFO L273 TraceCheckUtils]: 72: Hoare triple {10168#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10168#false} is VALID [2018-11-23 12:17:12,539 INFO L273 TraceCheckUtils]: 73: Hoare triple {10168#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10168#false} is VALID [2018-11-23 12:17:12,539 INFO L273 TraceCheckUtils]: 74: Hoare triple {10168#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:12,539 INFO L273 TraceCheckUtils]: 75: Hoare triple {10168#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10168#false} is VALID [2018-11-23 12:17:12,540 INFO L273 TraceCheckUtils]: 76: Hoare triple {10168#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10168#false} is VALID [2018-11-23 12:17:12,540 INFO L273 TraceCheckUtils]: 77: Hoare triple {10168#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:12,540 INFO L273 TraceCheckUtils]: 78: Hoare triple {10168#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10168#false} is VALID [2018-11-23 12:17:12,540 INFO L273 TraceCheckUtils]: 79: Hoare triple {10168#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10168#false} is VALID [2018-11-23 12:17:12,540 INFO L273 TraceCheckUtils]: 80: Hoare triple {10168#false} assume !(~i~0 < 20); {10168#false} is VALID [2018-11-23 12:17:12,541 INFO L273 TraceCheckUtils]: 81: Hoare triple {10168#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {10168#false} is VALID [2018-11-23 12:17:12,541 INFO L273 TraceCheckUtils]: 82: Hoare triple {10168#false} assume true; {10168#false} is VALID [2018-11-23 12:17:12,541 INFO L268 TraceCheckUtils]: 83: Hoare quadruple {10168#false} {10168#false} #77#return; {10168#false} is VALID [2018-11-23 12:17:12,541 INFO L273 TraceCheckUtils]: 84: Hoare triple {10168#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {10168#false} is VALID [2018-11-23 12:17:12,541 INFO L273 TraceCheckUtils]: 85: Hoare triple {10168#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10168#false} is VALID [2018-11-23 12:17:12,541 INFO L273 TraceCheckUtils]: 86: Hoare triple {10168#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10168#false} is VALID [2018-11-23 12:17:12,541 INFO L273 TraceCheckUtils]: 87: Hoare triple {10168#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10168#false} is VALID [2018-11-23 12:17:12,542 INFO L273 TraceCheckUtils]: 88: Hoare triple {10168#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10168#false} is VALID [2018-11-23 12:17:12,542 INFO L273 TraceCheckUtils]: 89: Hoare triple {10168#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10168#false} is VALID [2018-11-23 12:17:12,542 INFO L273 TraceCheckUtils]: 90: Hoare triple {10168#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10168#false} is VALID [2018-11-23 12:17:12,542 INFO L273 TraceCheckUtils]: 91: Hoare triple {10168#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10168#false} is VALID [2018-11-23 12:17:12,542 INFO L273 TraceCheckUtils]: 92: Hoare triple {10168#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10168#false} is VALID [2018-11-23 12:17:12,542 INFO L273 TraceCheckUtils]: 93: Hoare triple {10168#false} assume !(~i~2 < 19); {10168#false} is VALID [2018-11-23 12:17:12,542 INFO L273 TraceCheckUtils]: 94: Hoare triple {10168#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {10168#false} is VALID [2018-11-23 12:17:12,542 INFO L256 TraceCheckUtils]: 95: Hoare triple {10168#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {10168#false} is VALID [2018-11-23 12:17:12,542 INFO L273 TraceCheckUtils]: 96: Hoare triple {10168#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {10168#false} is VALID [2018-11-23 12:17:12,543 INFO L273 TraceCheckUtils]: 97: Hoare triple {10168#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:12,543 INFO L273 TraceCheckUtils]: 98: Hoare triple {10168#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10168#false} is VALID [2018-11-23 12:17:12,543 INFO L273 TraceCheckUtils]: 99: Hoare triple {10168#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10168#false} is VALID [2018-11-23 12:17:12,543 INFO L273 TraceCheckUtils]: 100: Hoare triple {10168#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:12,543 INFO L273 TraceCheckUtils]: 101: Hoare triple {10168#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10168#false} is VALID [2018-11-23 12:17:12,543 INFO L273 TraceCheckUtils]: 102: Hoare triple {10168#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10168#false} is VALID [2018-11-23 12:17:12,543 INFO L273 TraceCheckUtils]: 103: Hoare triple {10168#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:12,543 INFO L273 TraceCheckUtils]: 104: Hoare triple {10168#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10168#false} is VALID [2018-11-23 12:17:12,544 INFO L273 TraceCheckUtils]: 105: Hoare triple {10168#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10168#false} is VALID [2018-11-23 12:17:12,544 INFO L273 TraceCheckUtils]: 106: Hoare triple {10168#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:12,544 INFO L273 TraceCheckUtils]: 107: Hoare triple {10168#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10168#false} is VALID [2018-11-23 12:17:12,544 INFO L273 TraceCheckUtils]: 108: Hoare triple {10168#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10168#false} is VALID [2018-11-23 12:17:12,544 INFO L273 TraceCheckUtils]: 109: Hoare triple {10168#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:12,544 INFO L273 TraceCheckUtils]: 110: Hoare triple {10168#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {10168#false} is VALID [2018-11-23 12:17:12,544 INFO L273 TraceCheckUtils]: 111: Hoare triple {10168#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10168#false} is VALID [2018-11-23 12:17:12,544 INFO L273 TraceCheckUtils]: 112: Hoare triple {10168#false} assume !(~i~0 < 20); {10168#false} is VALID [2018-11-23 12:17:12,544 INFO L273 TraceCheckUtils]: 113: Hoare triple {10168#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {10168#false} is VALID [2018-11-23 12:17:12,545 INFO L273 TraceCheckUtils]: 114: Hoare triple {10168#false} assume true; {10168#false} is VALID [2018-11-23 12:17:12,545 INFO L268 TraceCheckUtils]: 115: Hoare quadruple {10168#false} {10168#false} #79#return; {10168#false} is VALID [2018-11-23 12:17:12,545 INFO L273 TraceCheckUtils]: 116: Hoare triple {10168#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {10168#false} is VALID [2018-11-23 12:17:12,545 INFO L273 TraceCheckUtils]: 117: Hoare triple {10168#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {10168#false} is VALID [2018-11-23 12:17:12,545 INFO L273 TraceCheckUtils]: 118: Hoare triple {10168#false} assume !false; {10168#false} is VALID [2018-11-23 12:17:12,551 INFO L134 CoverageAnalysis]: Checked inductivity of 680 backedges. 174 proven. 35 refuted. 0 times theorem prover too weak. 471 trivial. 0 not checked. [2018-11-23 12:17:12,571 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:12,571 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 8] total 26 [2018-11-23 12:17:12,571 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 119 [2018-11-23 12:17:12,572 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:12,572 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-23 12:17:12,666 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:12,667 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 12:17:12,667 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 12:17:12,667 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=217, Invalid=433, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:17:12,668 INFO L87 Difference]: Start difference. First operand 80 states and 89 transitions. Second operand 26 states. [2018-11-23 12:17:13,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:13,980 INFO L93 Difference]: Finished difference Result 127 states and 151 transitions. [2018-11-23 12:17:13,980 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2018-11-23 12:17:13,980 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 119 [2018-11-23 12:17:13,981 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:13,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:17:13,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 120 transitions. [2018-11-23 12:17:13,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:17:13,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 120 transitions. [2018-11-23 12:17:13,984 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 120 transitions. [2018-11-23 12:17:14,178 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:14,179 INFO L225 Difference]: With dead ends: 127 [2018-11-23 12:17:14,180 INFO L226 Difference]: Without dead ends: 88 [2018-11-23 12:17:14,180 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 114 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=217, Invalid=433, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:17:14,180 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2018-11-23 12:17:14,207 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 85. [2018-11-23 12:17:14,207 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:14,207 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand 85 states. [2018-11-23 12:17:14,207 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand 85 states. [2018-11-23 12:17:14,207 INFO L87 Difference]: Start difference. First operand 88 states. Second operand 85 states. [2018-11-23 12:17:14,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:14,209 INFO L93 Difference]: Finished difference Result 88 states and 99 transitions. [2018-11-23 12:17:14,209 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 99 transitions. [2018-11-23 12:17:14,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:14,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:14,210 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 88 states. [2018-11-23 12:17:14,210 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 88 states. [2018-11-23 12:17:14,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:14,211 INFO L93 Difference]: Finished difference Result 88 states and 99 transitions. [2018-11-23 12:17:14,211 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 99 transitions. [2018-11-23 12:17:14,212 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:14,212 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:14,212 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:14,212 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:14,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 85 states. [2018-11-23 12:17:14,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 95 transitions. [2018-11-23 12:17:14,214 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 95 transitions. Word has length 119 [2018-11-23 12:17:14,214 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:14,214 INFO L480 AbstractCegarLoop]: Abstraction has 85 states and 95 transitions. [2018-11-23 12:17:14,214 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 12:17:14,214 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 95 transitions. [2018-11-23 12:17:14,215 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 131 [2018-11-23 12:17:14,215 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:14,215 INFO L402 BasicCegarLoop]: trace histogram [18, 18, 18, 18, 18, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:14,216 INFO L423 AbstractCegarLoop]: === Iteration 22 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:14,216 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:14,216 INFO L82 PathProgramCache]: Analyzing trace with hash -576331982, now seen corresponding path program 18 times [2018-11-23 12:17:14,216 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:14,216 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:14,217 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:14,217 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:14,217 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:14,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:14,770 INFO L256 TraceCheckUtils]: 0: Hoare triple {11030#true} call ULTIMATE.init(); {11030#true} is VALID [2018-11-23 12:17:14,770 INFO L273 TraceCheckUtils]: 1: Hoare triple {11030#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {11030#true} is VALID [2018-11-23 12:17:14,770 INFO L273 TraceCheckUtils]: 2: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:14,770 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11030#true} {11030#true} #71#return; {11030#true} is VALID [2018-11-23 12:17:14,771 INFO L256 TraceCheckUtils]: 4: Hoare triple {11030#true} call #t~ret14 := main(); {11030#true} is VALID [2018-11-23 12:17:14,771 INFO L273 TraceCheckUtils]: 5: Hoare triple {11030#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {11032#(= main_~i~1 0)} is VALID [2018-11-23 12:17:14,772 INFO L273 TraceCheckUtils]: 6: Hoare triple {11032#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11032#(= main_~i~1 0)} is VALID [2018-11-23 12:17:14,772 INFO L273 TraceCheckUtils]: 7: Hoare triple {11032#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11033#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:14,773 INFO L273 TraceCheckUtils]: 8: Hoare triple {11033#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11033#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:14,774 INFO L273 TraceCheckUtils]: 9: Hoare triple {11033#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11034#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:14,774 INFO L273 TraceCheckUtils]: 10: Hoare triple {11034#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11034#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:14,775 INFO L273 TraceCheckUtils]: 11: Hoare triple {11034#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11035#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:14,775 INFO L273 TraceCheckUtils]: 12: Hoare triple {11035#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11035#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:14,776 INFO L273 TraceCheckUtils]: 13: Hoare triple {11035#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11036#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:14,777 INFO L273 TraceCheckUtils]: 14: Hoare triple {11036#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11036#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:14,777 INFO L273 TraceCheckUtils]: 15: Hoare triple {11036#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11037#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:14,778 INFO L273 TraceCheckUtils]: 16: Hoare triple {11037#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11037#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:14,779 INFO L273 TraceCheckUtils]: 17: Hoare triple {11037#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11038#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:14,779 INFO L273 TraceCheckUtils]: 18: Hoare triple {11038#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11038#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:14,780 INFO L273 TraceCheckUtils]: 19: Hoare triple {11038#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11039#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:14,780 INFO L273 TraceCheckUtils]: 20: Hoare triple {11039#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11039#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:14,781 INFO L273 TraceCheckUtils]: 21: Hoare triple {11039#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11040#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:14,782 INFO L273 TraceCheckUtils]: 22: Hoare triple {11040#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11040#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:14,782 INFO L273 TraceCheckUtils]: 23: Hoare triple {11040#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11041#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:14,783 INFO L273 TraceCheckUtils]: 24: Hoare triple {11041#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11041#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:14,784 INFO L273 TraceCheckUtils]: 25: Hoare triple {11041#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11042#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:14,784 INFO L273 TraceCheckUtils]: 26: Hoare triple {11042#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11042#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:14,785 INFO L273 TraceCheckUtils]: 27: Hoare triple {11042#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11043#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:14,785 INFO L273 TraceCheckUtils]: 28: Hoare triple {11043#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11043#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:14,786 INFO L273 TraceCheckUtils]: 29: Hoare triple {11043#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11044#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:14,787 INFO L273 TraceCheckUtils]: 30: Hoare triple {11044#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11044#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:14,787 INFO L273 TraceCheckUtils]: 31: Hoare triple {11044#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11045#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:14,788 INFO L273 TraceCheckUtils]: 32: Hoare triple {11045#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11045#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:14,789 INFO L273 TraceCheckUtils]: 33: Hoare triple {11045#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11046#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:14,789 INFO L273 TraceCheckUtils]: 34: Hoare triple {11046#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11046#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:14,790 INFO L273 TraceCheckUtils]: 35: Hoare triple {11046#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11047#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:14,791 INFO L273 TraceCheckUtils]: 36: Hoare triple {11047#(<= main_~i~1 15)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11047#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:14,791 INFO L273 TraceCheckUtils]: 37: Hoare triple {11047#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11048#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:14,792 INFO L273 TraceCheckUtils]: 38: Hoare triple {11048#(<= main_~i~1 16)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11048#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:14,792 INFO L273 TraceCheckUtils]: 39: Hoare triple {11048#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11049#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:14,793 INFO L273 TraceCheckUtils]: 40: Hoare triple {11049#(<= main_~i~1 17)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11049#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:14,794 INFO L273 TraceCheckUtils]: 41: Hoare triple {11049#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11050#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:14,794 INFO L273 TraceCheckUtils]: 42: Hoare triple {11050#(<= main_~i~1 18)} assume !(~i~1 < 20); {11031#false} is VALID [2018-11-23 12:17:14,795 INFO L256 TraceCheckUtils]: 43: Hoare triple {11031#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {11030#true} is VALID [2018-11-23 12:17:14,795 INFO L273 TraceCheckUtils]: 44: Hoare triple {11030#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11030#true} is VALID [2018-11-23 12:17:14,795 INFO L273 TraceCheckUtils]: 45: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,795 INFO L273 TraceCheckUtils]: 46: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,795 INFO L273 TraceCheckUtils]: 47: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,796 INFO L273 TraceCheckUtils]: 48: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,796 INFO L273 TraceCheckUtils]: 49: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,796 INFO L273 TraceCheckUtils]: 50: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,796 INFO L273 TraceCheckUtils]: 51: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,796 INFO L273 TraceCheckUtils]: 52: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,797 INFO L273 TraceCheckUtils]: 53: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,797 INFO L273 TraceCheckUtils]: 54: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,797 INFO L273 TraceCheckUtils]: 55: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,797 INFO L273 TraceCheckUtils]: 56: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,797 INFO L273 TraceCheckUtils]: 57: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,797 INFO L273 TraceCheckUtils]: 58: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,798 INFO L273 TraceCheckUtils]: 59: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,798 INFO L273 TraceCheckUtils]: 60: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,798 INFO L273 TraceCheckUtils]: 61: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,798 INFO L273 TraceCheckUtils]: 62: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,798 INFO L273 TraceCheckUtils]: 63: Hoare triple {11030#true} assume !(~i~0 < 20); {11030#true} is VALID [2018-11-23 12:17:14,799 INFO L273 TraceCheckUtils]: 64: Hoare triple {11030#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11030#true} is VALID [2018-11-23 12:17:14,799 INFO L273 TraceCheckUtils]: 65: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:14,799 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {11030#true} {11031#false} #75#return; {11031#false} is VALID [2018-11-23 12:17:14,799 INFO L273 TraceCheckUtils]: 67: Hoare triple {11031#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {11031#false} is VALID [2018-11-23 12:17:14,799 INFO L256 TraceCheckUtils]: 68: Hoare triple {11031#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {11030#true} is VALID [2018-11-23 12:17:14,799 INFO L273 TraceCheckUtils]: 69: Hoare triple {11030#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11030#true} is VALID [2018-11-23 12:17:14,799 INFO L273 TraceCheckUtils]: 70: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,799 INFO L273 TraceCheckUtils]: 71: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,799 INFO L273 TraceCheckUtils]: 72: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,800 INFO L273 TraceCheckUtils]: 73: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,800 INFO L273 TraceCheckUtils]: 74: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,800 INFO L273 TraceCheckUtils]: 75: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,800 INFO L273 TraceCheckUtils]: 76: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,800 INFO L273 TraceCheckUtils]: 77: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,800 INFO L273 TraceCheckUtils]: 78: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,800 INFO L273 TraceCheckUtils]: 79: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,800 INFO L273 TraceCheckUtils]: 80: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,800 INFO L273 TraceCheckUtils]: 81: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,801 INFO L273 TraceCheckUtils]: 82: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,801 INFO L273 TraceCheckUtils]: 83: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,801 INFO L273 TraceCheckUtils]: 84: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,801 INFO L273 TraceCheckUtils]: 85: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,801 INFO L273 TraceCheckUtils]: 86: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,801 INFO L273 TraceCheckUtils]: 87: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,801 INFO L273 TraceCheckUtils]: 88: Hoare triple {11030#true} assume !(~i~0 < 20); {11030#true} is VALID [2018-11-23 12:17:14,801 INFO L273 TraceCheckUtils]: 89: Hoare triple {11030#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11030#true} is VALID [2018-11-23 12:17:14,801 INFO L273 TraceCheckUtils]: 90: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:14,802 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {11030#true} {11031#false} #77#return; {11031#false} is VALID [2018-11-23 12:17:14,802 INFO L273 TraceCheckUtils]: 92: Hoare triple {11031#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {11031#false} is VALID [2018-11-23 12:17:14,802 INFO L273 TraceCheckUtils]: 93: Hoare triple {11031#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11031#false} is VALID [2018-11-23 12:17:14,802 INFO L273 TraceCheckUtils]: 94: Hoare triple {11031#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11031#false} is VALID [2018-11-23 12:17:14,802 INFO L273 TraceCheckUtils]: 95: Hoare triple {11031#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11031#false} is VALID [2018-11-23 12:17:14,802 INFO L273 TraceCheckUtils]: 96: Hoare triple {11031#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11031#false} is VALID [2018-11-23 12:17:14,802 INFO L273 TraceCheckUtils]: 97: Hoare triple {11031#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11031#false} is VALID [2018-11-23 12:17:14,802 INFO L273 TraceCheckUtils]: 98: Hoare triple {11031#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11031#false} is VALID [2018-11-23 12:17:14,802 INFO L273 TraceCheckUtils]: 99: Hoare triple {11031#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11031#false} is VALID [2018-11-23 12:17:14,803 INFO L273 TraceCheckUtils]: 100: Hoare triple {11031#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11031#false} is VALID [2018-11-23 12:17:14,803 INFO L273 TraceCheckUtils]: 101: Hoare triple {11031#false} assume !(~i~2 < 19); {11031#false} is VALID [2018-11-23 12:17:14,803 INFO L273 TraceCheckUtils]: 102: Hoare triple {11031#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {11031#false} is VALID [2018-11-23 12:17:14,803 INFO L256 TraceCheckUtils]: 103: Hoare triple {11031#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {11030#true} is VALID [2018-11-23 12:17:14,803 INFO L273 TraceCheckUtils]: 104: Hoare triple {11030#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11030#true} is VALID [2018-11-23 12:17:14,803 INFO L273 TraceCheckUtils]: 105: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,803 INFO L273 TraceCheckUtils]: 106: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,803 INFO L273 TraceCheckUtils]: 107: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,804 INFO L273 TraceCheckUtils]: 108: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,804 INFO L273 TraceCheckUtils]: 109: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,804 INFO L273 TraceCheckUtils]: 110: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,804 INFO L273 TraceCheckUtils]: 111: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,804 INFO L273 TraceCheckUtils]: 112: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,804 INFO L273 TraceCheckUtils]: 113: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,804 INFO L273 TraceCheckUtils]: 114: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,804 INFO L273 TraceCheckUtils]: 115: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,804 INFO L273 TraceCheckUtils]: 116: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,805 INFO L273 TraceCheckUtils]: 117: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,805 INFO L273 TraceCheckUtils]: 118: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,805 INFO L273 TraceCheckUtils]: 119: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,805 INFO L273 TraceCheckUtils]: 120: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:14,805 INFO L273 TraceCheckUtils]: 121: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:14,805 INFO L273 TraceCheckUtils]: 122: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:14,805 INFO L273 TraceCheckUtils]: 123: Hoare triple {11030#true} assume !(~i~0 < 20); {11030#true} is VALID [2018-11-23 12:17:14,805 INFO L273 TraceCheckUtils]: 124: Hoare triple {11030#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11030#true} is VALID [2018-11-23 12:17:14,805 INFO L273 TraceCheckUtils]: 125: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:14,806 INFO L268 TraceCheckUtils]: 126: Hoare quadruple {11030#true} {11031#false} #79#return; {11031#false} is VALID [2018-11-23 12:17:14,806 INFO L273 TraceCheckUtils]: 127: Hoare triple {11031#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {11031#false} is VALID [2018-11-23 12:17:14,806 INFO L273 TraceCheckUtils]: 128: Hoare triple {11031#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {11031#false} is VALID [2018-11-23 12:17:14,806 INFO L273 TraceCheckUtils]: 129: Hoare triple {11031#false} assume !false; {11031#false} is VALID [2018-11-23 12:17:14,813 INFO L134 CoverageAnalysis]: Checked inductivity of 868 backedges. 0 proven. 324 refuted. 0 times theorem prover too weak. 544 trivial. 0 not checked. [2018-11-23 12:17:14,813 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:14,814 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:14,822 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:17:14,987 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2018-11-23 12:17:14,987 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:15,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:15,032 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:15,187 INFO L256 TraceCheckUtils]: 0: Hoare triple {11030#true} call ULTIMATE.init(); {11030#true} is VALID [2018-11-23 12:17:15,187 INFO L273 TraceCheckUtils]: 1: Hoare triple {11030#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {11030#true} is VALID [2018-11-23 12:17:15,187 INFO L273 TraceCheckUtils]: 2: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:15,188 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11030#true} {11030#true} #71#return; {11030#true} is VALID [2018-11-23 12:17:15,188 INFO L256 TraceCheckUtils]: 4: Hoare triple {11030#true} call #t~ret14 := main(); {11030#true} is VALID [2018-11-23 12:17:15,188 INFO L273 TraceCheckUtils]: 5: Hoare triple {11030#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {11030#true} is VALID [2018-11-23 12:17:15,188 INFO L273 TraceCheckUtils]: 6: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,188 INFO L273 TraceCheckUtils]: 7: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,189 INFO L273 TraceCheckUtils]: 8: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,189 INFO L273 TraceCheckUtils]: 9: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,189 INFO L273 TraceCheckUtils]: 10: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,189 INFO L273 TraceCheckUtils]: 11: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,189 INFO L273 TraceCheckUtils]: 12: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,189 INFO L273 TraceCheckUtils]: 13: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,189 INFO L273 TraceCheckUtils]: 14: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,190 INFO L273 TraceCheckUtils]: 15: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,190 INFO L273 TraceCheckUtils]: 16: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,190 INFO L273 TraceCheckUtils]: 17: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,190 INFO L273 TraceCheckUtils]: 18: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,190 INFO L273 TraceCheckUtils]: 19: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,190 INFO L273 TraceCheckUtils]: 20: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,190 INFO L273 TraceCheckUtils]: 21: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,190 INFO L273 TraceCheckUtils]: 22: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,190 INFO L273 TraceCheckUtils]: 23: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,191 INFO L273 TraceCheckUtils]: 24: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,191 INFO L273 TraceCheckUtils]: 25: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,191 INFO L273 TraceCheckUtils]: 26: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,191 INFO L273 TraceCheckUtils]: 27: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,191 INFO L273 TraceCheckUtils]: 28: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,191 INFO L273 TraceCheckUtils]: 29: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,191 INFO L273 TraceCheckUtils]: 30: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,191 INFO L273 TraceCheckUtils]: 31: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,191 INFO L273 TraceCheckUtils]: 32: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,192 INFO L273 TraceCheckUtils]: 33: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,192 INFO L273 TraceCheckUtils]: 34: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,192 INFO L273 TraceCheckUtils]: 35: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,192 INFO L273 TraceCheckUtils]: 36: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,192 INFO L273 TraceCheckUtils]: 37: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,192 INFO L273 TraceCheckUtils]: 38: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,192 INFO L273 TraceCheckUtils]: 39: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,192 INFO L273 TraceCheckUtils]: 40: Hoare triple {11030#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11030#true} is VALID [2018-11-23 12:17:15,193 INFO L273 TraceCheckUtils]: 41: Hoare triple {11030#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11030#true} is VALID [2018-11-23 12:17:15,193 INFO L273 TraceCheckUtils]: 42: Hoare triple {11030#true} assume !(~i~1 < 20); {11030#true} is VALID [2018-11-23 12:17:15,193 INFO L256 TraceCheckUtils]: 43: Hoare triple {11030#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {11030#true} is VALID [2018-11-23 12:17:15,193 INFO L273 TraceCheckUtils]: 44: Hoare triple {11030#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11030#true} is VALID [2018-11-23 12:17:15,193 INFO L273 TraceCheckUtils]: 45: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:15,193 INFO L273 TraceCheckUtils]: 46: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:15,193 INFO L273 TraceCheckUtils]: 47: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:15,193 INFO L273 TraceCheckUtils]: 48: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:15,193 INFO L273 TraceCheckUtils]: 49: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:15,194 INFO L273 TraceCheckUtils]: 50: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:15,194 INFO L273 TraceCheckUtils]: 51: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:15,194 INFO L273 TraceCheckUtils]: 52: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:15,194 INFO L273 TraceCheckUtils]: 53: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:15,194 INFO L273 TraceCheckUtils]: 54: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:15,194 INFO L273 TraceCheckUtils]: 55: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:15,194 INFO L273 TraceCheckUtils]: 56: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:15,194 INFO L273 TraceCheckUtils]: 57: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:15,194 INFO L273 TraceCheckUtils]: 58: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:15,195 INFO L273 TraceCheckUtils]: 59: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:15,195 INFO L273 TraceCheckUtils]: 60: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:15,195 INFO L273 TraceCheckUtils]: 61: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:15,195 INFO L273 TraceCheckUtils]: 62: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:15,195 INFO L273 TraceCheckUtils]: 63: Hoare triple {11030#true} assume !(~i~0 < 20); {11030#true} is VALID [2018-11-23 12:17:15,195 INFO L273 TraceCheckUtils]: 64: Hoare triple {11030#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11030#true} is VALID [2018-11-23 12:17:15,195 INFO L273 TraceCheckUtils]: 65: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:15,195 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {11030#true} {11030#true} #75#return; {11030#true} is VALID [2018-11-23 12:17:15,195 INFO L273 TraceCheckUtils]: 67: Hoare triple {11030#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {11030#true} is VALID [2018-11-23 12:17:15,196 INFO L256 TraceCheckUtils]: 68: Hoare triple {11030#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {11030#true} is VALID [2018-11-23 12:17:15,196 INFO L273 TraceCheckUtils]: 69: Hoare triple {11030#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11030#true} is VALID [2018-11-23 12:17:15,196 INFO L273 TraceCheckUtils]: 70: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:15,196 INFO L273 TraceCheckUtils]: 71: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:15,196 INFO L273 TraceCheckUtils]: 72: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:15,196 INFO L273 TraceCheckUtils]: 73: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:15,196 INFO L273 TraceCheckUtils]: 74: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:15,196 INFO L273 TraceCheckUtils]: 75: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:15,196 INFO L273 TraceCheckUtils]: 76: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:15,197 INFO L273 TraceCheckUtils]: 77: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:15,197 INFO L273 TraceCheckUtils]: 78: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:15,197 INFO L273 TraceCheckUtils]: 79: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:15,197 INFO L273 TraceCheckUtils]: 80: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:15,197 INFO L273 TraceCheckUtils]: 81: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:15,197 INFO L273 TraceCheckUtils]: 82: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:15,197 INFO L273 TraceCheckUtils]: 83: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:15,197 INFO L273 TraceCheckUtils]: 84: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:15,198 INFO L273 TraceCheckUtils]: 85: Hoare triple {11030#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:15,198 INFO L273 TraceCheckUtils]: 86: Hoare triple {11030#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11030#true} is VALID [2018-11-23 12:17:15,198 INFO L273 TraceCheckUtils]: 87: Hoare triple {11030#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11030#true} is VALID [2018-11-23 12:17:15,198 INFO L273 TraceCheckUtils]: 88: Hoare triple {11030#true} assume !(~i~0 < 20); {11030#true} is VALID [2018-11-23 12:17:15,198 INFO L273 TraceCheckUtils]: 89: Hoare triple {11030#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11030#true} is VALID [2018-11-23 12:17:15,198 INFO L273 TraceCheckUtils]: 90: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:15,198 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {11030#true} {11030#true} #77#return; {11030#true} is VALID [2018-11-23 12:17:15,201 INFO L273 TraceCheckUtils]: 92: Hoare triple {11030#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {11330#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:15,201 INFO L273 TraceCheckUtils]: 93: Hoare triple {11330#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11330#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:15,202 INFO L273 TraceCheckUtils]: 94: Hoare triple {11330#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11337#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:15,202 INFO L273 TraceCheckUtils]: 95: Hoare triple {11337#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11337#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:15,202 INFO L273 TraceCheckUtils]: 96: Hoare triple {11337#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11344#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:15,203 INFO L273 TraceCheckUtils]: 97: Hoare triple {11344#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11344#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:15,203 INFO L273 TraceCheckUtils]: 98: Hoare triple {11344#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11351#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:15,204 INFO L273 TraceCheckUtils]: 99: Hoare triple {11351#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11351#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:15,204 INFO L273 TraceCheckUtils]: 100: Hoare triple {11351#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11358#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:15,205 INFO L273 TraceCheckUtils]: 101: Hoare triple {11358#(<= main_~i~2 4)} assume !(~i~2 < 19); {11031#false} is VALID [2018-11-23 12:17:15,205 INFO L273 TraceCheckUtils]: 102: Hoare triple {11031#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {11031#false} is VALID [2018-11-23 12:17:15,205 INFO L256 TraceCheckUtils]: 103: Hoare triple {11031#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {11031#false} is VALID [2018-11-23 12:17:15,205 INFO L273 TraceCheckUtils]: 104: Hoare triple {11031#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11031#false} is VALID [2018-11-23 12:17:15,205 INFO L273 TraceCheckUtils]: 105: Hoare triple {11031#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11031#false} is VALID [2018-11-23 12:17:15,205 INFO L273 TraceCheckUtils]: 106: Hoare triple {11031#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11031#false} is VALID [2018-11-23 12:17:15,205 INFO L273 TraceCheckUtils]: 107: Hoare triple {11031#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11031#false} is VALID [2018-11-23 12:17:15,206 INFO L273 TraceCheckUtils]: 108: Hoare triple {11031#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11031#false} is VALID [2018-11-23 12:17:15,206 INFO L273 TraceCheckUtils]: 109: Hoare triple {11031#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11031#false} is VALID [2018-11-23 12:17:15,206 INFO L273 TraceCheckUtils]: 110: Hoare triple {11031#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11031#false} is VALID [2018-11-23 12:17:15,206 INFO L273 TraceCheckUtils]: 111: Hoare triple {11031#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11031#false} is VALID [2018-11-23 12:17:15,206 INFO L273 TraceCheckUtils]: 112: Hoare triple {11031#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11031#false} is VALID [2018-11-23 12:17:15,207 INFO L273 TraceCheckUtils]: 113: Hoare triple {11031#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11031#false} is VALID [2018-11-23 12:17:15,207 INFO L273 TraceCheckUtils]: 114: Hoare triple {11031#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11031#false} is VALID [2018-11-23 12:17:15,207 INFO L273 TraceCheckUtils]: 115: Hoare triple {11031#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11031#false} is VALID [2018-11-23 12:17:15,207 INFO L273 TraceCheckUtils]: 116: Hoare triple {11031#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11031#false} is VALID [2018-11-23 12:17:15,207 INFO L273 TraceCheckUtils]: 117: Hoare triple {11031#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11031#false} is VALID [2018-11-23 12:17:15,207 INFO L273 TraceCheckUtils]: 118: Hoare triple {11031#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11031#false} is VALID [2018-11-23 12:17:15,208 INFO L273 TraceCheckUtils]: 119: Hoare triple {11031#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11031#false} is VALID [2018-11-23 12:17:15,208 INFO L273 TraceCheckUtils]: 120: Hoare triple {11031#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11031#false} is VALID [2018-11-23 12:17:15,208 INFO L273 TraceCheckUtils]: 121: Hoare triple {11031#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11031#false} is VALID [2018-11-23 12:17:15,208 INFO L273 TraceCheckUtils]: 122: Hoare triple {11031#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11031#false} is VALID [2018-11-23 12:17:15,208 INFO L273 TraceCheckUtils]: 123: Hoare triple {11031#false} assume !(~i~0 < 20); {11031#false} is VALID [2018-11-23 12:17:15,208 INFO L273 TraceCheckUtils]: 124: Hoare triple {11031#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11031#false} is VALID [2018-11-23 12:17:15,208 INFO L273 TraceCheckUtils]: 125: Hoare triple {11031#false} assume true; {11031#false} is VALID [2018-11-23 12:17:15,209 INFO L268 TraceCheckUtils]: 126: Hoare quadruple {11031#false} {11031#false} #79#return; {11031#false} is VALID [2018-11-23 12:17:15,209 INFO L273 TraceCheckUtils]: 127: Hoare triple {11031#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {11031#false} is VALID [2018-11-23 12:17:15,209 INFO L273 TraceCheckUtils]: 128: Hoare triple {11031#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {11031#false} is VALID [2018-11-23 12:17:15,209 INFO L273 TraceCheckUtils]: 129: Hoare triple {11031#false} assume !false; {11031#false} is VALID [2018-11-23 12:17:15,215 INFO L134 CoverageAnalysis]: Checked inductivity of 868 backedges. 250 proven. 16 refuted. 0 times theorem prover too weak. 602 trivial. 0 not checked. [2018-11-23 12:17:15,235 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:15,235 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 7] total 26 [2018-11-23 12:17:15,236 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 130 [2018-11-23 12:17:15,236 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:15,236 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-23 12:17:15,342 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:15,342 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 12:17:15,342 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 12:17:15,343 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=230, Invalid=420, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:17:15,343 INFO L87 Difference]: Start difference. First operand 85 states and 95 transitions. Second operand 26 states. [2018-11-23 12:17:15,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:15,960 INFO L93 Difference]: Finished difference Result 133 states and 154 transitions. [2018-11-23 12:17:15,960 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2018-11-23 12:17:15,960 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 130 [2018-11-23 12:17:15,960 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:15,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:17:15,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 105 transitions. [2018-11-23 12:17:15,962 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:17:15,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 105 transitions. [2018-11-23 12:17:15,963 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 105 transitions. [2018-11-23 12:17:16,061 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:16,063 INFO L225 Difference]: With dead ends: 133 [2018-11-23 12:17:16,063 INFO L226 Difference]: Without dead ends: 91 [2018-11-23 12:17:16,064 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 126 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 90 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=230, Invalid=420, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:17:16,064 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2018-11-23 12:17:16,093 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 89. [2018-11-23 12:17:16,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:16,093 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand 89 states. [2018-11-23 12:17:16,093 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 89 states. [2018-11-23 12:17:16,093 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 89 states. [2018-11-23 12:17:16,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:16,095 INFO L93 Difference]: Finished difference Result 91 states and 101 transitions. [2018-11-23 12:17:16,095 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 101 transitions. [2018-11-23 12:17:16,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:16,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:16,096 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 91 states. [2018-11-23 12:17:16,096 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 91 states. [2018-11-23 12:17:16,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:16,098 INFO L93 Difference]: Finished difference Result 91 states and 101 transitions. [2018-11-23 12:17:16,098 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 101 transitions. [2018-11-23 12:17:16,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:16,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:16,099 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:16,099 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:16,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 89 states. [2018-11-23 12:17:16,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 99 transitions. [2018-11-23 12:17:16,100 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 99 transitions. Word has length 130 [2018-11-23 12:17:16,101 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:16,101 INFO L480 AbstractCegarLoop]: Abstraction has 89 states and 99 transitions. [2018-11-23 12:17:16,101 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 12:17:16,101 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 99 transitions. [2018-11-23 12:17:16,102 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 135 [2018-11-23 12:17:16,102 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:16,102 INFO L402 BasicCegarLoop]: trace histogram [19, 19, 18, 18, 18, 5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:16,102 INFO L423 AbstractCegarLoop]: === Iteration 23 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:16,102 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:16,103 INFO L82 PathProgramCache]: Analyzing trace with hash 2079637010, now seen corresponding path program 19 times [2018-11-23 12:17:16,103 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:16,103 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:16,103 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:16,104 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:16,104 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:16,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:17,534 INFO L256 TraceCheckUtils]: 0: Hoare triple {11947#true} call ULTIMATE.init(); {11947#true} is VALID [2018-11-23 12:17:17,535 INFO L273 TraceCheckUtils]: 1: Hoare triple {11947#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {11947#true} is VALID [2018-11-23 12:17:17,535 INFO L273 TraceCheckUtils]: 2: Hoare triple {11947#true} assume true; {11947#true} is VALID [2018-11-23 12:17:17,535 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11947#true} {11947#true} #71#return; {11947#true} is VALID [2018-11-23 12:17:17,535 INFO L256 TraceCheckUtils]: 4: Hoare triple {11947#true} call #t~ret14 := main(); {11947#true} is VALID [2018-11-23 12:17:17,538 INFO L273 TraceCheckUtils]: 5: Hoare triple {11947#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {11949#(= main_~i~1 0)} is VALID [2018-11-23 12:17:17,539 INFO L273 TraceCheckUtils]: 6: Hoare triple {11949#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11949#(= main_~i~1 0)} is VALID [2018-11-23 12:17:17,539 INFO L273 TraceCheckUtils]: 7: Hoare triple {11949#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11950#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:17,540 INFO L273 TraceCheckUtils]: 8: Hoare triple {11950#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11950#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:17,540 INFO L273 TraceCheckUtils]: 9: Hoare triple {11950#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11951#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:17,540 INFO L273 TraceCheckUtils]: 10: Hoare triple {11951#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11951#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:17,541 INFO L273 TraceCheckUtils]: 11: Hoare triple {11951#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11952#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:17,541 INFO L273 TraceCheckUtils]: 12: Hoare triple {11952#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11952#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:17,542 INFO L273 TraceCheckUtils]: 13: Hoare triple {11952#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11953#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:17,542 INFO L273 TraceCheckUtils]: 14: Hoare triple {11953#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11953#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:17,543 INFO L273 TraceCheckUtils]: 15: Hoare triple {11953#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11954#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:17,543 INFO L273 TraceCheckUtils]: 16: Hoare triple {11954#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11954#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:17,544 INFO L273 TraceCheckUtils]: 17: Hoare triple {11954#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11955#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:17,545 INFO L273 TraceCheckUtils]: 18: Hoare triple {11955#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11955#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:17,545 INFO L273 TraceCheckUtils]: 19: Hoare triple {11955#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11956#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:17,546 INFO L273 TraceCheckUtils]: 20: Hoare triple {11956#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11956#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:17,547 INFO L273 TraceCheckUtils]: 21: Hoare triple {11956#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11957#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:17,547 INFO L273 TraceCheckUtils]: 22: Hoare triple {11957#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11957#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:17,548 INFO L273 TraceCheckUtils]: 23: Hoare triple {11957#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11958#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:17,548 INFO L273 TraceCheckUtils]: 24: Hoare triple {11958#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11958#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:17,549 INFO L273 TraceCheckUtils]: 25: Hoare triple {11958#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11959#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:17,550 INFO L273 TraceCheckUtils]: 26: Hoare triple {11959#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11959#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:17,550 INFO L273 TraceCheckUtils]: 27: Hoare triple {11959#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11960#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:17,551 INFO L273 TraceCheckUtils]: 28: Hoare triple {11960#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11960#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:17,552 INFO L273 TraceCheckUtils]: 29: Hoare triple {11960#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11961#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:17,552 INFO L273 TraceCheckUtils]: 30: Hoare triple {11961#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11961#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:17,553 INFO L273 TraceCheckUtils]: 31: Hoare triple {11961#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11962#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:17,554 INFO L273 TraceCheckUtils]: 32: Hoare triple {11962#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11962#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:17,554 INFO L273 TraceCheckUtils]: 33: Hoare triple {11962#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11963#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:17,555 INFO L273 TraceCheckUtils]: 34: Hoare triple {11963#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11963#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:17,556 INFO L273 TraceCheckUtils]: 35: Hoare triple {11963#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11964#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:17,574 INFO L273 TraceCheckUtils]: 36: Hoare triple {11964#(<= main_~i~1 15)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11964#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:17,583 INFO L273 TraceCheckUtils]: 37: Hoare triple {11964#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11965#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:17,596 INFO L273 TraceCheckUtils]: 38: Hoare triple {11965#(<= main_~i~1 16)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11965#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:17,605 INFO L273 TraceCheckUtils]: 39: Hoare triple {11965#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11966#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:17,618 INFO L273 TraceCheckUtils]: 40: Hoare triple {11966#(<= main_~i~1 17)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11966#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:17,627 INFO L273 TraceCheckUtils]: 41: Hoare triple {11966#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11967#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:17,642 INFO L273 TraceCheckUtils]: 42: Hoare triple {11967#(<= main_~i~1 18)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11967#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:17,651 INFO L273 TraceCheckUtils]: 43: Hoare triple {11967#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11968#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:17,663 INFO L273 TraceCheckUtils]: 44: Hoare triple {11968#(<= main_~i~1 19)} assume !(~i~1 < 20); {11948#false} is VALID [2018-11-23 12:17:17,664 INFO L256 TraceCheckUtils]: 45: Hoare triple {11948#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {11947#true} is VALID [2018-11-23 12:17:17,664 INFO L273 TraceCheckUtils]: 46: Hoare triple {11947#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11947#true} is VALID [2018-11-23 12:17:17,664 INFO L273 TraceCheckUtils]: 47: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,664 INFO L273 TraceCheckUtils]: 48: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,664 INFO L273 TraceCheckUtils]: 49: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,664 INFO L273 TraceCheckUtils]: 50: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,665 INFO L273 TraceCheckUtils]: 51: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,665 INFO L273 TraceCheckUtils]: 52: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,665 INFO L273 TraceCheckUtils]: 53: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,665 INFO L273 TraceCheckUtils]: 54: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,665 INFO L273 TraceCheckUtils]: 55: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,665 INFO L273 TraceCheckUtils]: 56: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,665 INFO L273 TraceCheckUtils]: 57: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,666 INFO L273 TraceCheckUtils]: 58: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,666 INFO L273 TraceCheckUtils]: 59: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,666 INFO L273 TraceCheckUtils]: 60: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,666 INFO L273 TraceCheckUtils]: 61: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,666 INFO L273 TraceCheckUtils]: 62: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,666 INFO L273 TraceCheckUtils]: 63: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,667 INFO L273 TraceCheckUtils]: 64: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,667 INFO L273 TraceCheckUtils]: 65: Hoare triple {11947#true} assume !(~i~0 < 20); {11947#true} is VALID [2018-11-23 12:17:17,667 INFO L273 TraceCheckUtils]: 66: Hoare triple {11947#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11947#true} is VALID [2018-11-23 12:17:17,667 INFO L273 TraceCheckUtils]: 67: Hoare triple {11947#true} assume true; {11947#true} is VALID [2018-11-23 12:17:17,667 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {11947#true} {11948#false} #75#return; {11948#false} is VALID [2018-11-23 12:17:17,668 INFO L273 TraceCheckUtils]: 69: Hoare triple {11948#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {11948#false} is VALID [2018-11-23 12:17:17,668 INFO L256 TraceCheckUtils]: 70: Hoare triple {11948#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {11947#true} is VALID [2018-11-23 12:17:17,668 INFO L273 TraceCheckUtils]: 71: Hoare triple {11947#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11947#true} is VALID [2018-11-23 12:17:17,668 INFO L273 TraceCheckUtils]: 72: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,668 INFO L273 TraceCheckUtils]: 73: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,668 INFO L273 TraceCheckUtils]: 74: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,669 INFO L273 TraceCheckUtils]: 75: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,669 INFO L273 TraceCheckUtils]: 76: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,669 INFO L273 TraceCheckUtils]: 77: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,669 INFO L273 TraceCheckUtils]: 78: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,669 INFO L273 TraceCheckUtils]: 79: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,669 INFO L273 TraceCheckUtils]: 80: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,670 INFO L273 TraceCheckUtils]: 81: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,670 INFO L273 TraceCheckUtils]: 82: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,670 INFO L273 TraceCheckUtils]: 83: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,670 INFO L273 TraceCheckUtils]: 84: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,670 INFO L273 TraceCheckUtils]: 85: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,670 INFO L273 TraceCheckUtils]: 86: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,670 INFO L273 TraceCheckUtils]: 87: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,671 INFO L273 TraceCheckUtils]: 88: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,671 INFO L273 TraceCheckUtils]: 89: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,671 INFO L273 TraceCheckUtils]: 90: Hoare triple {11947#true} assume !(~i~0 < 20); {11947#true} is VALID [2018-11-23 12:17:17,671 INFO L273 TraceCheckUtils]: 91: Hoare triple {11947#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11947#true} is VALID [2018-11-23 12:17:17,671 INFO L273 TraceCheckUtils]: 92: Hoare triple {11947#true} assume true; {11947#true} is VALID [2018-11-23 12:17:17,671 INFO L268 TraceCheckUtils]: 93: Hoare quadruple {11947#true} {11948#false} #77#return; {11948#false} is VALID [2018-11-23 12:17:17,672 INFO L273 TraceCheckUtils]: 94: Hoare triple {11948#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {11948#false} is VALID [2018-11-23 12:17:17,672 INFO L273 TraceCheckUtils]: 95: Hoare triple {11948#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11948#false} is VALID [2018-11-23 12:17:17,672 INFO L273 TraceCheckUtils]: 96: Hoare triple {11948#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11948#false} is VALID [2018-11-23 12:17:17,672 INFO L273 TraceCheckUtils]: 97: Hoare triple {11948#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11948#false} is VALID [2018-11-23 12:17:17,672 INFO L273 TraceCheckUtils]: 98: Hoare triple {11948#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11948#false} is VALID [2018-11-23 12:17:17,672 INFO L273 TraceCheckUtils]: 99: Hoare triple {11948#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11948#false} is VALID [2018-11-23 12:17:17,673 INFO L273 TraceCheckUtils]: 100: Hoare triple {11948#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11948#false} is VALID [2018-11-23 12:17:17,673 INFO L273 TraceCheckUtils]: 101: Hoare triple {11948#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11948#false} is VALID [2018-11-23 12:17:17,673 INFO L273 TraceCheckUtils]: 102: Hoare triple {11948#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11948#false} is VALID [2018-11-23 12:17:17,673 INFO L273 TraceCheckUtils]: 103: Hoare triple {11948#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11948#false} is VALID [2018-11-23 12:17:17,673 INFO L273 TraceCheckUtils]: 104: Hoare triple {11948#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11948#false} is VALID [2018-11-23 12:17:17,673 INFO L273 TraceCheckUtils]: 105: Hoare triple {11948#false} assume !(~i~2 < 19); {11948#false} is VALID [2018-11-23 12:17:17,674 INFO L273 TraceCheckUtils]: 106: Hoare triple {11948#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {11948#false} is VALID [2018-11-23 12:17:17,674 INFO L256 TraceCheckUtils]: 107: Hoare triple {11948#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {11947#true} is VALID [2018-11-23 12:17:17,674 INFO L273 TraceCheckUtils]: 108: Hoare triple {11947#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11947#true} is VALID [2018-11-23 12:17:17,674 INFO L273 TraceCheckUtils]: 109: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,674 INFO L273 TraceCheckUtils]: 110: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,674 INFO L273 TraceCheckUtils]: 111: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,675 INFO L273 TraceCheckUtils]: 112: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,675 INFO L273 TraceCheckUtils]: 113: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,675 INFO L273 TraceCheckUtils]: 114: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,675 INFO L273 TraceCheckUtils]: 115: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,675 INFO L273 TraceCheckUtils]: 116: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,675 INFO L273 TraceCheckUtils]: 117: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,676 INFO L273 TraceCheckUtils]: 118: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,676 INFO L273 TraceCheckUtils]: 119: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,676 INFO L273 TraceCheckUtils]: 120: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,676 INFO L273 TraceCheckUtils]: 121: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,676 INFO L273 TraceCheckUtils]: 122: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,676 INFO L273 TraceCheckUtils]: 123: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,677 INFO L273 TraceCheckUtils]: 124: Hoare triple {11947#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:17,677 INFO L273 TraceCheckUtils]: 125: Hoare triple {11947#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11947#true} is VALID [2018-11-23 12:17:17,677 INFO L273 TraceCheckUtils]: 126: Hoare triple {11947#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11947#true} is VALID [2018-11-23 12:17:17,677 INFO L273 TraceCheckUtils]: 127: Hoare triple {11947#true} assume !(~i~0 < 20); {11947#true} is VALID [2018-11-23 12:17:17,677 INFO L273 TraceCheckUtils]: 128: Hoare triple {11947#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11947#true} is VALID [2018-11-23 12:17:17,677 INFO L273 TraceCheckUtils]: 129: Hoare triple {11947#true} assume true; {11947#true} is VALID [2018-11-23 12:17:17,677 INFO L268 TraceCheckUtils]: 130: Hoare quadruple {11947#true} {11948#false} #79#return; {11948#false} is VALID [2018-11-23 12:17:17,678 INFO L273 TraceCheckUtils]: 131: Hoare triple {11948#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {11948#false} is VALID [2018-11-23 12:17:17,678 INFO L273 TraceCheckUtils]: 132: Hoare triple {11948#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {11948#false} is VALID [2018-11-23 12:17:17,678 INFO L273 TraceCheckUtils]: 133: Hoare triple {11948#false} assume !false; {11948#false} is VALID [2018-11-23 12:17:17,689 INFO L134 CoverageAnalysis]: Checked inductivity of 914 backedges. 0 proven. 361 refuted. 0 times theorem prover too weak. 553 trivial. 0 not checked. [2018-11-23 12:17:17,689 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:17,689 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:17,706 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:17,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:17,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:17,823 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:18,173 INFO L256 TraceCheckUtils]: 0: Hoare triple {11947#true} call ULTIMATE.init(); {11947#true} is VALID [2018-11-23 12:17:18,173 INFO L273 TraceCheckUtils]: 1: Hoare triple {11947#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {11947#true} is VALID [2018-11-23 12:17:18,174 INFO L273 TraceCheckUtils]: 2: Hoare triple {11947#true} assume true; {11947#true} is VALID [2018-11-23 12:17:18,174 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11947#true} {11947#true} #71#return; {11947#true} is VALID [2018-11-23 12:17:18,174 INFO L256 TraceCheckUtils]: 4: Hoare triple {11947#true} call #t~ret14 := main(); {11947#true} is VALID [2018-11-23 12:17:18,175 INFO L273 TraceCheckUtils]: 5: Hoare triple {11947#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {11987#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:18,175 INFO L273 TraceCheckUtils]: 6: Hoare triple {11987#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11987#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:18,176 INFO L273 TraceCheckUtils]: 7: Hoare triple {11987#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11950#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:18,176 INFO L273 TraceCheckUtils]: 8: Hoare triple {11950#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11950#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:18,176 INFO L273 TraceCheckUtils]: 9: Hoare triple {11950#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11951#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:18,177 INFO L273 TraceCheckUtils]: 10: Hoare triple {11951#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11951#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:18,177 INFO L273 TraceCheckUtils]: 11: Hoare triple {11951#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11952#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:18,178 INFO L273 TraceCheckUtils]: 12: Hoare triple {11952#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11952#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:18,179 INFO L273 TraceCheckUtils]: 13: Hoare triple {11952#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11953#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:18,179 INFO L273 TraceCheckUtils]: 14: Hoare triple {11953#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11953#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:18,180 INFO L273 TraceCheckUtils]: 15: Hoare triple {11953#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11954#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:18,180 INFO L273 TraceCheckUtils]: 16: Hoare triple {11954#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11954#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:18,181 INFO L273 TraceCheckUtils]: 17: Hoare triple {11954#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11955#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:18,182 INFO L273 TraceCheckUtils]: 18: Hoare triple {11955#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11955#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:18,182 INFO L273 TraceCheckUtils]: 19: Hoare triple {11955#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11956#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:18,183 INFO L273 TraceCheckUtils]: 20: Hoare triple {11956#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11956#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:18,184 INFO L273 TraceCheckUtils]: 21: Hoare triple {11956#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11957#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:18,184 INFO L273 TraceCheckUtils]: 22: Hoare triple {11957#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11957#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:18,185 INFO L273 TraceCheckUtils]: 23: Hoare triple {11957#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11958#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:18,185 INFO L273 TraceCheckUtils]: 24: Hoare triple {11958#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11958#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:18,186 INFO L273 TraceCheckUtils]: 25: Hoare triple {11958#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11959#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:18,187 INFO L273 TraceCheckUtils]: 26: Hoare triple {11959#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11959#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:18,187 INFO L273 TraceCheckUtils]: 27: Hoare triple {11959#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11960#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:18,188 INFO L273 TraceCheckUtils]: 28: Hoare triple {11960#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11960#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:18,189 INFO L273 TraceCheckUtils]: 29: Hoare triple {11960#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11961#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:18,189 INFO L273 TraceCheckUtils]: 30: Hoare triple {11961#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11961#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:18,190 INFO L273 TraceCheckUtils]: 31: Hoare triple {11961#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11962#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:18,190 INFO L273 TraceCheckUtils]: 32: Hoare triple {11962#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11962#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:18,191 INFO L273 TraceCheckUtils]: 33: Hoare triple {11962#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11963#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:18,192 INFO L273 TraceCheckUtils]: 34: Hoare triple {11963#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11963#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:18,192 INFO L273 TraceCheckUtils]: 35: Hoare triple {11963#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11964#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:18,193 INFO L273 TraceCheckUtils]: 36: Hoare triple {11964#(<= main_~i~1 15)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11964#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:18,194 INFO L273 TraceCheckUtils]: 37: Hoare triple {11964#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11965#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:18,194 INFO L273 TraceCheckUtils]: 38: Hoare triple {11965#(<= main_~i~1 16)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11965#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:18,195 INFO L273 TraceCheckUtils]: 39: Hoare triple {11965#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11966#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:18,196 INFO L273 TraceCheckUtils]: 40: Hoare triple {11966#(<= main_~i~1 17)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11966#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:18,196 INFO L273 TraceCheckUtils]: 41: Hoare triple {11966#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11967#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:18,197 INFO L273 TraceCheckUtils]: 42: Hoare triple {11967#(<= main_~i~1 18)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11967#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:18,197 INFO L273 TraceCheckUtils]: 43: Hoare triple {11967#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11968#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:18,198 INFO L273 TraceCheckUtils]: 44: Hoare triple {11968#(<= main_~i~1 19)} assume !(~i~1 < 20); {11948#false} is VALID [2018-11-23 12:17:18,198 INFO L256 TraceCheckUtils]: 45: Hoare triple {11948#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {11948#false} is VALID [2018-11-23 12:17:18,198 INFO L273 TraceCheckUtils]: 46: Hoare triple {11948#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11948#false} is VALID [2018-11-23 12:17:18,199 INFO L273 TraceCheckUtils]: 47: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,199 INFO L273 TraceCheckUtils]: 48: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,199 INFO L273 TraceCheckUtils]: 49: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,199 INFO L273 TraceCheckUtils]: 50: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,199 INFO L273 TraceCheckUtils]: 51: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,200 INFO L273 TraceCheckUtils]: 52: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,200 INFO L273 TraceCheckUtils]: 53: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,200 INFO L273 TraceCheckUtils]: 54: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,200 INFO L273 TraceCheckUtils]: 55: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,200 INFO L273 TraceCheckUtils]: 56: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,200 INFO L273 TraceCheckUtils]: 57: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,201 INFO L273 TraceCheckUtils]: 58: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,201 INFO L273 TraceCheckUtils]: 59: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,201 INFO L273 TraceCheckUtils]: 60: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,201 INFO L273 TraceCheckUtils]: 61: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,201 INFO L273 TraceCheckUtils]: 62: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,202 INFO L273 TraceCheckUtils]: 63: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,202 INFO L273 TraceCheckUtils]: 64: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,202 INFO L273 TraceCheckUtils]: 65: Hoare triple {11948#false} assume !(~i~0 < 20); {11948#false} is VALID [2018-11-23 12:17:18,202 INFO L273 TraceCheckUtils]: 66: Hoare triple {11948#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11948#false} is VALID [2018-11-23 12:17:18,202 INFO L273 TraceCheckUtils]: 67: Hoare triple {11948#false} assume true; {11948#false} is VALID [2018-11-23 12:17:18,202 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {11948#false} {11948#false} #75#return; {11948#false} is VALID [2018-11-23 12:17:18,203 INFO L273 TraceCheckUtils]: 69: Hoare triple {11948#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {11948#false} is VALID [2018-11-23 12:17:18,203 INFO L256 TraceCheckUtils]: 70: Hoare triple {11948#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {11948#false} is VALID [2018-11-23 12:17:18,203 INFO L273 TraceCheckUtils]: 71: Hoare triple {11948#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11948#false} is VALID [2018-11-23 12:17:18,203 INFO L273 TraceCheckUtils]: 72: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,203 INFO L273 TraceCheckUtils]: 73: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,203 INFO L273 TraceCheckUtils]: 74: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,203 INFO L273 TraceCheckUtils]: 75: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,203 INFO L273 TraceCheckUtils]: 76: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,204 INFO L273 TraceCheckUtils]: 77: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,204 INFO L273 TraceCheckUtils]: 78: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,204 INFO L273 TraceCheckUtils]: 79: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,204 INFO L273 TraceCheckUtils]: 80: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,204 INFO L273 TraceCheckUtils]: 81: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,204 INFO L273 TraceCheckUtils]: 82: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,204 INFO L273 TraceCheckUtils]: 83: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,204 INFO L273 TraceCheckUtils]: 84: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,204 INFO L273 TraceCheckUtils]: 85: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,205 INFO L273 TraceCheckUtils]: 86: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,205 INFO L273 TraceCheckUtils]: 87: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,205 INFO L273 TraceCheckUtils]: 88: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,205 INFO L273 TraceCheckUtils]: 89: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,205 INFO L273 TraceCheckUtils]: 90: Hoare triple {11948#false} assume !(~i~0 < 20); {11948#false} is VALID [2018-11-23 12:17:18,205 INFO L273 TraceCheckUtils]: 91: Hoare triple {11948#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11948#false} is VALID [2018-11-23 12:17:18,205 INFO L273 TraceCheckUtils]: 92: Hoare triple {11948#false} assume true; {11948#false} is VALID [2018-11-23 12:17:18,205 INFO L268 TraceCheckUtils]: 93: Hoare quadruple {11948#false} {11948#false} #77#return; {11948#false} is VALID [2018-11-23 12:17:18,206 INFO L273 TraceCheckUtils]: 94: Hoare triple {11948#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {11948#false} is VALID [2018-11-23 12:17:18,206 INFO L273 TraceCheckUtils]: 95: Hoare triple {11948#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11948#false} is VALID [2018-11-23 12:17:18,206 INFO L273 TraceCheckUtils]: 96: Hoare triple {11948#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11948#false} is VALID [2018-11-23 12:17:18,206 INFO L273 TraceCheckUtils]: 97: Hoare triple {11948#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11948#false} is VALID [2018-11-23 12:17:18,206 INFO L273 TraceCheckUtils]: 98: Hoare triple {11948#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11948#false} is VALID [2018-11-23 12:17:18,206 INFO L273 TraceCheckUtils]: 99: Hoare triple {11948#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11948#false} is VALID [2018-11-23 12:17:18,206 INFO L273 TraceCheckUtils]: 100: Hoare triple {11948#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11948#false} is VALID [2018-11-23 12:17:18,206 INFO L273 TraceCheckUtils]: 101: Hoare triple {11948#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11948#false} is VALID [2018-11-23 12:17:18,206 INFO L273 TraceCheckUtils]: 102: Hoare triple {11948#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11948#false} is VALID [2018-11-23 12:17:18,206 INFO L273 TraceCheckUtils]: 103: Hoare triple {11948#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11948#false} is VALID [2018-11-23 12:17:18,207 INFO L273 TraceCheckUtils]: 104: Hoare triple {11948#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11948#false} is VALID [2018-11-23 12:17:18,207 INFO L273 TraceCheckUtils]: 105: Hoare triple {11948#false} assume !(~i~2 < 19); {11948#false} is VALID [2018-11-23 12:17:18,207 INFO L273 TraceCheckUtils]: 106: Hoare triple {11948#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {11948#false} is VALID [2018-11-23 12:17:18,207 INFO L256 TraceCheckUtils]: 107: Hoare triple {11948#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {11948#false} is VALID [2018-11-23 12:17:18,207 INFO L273 TraceCheckUtils]: 108: Hoare triple {11948#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11948#false} is VALID [2018-11-23 12:17:18,207 INFO L273 TraceCheckUtils]: 109: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,207 INFO L273 TraceCheckUtils]: 110: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,207 INFO L273 TraceCheckUtils]: 111: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,207 INFO L273 TraceCheckUtils]: 112: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,208 INFO L273 TraceCheckUtils]: 113: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,208 INFO L273 TraceCheckUtils]: 114: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,208 INFO L273 TraceCheckUtils]: 115: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,208 INFO L273 TraceCheckUtils]: 116: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,208 INFO L273 TraceCheckUtils]: 117: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,208 INFO L273 TraceCheckUtils]: 118: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,208 INFO L273 TraceCheckUtils]: 119: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,208 INFO L273 TraceCheckUtils]: 120: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,208 INFO L273 TraceCheckUtils]: 121: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,209 INFO L273 TraceCheckUtils]: 122: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,209 INFO L273 TraceCheckUtils]: 123: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,209 INFO L273 TraceCheckUtils]: 124: Hoare triple {11948#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:18,209 INFO L273 TraceCheckUtils]: 125: Hoare triple {11948#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {11948#false} is VALID [2018-11-23 12:17:18,209 INFO L273 TraceCheckUtils]: 126: Hoare triple {11948#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11948#false} is VALID [2018-11-23 12:17:18,209 INFO L273 TraceCheckUtils]: 127: Hoare triple {11948#false} assume !(~i~0 < 20); {11948#false} is VALID [2018-11-23 12:17:18,209 INFO L273 TraceCheckUtils]: 128: Hoare triple {11948#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11948#false} is VALID [2018-11-23 12:17:18,209 INFO L273 TraceCheckUtils]: 129: Hoare triple {11948#false} assume true; {11948#false} is VALID [2018-11-23 12:17:18,209 INFO L268 TraceCheckUtils]: 130: Hoare quadruple {11948#false} {11948#false} #79#return; {11948#false} is VALID [2018-11-23 12:17:18,210 INFO L273 TraceCheckUtils]: 131: Hoare triple {11948#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {11948#false} is VALID [2018-11-23 12:17:18,210 INFO L273 TraceCheckUtils]: 132: Hoare triple {11948#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {11948#false} is VALID [2018-11-23 12:17:18,210 INFO L273 TraceCheckUtils]: 133: Hoare triple {11948#false} assume !false; {11948#false} is VALID [2018-11-23 12:17:18,218 INFO L134 CoverageAnalysis]: Checked inductivity of 914 backedges. 0 proven. 361 refuted. 0 times theorem prover too weak. 553 trivial. 0 not checked. [2018-11-23 12:17:18,237 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:18,237 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 23 [2018-11-23 12:17:18,237 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 134 [2018-11-23 12:17:18,238 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:18,238 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 12:17:18,318 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:18,318 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 12:17:18,318 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 12:17:18,319 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:17:18,319 INFO L87 Difference]: Start difference. First operand 89 states and 99 transitions. Second operand 23 states. [2018-11-23 12:17:18,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:18,661 INFO L93 Difference]: Finished difference Result 135 states and 155 transitions. [2018-11-23 12:17:18,661 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 12:17:18,661 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 134 [2018-11-23 12:17:18,662 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:18,662 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:17:18,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 95 transitions. [2018-11-23 12:17:18,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:17:18,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 95 transitions. [2018-11-23 12:17:18,667 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 95 transitions. [2018-11-23 12:17:18,831 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:18,833 INFO L225 Difference]: With dead ends: 135 [2018-11-23 12:17:18,833 INFO L226 Difference]: Without dead ends: 91 [2018-11-23 12:17:18,834 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 155 GetRequests, 134 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:17:18,835 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2018-11-23 12:17:19,281 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 91. [2018-11-23 12:17:19,281 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:19,282 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand 91 states. [2018-11-23 12:17:19,282 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 91 states. [2018-11-23 12:17:19,282 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 91 states. [2018-11-23 12:17:19,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:19,285 INFO L93 Difference]: Finished difference Result 91 states and 101 transitions. [2018-11-23 12:17:19,285 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 101 transitions. [2018-11-23 12:17:19,286 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:19,286 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:19,286 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 91 states. [2018-11-23 12:17:19,286 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 91 states. [2018-11-23 12:17:19,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:19,289 INFO L93 Difference]: Finished difference Result 91 states and 101 transitions. [2018-11-23 12:17:19,289 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 101 transitions. [2018-11-23 12:17:19,289 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:19,289 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:19,290 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:19,290 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:19,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-11-23 12:17:19,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 101 transitions. [2018-11-23 12:17:19,292 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 101 transitions. Word has length 134 [2018-11-23 12:17:19,292 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:19,292 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 101 transitions. [2018-11-23 12:17:19,293 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 12:17:19,293 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 101 transitions. [2018-11-23 12:17:19,294 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 137 [2018-11-23 12:17:19,294 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:19,294 INFO L402 BasicCegarLoop]: trace histogram [20, 20, 18, 18, 18, 5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:19,294 INFO L423 AbstractCegarLoop]: === Iteration 24 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:19,295 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:19,295 INFO L82 PathProgramCache]: Analyzing trace with hash 275415092, now seen corresponding path program 20 times [2018-11-23 12:17:19,295 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:19,295 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:19,296 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:19,296 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:19,296 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:19,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:19,961 INFO L256 TraceCheckUtils]: 0: Hoare triple {12880#true} call ULTIMATE.init(); {12880#true} is VALID [2018-11-23 12:17:19,962 INFO L273 TraceCheckUtils]: 1: Hoare triple {12880#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {12880#true} is VALID [2018-11-23 12:17:19,962 INFO L273 TraceCheckUtils]: 2: Hoare triple {12880#true} assume true; {12880#true} is VALID [2018-11-23 12:17:19,962 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12880#true} {12880#true} #71#return; {12880#true} is VALID [2018-11-23 12:17:19,963 INFO L256 TraceCheckUtils]: 4: Hoare triple {12880#true} call #t~ret14 := main(); {12880#true} is VALID [2018-11-23 12:17:19,963 INFO L273 TraceCheckUtils]: 5: Hoare triple {12880#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {12880#true} is VALID [2018-11-23 12:17:19,963 INFO L273 TraceCheckUtils]: 6: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,963 INFO L273 TraceCheckUtils]: 7: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,963 INFO L273 TraceCheckUtils]: 8: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,964 INFO L273 TraceCheckUtils]: 9: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,964 INFO L273 TraceCheckUtils]: 10: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,964 INFO L273 TraceCheckUtils]: 11: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,964 INFO L273 TraceCheckUtils]: 12: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,964 INFO L273 TraceCheckUtils]: 13: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,964 INFO L273 TraceCheckUtils]: 14: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,964 INFO L273 TraceCheckUtils]: 15: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,965 INFO L273 TraceCheckUtils]: 16: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,965 INFO L273 TraceCheckUtils]: 17: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,965 INFO L273 TraceCheckUtils]: 18: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,965 INFO L273 TraceCheckUtils]: 19: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,965 INFO L273 TraceCheckUtils]: 20: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,965 INFO L273 TraceCheckUtils]: 21: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,965 INFO L273 TraceCheckUtils]: 22: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,966 INFO L273 TraceCheckUtils]: 23: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,966 INFO L273 TraceCheckUtils]: 24: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,966 INFO L273 TraceCheckUtils]: 25: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,966 INFO L273 TraceCheckUtils]: 26: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,966 INFO L273 TraceCheckUtils]: 27: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,966 INFO L273 TraceCheckUtils]: 28: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,966 INFO L273 TraceCheckUtils]: 29: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,967 INFO L273 TraceCheckUtils]: 30: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,967 INFO L273 TraceCheckUtils]: 31: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,967 INFO L273 TraceCheckUtils]: 32: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,967 INFO L273 TraceCheckUtils]: 33: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,967 INFO L273 TraceCheckUtils]: 34: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,967 INFO L273 TraceCheckUtils]: 35: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,968 INFO L273 TraceCheckUtils]: 36: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,968 INFO L273 TraceCheckUtils]: 37: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,968 INFO L273 TraceCheckUtils]: 38: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,968 INFO L273 TraceCheckUtils]: 39: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,968 INFO L273 TraceCheckUtils]: 40: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,969 INFO L273 TraceCheckUtils]: 41: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,969 INFO L273 TraceCheckUtils]: 42: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,969 INFO L273 TraceCheckUtils]: 43: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,969 INFO L273 TraceCheckUtils]: 44: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:19,969 INFO L273 TraceCheckUtils]: 45: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:19,969 INFO L273 TraceCheckUtils]: 46: Hoare triple {12880#true} assume !(~i~1 < 20); {12880#true} is VALID [2018-11-23 12:17:19,969 INFO L256 TraceCheckUtils]: 47: Hoare triple {12880#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {12880#true} is VALID [2018-11-23 12:17:19,970 INFO L273 TraceCheckUtils]: 48: Hoare triple {12880#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12882#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:19,970 INFO L273 TraceCheckUtils]: 49: Hoare triple {12882#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12882#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:19,971 INFO L273 TraceCheckUtils]: 50: Hoare triple {12882#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12882#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:19,971 INFO L273 TraceCheckUtils]: 51: Hoare triple {12882#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:19,972 INFO L273 TraceCheckUtils]: 52: Hoare triple {12883#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:19,972 INFO L273 TraceCheckUtils]: 53: Hoare triple {12883#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12883#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:19,973 INFO L273 TraceCheckUtils]: 54: Hoare triple {12883#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:19,973 INFO L273 TraceCheckUtils]: 55: Hoare triple {12884#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:19,973 INFO L273 TraceCheckUtils]: 56: Hoare triple {12884#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12884#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:19,974 INFO L273 TraceCheckUtils]: 57: Hoare triple {12884#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12885#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:19,975 INFO L273 TraceCheckUtils]: 58: Hoare triple {12885#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12885#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:19,976 INFO L273 TraceCheckUtils]: 59: Hoare triple {12885#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12885#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:19,976 INFO L273 TraceCheckUtils]: 60: Hoare triple {12885#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12886#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:19,977 INFO L273 TraceCheckUtils]: 61: Hoare triple {12886#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12886#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:19,978 INFO L273 TraceCheckUtils]: 62: Hoare triple {12886#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12886#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:19,978 INFO L273 TraceCheckUtils]: 63: Hoare triple {12886#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12887#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:19,979 INFO L273 TraceCheckUtils]: 64: Hoare triple {12887#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12887#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:19,980 INFO L273 TraceCheckUtils]: 65: Hoare triple {12887#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12887#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:19,981 INFO L273 TraceCheckUtils]: 66: Hoare triple {12887#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12888#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:19,981 INFO L273 TraceCheckUtils]: 67: Hoare triple {12888#(<= sep_~i~0 6)} assume !(~i~0 < 20); {12881#false} is VALID [2018-11-23 12:17:19,982 INFO L273 TraceCheckUtils]: 68: Hoare triple {12881#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12881#false} is VALID [2018-11-23 12:17:19,982 INFO L273 TraceCheckUtils]: 69: Hoare triple {12881#false} assume true; {12881#false} is VALID [2018-11-23 12:17:19,982 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {12881#false} {12880#true} #75#return; {12881#false} is VALID [2018-11-23 12:17:19,982 INFO L273 TraceCheckUtils]: 71: Hoare triple {12881#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {12881#false} is VALID [2018-11-23 12:17:19,983 INFO L256 TraceCheckUtils]: 72: Hoare triple {12881#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {12880#true} is VALID [2018-11-23 12:17:19,983 INFO L273 TraceCheckUtils]: 73: Hoare triple {12880#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12880#true} is VALID [2018-11-23 12:17:19,983 INFO L273 TraceCheckUtils]: 74: Hoare triple {12880#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12880#true} is VALID [2018-11-23 12:17:19,984 INFO L273 TraceCheckUtils]: 75: Hoare triple {12880#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12880#true} is VALID [2018-11-23 12:17:19,984 INFO L273 TraceCheckUtils]: 76: Hoare triple {12880#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12880#true} is VALID [2018-11-23 12:17:19,984 INFO L273 TraceCheckUtils]: 77: Hoare triple {12880#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12880#true} is VALID [2018-11-23 12:17:19,984 INFO L273 TraceCheckUtils]: 78: Hoare triple {12880#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12880#true} is VALID [2018-11-23 12:17:19,984 INFO L273 TraceCheckUtils]: 79: Hoare triple {12880#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12880#true} is VALID [2018-11-23 12:17:19,985 INFO L273 TraceCheckUtils]: 80: Hoare triple {12880#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12880#true} is VALID [2018-11-23 12:17:19,985 INFO L273 TraceCheckUtils]: 81: Hoare triple {12880#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12880#true} is VALID [2018-11-23 12:17:19,985 INFO L273 TraceCheckUtils]: 82: Hoare triple {12880#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12880#true} is VALID [2018-11-23 12:17:19,985 INFO L273 TraceCheckUtils]: 83: Hoare triple {12880#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12880#true} is VALID [2018-11-23 12:17:19,986 INFO L273 TraceCheckUtils]: 84: Hoare triple {12880#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12880#true} is VALID [2018-11-23 12:17:19,986 INFO L273 TraceCheckUtils]: 85: Hoare triple {12880#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12880#true} is VALID [2018-11-23 12:17:19,986 INFO L273 TraceCheckUtils]: 86: Hoare triple {12880#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12880#true} is VALID [2018-11-23 12:17:19,986 INFO L273 TraceCheckUtils]: 87: Hoare triple {12880#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12880#true} is VALID [2018-11-23 12:17:19,986 INFO L273 TraceCheckUtils]: 88: Hoare triple {12880#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12880#true} is VALID [2018-11-23 12:17:19,987 INFO L273 TraceCheckUtils]: 89: Hoare triple {12880#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12880#true} is VALID [2018-11-23 12:17:19,987 INFO L273 TraceCheckUtils]: 90: Hoare triple {12880#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12880#true} is VALID [2018-11-23 12:17:19,987 INFO L273 TraceCheckUtils]: 91: Hoare triple {12880#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12880#true} is VALID [2018-11-23 12:17:19,987 INFO L273 TraceCheckUtils]: 92: Hoare triple {12880#true} assume !(~i~0 < 20); {12880#true} is VALID [2018-11-23 12:17:19,987 INFO L273 TraceCheckUtils]: 93: Hoare triple {12880#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12880#true} is VALID [2018-11-23 12:17:19,987 INFO L273 TraceCheckUtils]: 94: Hoare triple {12880#true} assume true; {12880#true} is VALID [2018-11-23 12:17:19,987 INFO L268 TraceCheckUtils]: 95: Hoare quadruple {12880#true} {12881#false} #77#return; {12881#false} is VALID [2018-11-23 12:17:19,988 INFO L273 TraceCheckUtils]: 96: Hoare triple {12881#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {12881#false} is VALID [2018-11-23 12:17:19,988 INFO L273 TraceCheckUtils]: 97: Hoare triple {12881#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12881#false} is VALID [2018-11-23 12:17:19,988 INFO L273 TraceCheckUtils]: 98: Hoare triple {12881#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12881#false} is VALID [2018-11-23 12:17:19,988 INFO L273 TraceCheckUtils]: 99: Hoare triple {12881#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12881#false} is VALID [2018-11-23 12:17:19,988 INFO L273 TraceCheckUtils]: 100: Hoare triple {12881#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12881#false} is VALID [2018-11-23 12:17:19,988 INFO L273 TraceCheckUtils]: 101: Hoare triple {12881#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12881#false} is VALID [2018-11-23 12:17:19,989 INFO L273 TraceCheckUtils]: 102: Hoare triple {12881#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12881#false} is VALID [2018-11-23 12:17:19,989 INFO L273 TraceCheckUtils]: 103: Hoare triple {12881#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12881#false} is VALID [2018-11-23 12:17:19,989 INFO L273 TraceCheckUtils]: 104: Hoare triple {12881#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12881#false} is VALID [2018-11-23 12:17:19,989 INFO L273 TraceCheckUtils]: 105: Hoare triple {12881#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12881#false} is VALID [2018-11-23 12:17:19,989 INFO L273 TraceCheckUtils]: 106: Hoare triple {12881#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12881#false} is VALID [2018-11-23 12:17:19,989 INFO L273 TraceCheckUtils]: 107: Hoare triple {12881#false} assume !(~i~2 < 19); {12881#false} is VALID [2018-11-23 12:17:19,989 INFO L273 TraceCheckUtils]: 108: Hoare triple {12881#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {12881#false} is VALID [2018-11-23 12:17:19,990 INFO L256 TraceCheckUtils]: 109: Hoare triple {12881#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {12880#true} is VALID [2018-11-23 12:17:19,990 INFO L273 TraceCheckUtils]: 110: Hoare triple {12880#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12880#true} is VALID [2018-11-23 12:17:19,990 INFO L273 TraceCheckUtils]: 111: Hoare triple {12880#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12880#true} is VALID [2018-11-23 12:17:19,990 INFO L273 TraceCheckUtils]: 112: Hoare triple {12880#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12880#true} is VALID [2018-11-23 12:17:19,990 INFO L273 TraceCheckUtils]: 113: Hoare triple {12880#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12880#true} is VALID [2018-11-23 12:17:19,991 INFO L273 TraceCheckUtils]: 114: Hoare triple {12880#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12880#true} is VALID [2018-11-23 12:17:19,991 INFO L273 TraceCheckUtils]: 115: Hoare triple {12880#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12880#true} is VALID [2018-11-23 12:17:19,991 INFO L273 TraceCheckUtils]: 116: Hoare triple {12880#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12880#true} is VALID [2018-11-23 12:17:19,991 INFO L273 TraceCheckUtils]: 117: Hoare triple {12880#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12880#true} is VALID [2018-11-23 12:17:19,991 INFO L273 TraceCheckUtils]: 118: Hoare triple {12880#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12880#true} is VALID [2018-11-23 12:17:19,992 INFO L273 TraceCheckUtils]: 119: Hoare triple {12880#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12880#true} is VALID [2018-11-23 12:17:19,992 INFO L273 TraceCheckUtils]: 120: Hoare triple {12880#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12880#true} is VALID [2018-11-23 12:17:19,992 INFO L273 TraceCheckUtils]: 121: Hoare triple {12880#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12880#true} is VALID [2018-11-23 12:17:19,992 INFO L273 TraceCheckUtils]: 122: Hoare triple {12880#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12880#true} is VALID [2018-11-23 12:17:19,992 INFO L273 TraceCheckUtils]: 123: Hoare triple {12880#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12880#true} is VALID [2018-11-23 12:17:19,993 INFO L273 TraceCheckUtils]: 124: Hoare triple {12880#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12880#true} is VALID [2018-11-23 12:17:19,993 INFO L273 TraceCheckUtils]: 125: Hoare triple {12880#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12880#true} is VALID [2018-11-23 12:17:19,993 INFO L273 TraceCheckUtils]: 126: Hoare triple {12880#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12880#true} is VALID [2018-11-23 12:17:19,993 INFO L273 TraceCheckUtils]: 127: Hoare triple {12880#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12880#true} is VALID [2018-11-23 12:17:19,993 INFO L273 TraceCheckUtils]: 128: Hoare triple {12880#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12880#true} is VALID [2018-11-23 12:17:19,994 INFO L273 TraceCheckUtils]: 129: Hoare triple {12880#true} assume !(~i~0 < 20); {12880#true} is VALID [2018-11-23 12:17:19,994 INFO L273 TraceCheckUtils]: 130: Hoare triple {12880#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12880#true} is VALID [2018-11-23 12:17:19,994 INFO L273 TraceCheckUtils]: 131: Hoare triple {12880#true} assume true; {12880#true} is VALID [2018-11-23 12:17:19,994 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {12880#true} {12881#false} #79#return; {12881#false} is VALID [2018-11-23 12:17:19,994 INFO L273 TraceCheckUtils]: 133: Hoare triple {12881#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {12881#false} is VALID [2018-11-23 12:17:19,994 INFO L273 TraceCheckUtils]: 134: Hoare triple {12881#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {12881#false} is VALID [2018-11-23 12:17:19,995 INFO L273 TraceCheckUtils]: 135: Hoare triple {12881#false} assume !false; {12881#false} is VALID [2018-11-23 12:17:20,012 INFO L134 CoverageAnalysis]: Checked inductivity of 953 backedges. 0 proven. 299 refuted. 0 times theorem prover too weak. 654 trivial. 0 not checked. [2018-11-23 12:17:20,013 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:20,013 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:20,042 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:17:20,114 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:17:20,114 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:20,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:20,147 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:20,334 INFO L256 TraceCheckUtils]: 0: Hoare triple {12880#true} call ULTIMATE.init(); {12880#true} is VALID [2018-11-23 12:17:20,334 INFO L273 TraceCheckUtils]: 1: Hoare triple {12880#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {12880#true} is VALID [2018-11-23 12:17:20,334 INFO L273 TraceCheckUtils]: 2: Hoare triple {12880#true} assume true; {12880#true} is VALID [2018-11-23 12:17:20,334 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12880#true} {12880#true} #71#return; {12880#true} is VALID [2018-11-23 12:17:20,334 INFO L256 TraceCheckUtils]: 4: Hoare triple {12880#true} call #t~ret14 := main(); {12880#true} is VALID [2018-11-23 12:17:20,334 INFO L273 TraceCheckUtils]: 5: Hoare triple {12880#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {12880#true} is VALID [2018-11-23 12:17:20,335 INFO L273 TraceCheckUtils]: 6: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,335 INFO L273 TraceCheckUtils]: 7: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,335 INFO L273 TraceCheckUtils]: 8: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,335 INFO L273 TraceCheckUtils]: 9: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,335 INFO L273 TraceCheckUtils]: 10: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,335 INFO L273 TraceCheckUtils]: 11: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,335 INFO L273 TraceCheckUtils]: 12: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,335 INFO L273 TraceCheckUtils]: 13: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,335 INFO L273 TraceCheckUtils]: 14: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,336 INFO L273 TraceCheckUtils]: 15: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,336 INFO L273 TraceCheckUtils]: 16: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,336 INFO L273 TraceCheckUtils]: 17: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,336 INFO L273 TraceCheckUtils]: 18: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,336 INFO L273 TraceCheckUtils]: 19: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,336 INFO L273 TraceCheckUtils]: 20: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,336 INFO L273 TraceCheckUtils]: 21: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,336 INFO L273 TraceCheckUtils]: 22: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,336 INFO L273 TraceCheckUtils]: 23: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,337 INFO L273 TraceCheckUtils]: 24: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,337 INFO L273 TraceCheckUtils]: 25: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,337 INFO L273 TraceCheckUtils]: 26: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,337 INFO L273 TraceCheckUtils]: 27: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,337 INFO L273 TraceCheckUtils]: 28: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,337 INFO L273 TraceCheckUtils]: 29: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,337 INFO L273 TraceCheckUtils]: 30: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,337 INFO L273 TraceCheckUtils]: 31: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,337 INFO L273 TraceCheckUtils]: 32: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,338 INFO L273 TraceCheckUtils]: 33: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,338 INFO L273 TraceCheckUtils]: 34: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,338 INFO L273 TraceCheckUtils]: 35: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,338 INFO L273 TraceCheckUtils]: 36: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,338 INFO L273 TraceCheckUtils]: 37: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,338 INFO L273 TraceCheckUtils]: 38: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,339 INFO L273 TraceCheckUtils]: 39: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,339 INFO L273 TraceCheckUtils]: 40: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,339 INFO L273 TraceCheckUtils]: 41: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,339 INFO L273 TraceCheckUtils]: 42: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,339 INFO L273 TraceCheckUtils]: 43: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,339 INFO L273 TraceCheckUtils]: 44: Hoare triple {12880#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12880#true} is VALID [2018-11-23 12:17:20,339 INFO L273 TraceCheckUtils]: 45: Hoare triple {12880#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12880#true} is VALID [2018-11-23 12:17:20,340 INFO L273 TraceCheckUtils]: 46: Hoare triple {12880#true} assume !(~i~1 < 20); {12880#true} is VALID [2018-11-23 12:17:20,340 INFO L256 TraceCheckUtils]: 47: Hoare triple {12880#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {12880#true} is VALID [2018-11-23 12:17:20,342 INFO L273 TraceCheckUtils]: 48: Hoare triple {12880#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13036#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:20,343 INFO L273 TraceCheckUtils]: 49: Hoare triple {13036#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13036#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:20,343 INFO L273 TraceCheckUtils]: 50: Hoare triple {13036#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13036#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:20,344 INFO L273 TraceCheckUtils]: 51: Hoare triple {13036#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:20,344 INFO L273 TraceCheckUtils]: 52: Hoare triple {12883#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:20,344 INFO L273 TraceCheckUtils]: 53: Hoare triple {12883#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12883#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:20,345 INFO L273 TraceCheckUtils]: 54: Hoare triple {12883#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:20,345 INFO L273 TraceCheckUtils]: 55: Hoare triple {12884#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:20,345 INFO L273 TraceCheckUtils]: 56: Hoare triple {12884#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12884#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:20,346 INFO L273 TraceCheckUtils]: 57: Hoare triple {12884#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12885#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:20,346 INFO L273 TraceCheckUtils]: 58: Hoare triple {12885#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12885#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:20,346 INFO L273 TraceCheckUtils]: 59: Hoare triple {12885#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12885#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:20,347 INFO L273 TraceCheckUtils]: 60: Hoare triple {12885#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12886#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:20,347 INFO L273 TraceCheckUtils]: 61: Hoare triple {12886#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12886#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:20,348 INFO L273 TraceCheckUtils]: 62: Hoare triple {12886#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12886#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:20,349 INFO L273 TraceCheckUtils]: 63: Hoare triple {12886#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12887#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:20,349 INFO L273 TraceCheckUtils]: 64: Hoare triple {12887#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12887#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:20,350 INFO L273 TraceCheckUtils]: 65: Hoare triple {12887#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12887#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:20,350 INFO L273 TraceCheckUtils]: 66: Hoare triple {12887#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12888#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:20,351 INFO L273 TraceCheckUtils]: 67: Hoare triple {12888#(<= sep_~i~0 6)} assume !(~i~0 < 20); {12881#false} is VALID [2018-11-23 12:17:20,351 INFO L273 TraceCheckUtils]: 68: Hoare triple {12881#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12881#false} is VALID [2018-11-23 12:17:20,351 INFO L273 TraceCheckUtils]: 69: Hoare triple {12881#false} assume true; {12881#false} is VALID [2018-11-23 12:17:20,352 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {12881#false} {12880#true} #75#return; {12881#false} is VALID [2018-11-23 12:17:20,352 INFO L273 TraceCheckUtils]: 71: Hoare triple {12881#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {12881#false} is VALID [2018-11-23 12:17:20,352 INFO L256 TraceCheckUtils]: 72: Hoare triple {12881#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {12881#false} is VALID [2018-11-23 12:17:20,352 INFO L273 TraceCheckUtils]: 73: Hoare triple {12881#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12881#false} is VALID [2018-11-23 12:17:20,352 INFO L273 TraceCheckUtils]: 74: Hoare triple {12881#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12881#false} is VALID [2018-11-23 12:17:20,353 INFO L273 TraceCheckUtils]: 75: Hoare triple {12881#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12881#false} is VALID [2018-11-23 12:17:20,353 INFO L273 TraceCheckUtils]: 76: Hoare triple {12881#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12881#false} is VALID [2018-11-23 12:17:20,353 INFO L273 TraceCheckUtils]: 77: Hoare triple {12881#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12881#false} is VALID [2018-11-23 12:17:20,353 INFO L273 TraceCheckUtils]: 78: Hoare triple {12881#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12881#false} is VALID [2018-11-23 12:17:20,353 INFO L273 TraceCheckUtils]: 79: Hoare triple {12881#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12881#false} is VALID [2018-11-23 12:17:20,354 INFO L273 TraceCheckUtils]: 80: Hoare triple {12881#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12881#false} is VALID [2018-11-23 12:17:20,354 INFO L273 TraceCheckUtils]: 81: Hoare triple {12881#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12881#false} is VALID [2018-11-23 12:17:20,354 INFO L273 TraceCheckUtils]: 82: Hoare triple {12881#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12881#false} is VALID [2018-11-23 12:17:20,354 INFO L273 TraceCheckUtils]: 83: Hoare triple {12881#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12881#false} is VALID [2018-11-23 12:17:20,354 INFO L273 TraceCheckUtils]: 84: Hoare triple {12881#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12881#false} is VALID [2018-11-23 12:17:20,354 INFO L273 TraceCheckUtils]: 85: Hoare triple {12881#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12881#false} is VALID [2018-11-23 12:17:20,354 INFO L273 TraceCheckUtils]: 86: Hoare triple {12881#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12881#false} is VALID [2018-11-23 12:17:20,354 INFO L273 TraceCheckUtils]: 87: Hoare triple {12881#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12881#false} is VALID [2018-11-23 12:17:20,355 INFO L273 TraceCheckUtils]: 88: Hoare triple {12881#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12881#false} is VALID [2018-11-23 12:17:20,355 INFO L273 TraceCheckUtils]: 89: Hoare triple {12881#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12881#false} is VALID [2018-11-23 12:17:20,355 INFO L273 TraceCheckUtils]: 90: Hoare triple {12881#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12881#false} is VALID [2018-11-23 12:17:20,355 INFO L273 TraceCheckUtils]: 91: Hoare triple {12881#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12881#false} is VALID [2018-11-23 12:17:20,355 INFO L273 TraceCheckUtils]: 92: Hoare triple {12881#false} assume !(~i~0 < 20); {12881#false} is VALID [2018-11-23 12:17:20,355 INFO L273 TraceCheckUtils]: 93: Hoare triple {12881#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12881#false} is VALID [2018-11-23 12:17:20,355 INFO L273 TraceCheckUtils]: 94: Hoare triple {12881#false} assume true; {12881#false} is VALID [2018-11-23 12:17:20,355 INFO L268 TraceCheckUtils]: 95: Hoare quadruple {12881#false} {12881#false} #77#return; {12881#false} is VALID [2018-11-23 12:17:20,355 INFO L273 TraceCheckUtils]: 96: Hoare triple {12881#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {12881#false} is VALID [2018-11-23 12:17:20,356 INFO L273 TraceCheckUtils]: 97: Hoare triple {12881#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12881#false} is VALID [2018-11-23 12:17:20,356 INFO L273 TraceCheckUtils]: 98: Hoare triple {12881#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12881#false} is VALID [2018-11-23 12:17:20,356 INFO L273 TraceCheckUtils]: 99: Hoare triple {12881#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12881#false} is VALID [2018-11-23 12:17:20,356 INFO L273 TraceCheckUtils]: 100: Hoare triple {12881#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12881#false} is VALID [2018-11-23 12:17:20,356 INFO L273 TraceCheckUtils]: 101: Hoare triple {12881#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12881#false} is VALID [2018-11-23 12:17:20,356 INFO L273 TraceCheckUtils]: 102: Hoare triple {12881#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12881#false} is VALID [2018-11-23 12:17:20,356 INFO L273 TraceCheckUtils]: 103: Hoare triple {12881#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12881#false} is VALID [2018-11-23 12:17:20,356 INFO L273 TraceCheckUtils]: 104: Hoare triple {12881#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12881#false} is VALID [2018-11-23 12:17:20,356 INFO L273 TraceCheckUtils]: 105: Hoare triple {12881#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12881#false} is VALID [2018-11-23 12:17:20,357 INFO L273 TraceCheckUtils]: 106: Hoare triple {12881#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12881#false} is VALID [2018-11-23 12:17:20,357 INFO L273 TraceCheckUtils]: 107: Hoare triple {12881#false} assume !(~i~2 < 19); {12881#false} is VALID [2018-11-23 12:17:20,357 INFO L273 TraceCheckUtils]: 108: Hoare triple {12881#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {12881#false} is VALID [2018-11-23 12:17:20,357 INFO L256 TraceCheckUtils]: 109: Hoare triple {12881#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {12881#false} is VALID [2018-11-23 12:17:20,357 INFO L273 TraceCheckUtils]: 110: Hoare triple {12881#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12881#false} is VALID [2018-11-23 12:17:20,357 INFO L273 TraceCheckUtils]: 111: Hoare triple {12881#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12881#false} is VALID [2018-11-23 12:17:20,357 INFO L273 TraceCheckUtils]: 112: Hoare triple {12881#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12881#false} is VALID [2018-11-23 12:17:20,357 INFO L273 TraceCheckUtils]: 113: Hoare triple {12881#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12881#false} is VALID [2018-11-23 12:17:20,357 INFO L273 TraceCheckUtils]: 114: Hoare triple {12881#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12881#false} is VALID [2018-11-23 12:17:20,358 INFO L273 TraceCheckUtils]: 115: Hoare triple {12881#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12881#false} is VALID [2018-11-23 12:17:20,358 INFO L273 TraceCheckUtils]: 116: Hoare triple {12881#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12881#false} is VALID [2018-11-23 12:17:20,358 INFO L273 TraceCheckUtils]: 117: Hoare triple {12881#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12881#false} is VALID [2018-11-23 12:17:20,358 INFO L273 TraceCheckUtils]: 118: Hoare triple {12881#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12881#false} is VALID [2018-11-23 12:17:20,358 INFO L273 TraceCheckUtils]: 119: Hoare triple {12881#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12881#false} is VALID [2018-11-23 12:17:20,358 INFO L273 TraceCheckUtils]: 120: Hoare triple {12881#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12881#false} is VALID [2018-11-23 12:17:20,358 INFO L273 TraceCheckUtils]: 121: Hoare triple {12881#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12881#false} is VALID [2018-11-23 12:17:20,358 INFO L273 TraceCheckUtils]: 122: Hoare triple {12881#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12881#false} is VALID [2018-11-23 12:17:20,358 INFO L273 TraceCheckUtils]: 123: Hoare triple {12881#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12881#false} is VALID [2018-11-23 12:17:20,359 INFO L273 TraceCheckUtils]: 124: Hoare triple {12881#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12881#false} is VALID [2018-11-23 12:17:20,359 INFO L273 TraceCheckUtils]: 125: Hoare triple {12881#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12881#false} is VALID [2018-11-23 12:17:20,359 INFO L273 TraceCheckUtils]: 126: Hoare triple {12881#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12881#false} is VALID [2018-11-23 12:17:20,359 INFO L273 TraceCheckUtils]: 127: Hoare triple {12881#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {12881#false} is VALID [2018-11-23 12:17:20,359 INFO L273 TraceCheckUtils]: 128: Hoare triple {12881#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12881#false} is VALID [2018-11-23 12:17:20,359 INFO L273 TraceCheckUtils]: 129: Hoare triple {12881#false} assume !(~i~0 < 20); {12881#false} is VALID [2018-11-23 12:17:20,360 INFO L273 TraceCheckUtils]: 130: Hoare triple {12881#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12881#false} is VALID [2018-11-23 12:17:20,360 INFO L273 TraceCheckUtils]: 131: Hoare triple {12881#false} assume true; {12881#false} is VALID [2018-11-23 12:17:20,360 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {12881#false} {12881#false} #79#return; {12881#false} is VALID [2018-11-23 12:17:20,360 INFO L273 TraceCheckUtils]: 133: Hoare triple {12881#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {12881#false} is VALID [2018-11-23 12:17:20,360 INFO L273 TraceCheckUtils]: 134: Hoare triple {12881#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {12881#false} is VALID [2018-11-23 12:17:20,360 INFO L273 TraceCheckUtils]: 135: Hoare triple {12881#false} assume !false; {12881#false} is VALID [2018-11-23 12:17:20,370 INFO L134 CoverageAnalysis]: Checked inductivity of 953 backedges. 244 proven. 51 refuted. 0 times theorem prover too weak. 658 trivial. 0 not checked. [2018-11-23 12:17:20,392 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:20,393 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 10 [2018-11-23 12:17:20,393 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 136 [2018-11-23 12:17:20,394 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:20,394 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 12:17:20,532 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:20,532 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 12:17:20,533 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 12:17:20,533 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-23 12:17:20,533 INFO L87 Difference]: Start difference. First operand 91 states and 101 transitions. Second operand 10 states. [2018-11-23 12:17:20,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:20,941 INFO L93 Difference]: Finished difference Result 139 states and 163 transitions. [2018-11-23 12:17:20,941 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 12:17:20,941 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 136 [2018-11-23 12:17:20,942 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:20,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:17:20,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 85 transitions. [2018-11-23 12:17:20,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:17:20,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 85 transitions. [2018-11-23 12:17:20,944 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 85 transitions. [2018-11-23 12:17:21,025 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:21,027 INFO L225 Difference]: With dead ends: 139 [2018-11-23 12:17:21,027 INFO L226 Difference]: Without dead ends: 96 [2018-11-23 12:17:21,028 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 144 GetRequests, 136 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-23 12:17:21,029 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2018-11-23 12:17:21,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 94. [2018-11-23 12:17:21,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:21,060 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand 94 states. [2018-11-23 12:17:21,060 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand 94 states. [2018-11-23 12:17:21,061 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 94 states. [2018-11-23 12:17:21,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:21,062 INFO L93 Difference]: Finished difference Result 96 states and 108 transitions. [2018-11-23 12:17:21,062 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 108 transitions. [2018-11-23 12:17:21,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:21,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:21,063 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 96 states. [2018-11-23 12:17:21,063 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 96 states. [2018-11-23 12:17:21,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:21,065 INFO L93 Difference]: Finished difference Result 96 states and 108 transitions. [2018-11-23 12:17:21,065 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 108 transitions. [2018-11-23 12:17:21,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:21,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:21,065 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:21,065 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:21,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 94 states. [2018-11-23 12:17:21,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 105 transitions. [2018-11-23 12:17:21,067 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 105 transitions. Word has length 136 [2018-11-23 12:17:21,067 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:21,067 INFO L480 AbstractCegarLoop]: Abstraction has 94 states and 105 transitions. [2018-11-23 12:17:21,067 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 12:17:21,067 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 105 transitions. [2018-11-23 12:17:21,068 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 146 [2018-11-23 12:17:21,068 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:21,068 INFO L402 BasicCegarLoop]: trace histogram [21, 21, 21, 20, 20, 5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:21,069 INFO L423 AbstractCegarLoop]: === Iteration 25 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:21,069 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:21,069 INFO L82 PathProgramCache]: Analyzing trace with hash -167172191, now seen corresponding path program 21 times [2018-11-23 12:17:21,069 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:21,069 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:21,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:21,070 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:21,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:21,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:21,531 INFO L256 TraceCheckUtils]: 0: Hoare triple {13824#true} call ULTIMATE.init(); {13824#true} is VALID [2018-11-23 12:17:21,531 INFO L273 TraceCheckUtils]: 1: Hoare triple {13824#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {13824#true} is VALID [2018-11-23 12:17:21,532 INFO L273 TraceCheckUtils]: 2: Hoare triple {13824#true} assume true; {13824#true} is VALID [2018-11-23 12:17:21,532 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13824#true} {13824#true} #71#return; {13824#true} is VALID [2018-11-23 12:17:21,532 INFO L256 TraceCheckUtils]: 4: Hoare triple {13824#true} call #t~ret14 := main(); {13824#true} is VALID [2018-11-23 12:17:21,532 INFO L273 TraceCheckUtils]: 5: Hoare triple {13824#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {13824#true} is VALID [2018-11-23 12:17:21,533 INFO L273 TraceCheckUtils]: 6: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,533 INFO L273 TraceCheckUtils]: 7: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,533 INFO L273 TraceCheckUtils]: 8: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,533 INFO L273 TraceCheckUtils]: 9: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,533 INFO L273 TraceCheckUtils]: 10: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,533 INFO L273 TraceCheckUtils]: 11: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,533 INFO L273 TraceCheckUtils]: 12: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,533 INFO L273 TraceCheckUtils]: 13: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,534 INFO L273 TraceCheckUtils]: 14: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,534 INFO L273 TraceCheckUtils]: 15: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,534 INFO L273 TraceCheckUtils]: 16: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,534 INFO L273 TraceCheckUtils]: 17: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,534 INFO L273 TraceCheckUtils]: 18: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,534 INFO L273 TraceCheckUtils]: 19: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,534 INFO L273 TraceCheckUtils]: 20: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,534 INFO L273 TraceCheckUtils]: 21: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,534 INFO L273 TraceCheckUtils]: 22: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,535 INFO L273 TraceCheckUtils]: 23: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,535 INFO L273 TraceCheckUtils]: 24: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,535 INFO L273 TraceCheckUtils]: 25: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,535 INFO L273 TraceCheckUtils]: 26: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,535 INFO L273 TraceCheckUtils]: 27: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,535 INFO L273 TraceCheckUtils]: 28: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,535 INFO L273 TraceCheckUtils]: 29: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,535 INFO L273 TraceCheckUtils]: 30: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,535 INFO L273 TraceCheckUtils]: 31: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,536 INFO L273 TraceCheckUtils]: 32: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,536 INFO L273 TraceCheckUtils]: 33: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,536 INFO L273 TraceCheckUtils]: 34: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,536 INFO L273 TraceCheckUtils]: 35: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,536 INFO L273 TraceCheckUtils]: 36: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,536 INFO L273 TraceCheckUtils]: 37: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,536 INFO L273 TraceCheckUtils]: 38: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,536 INFO L273 TraceCheckUtils]: 39: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,536 INFO L273 TraceCheckUtils]: 40: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,537 INFO L273 TraceCheckUtils]: 41: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,537 INFO L273 TraceCheckUtils]: 42: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,537 INFO L273 TraceCheckUtils]: 43: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,537 INFO L273 TraceCheckUtils]: 44: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:21,537 INFO L273 TraceCheckUtils]: 45: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:21,537 INFO L273 TraceCheckUtils]: 46: Hoare triple {13824#true} assume !(~i~1 < 20); {13824#true} is VALID [2018-11-23 12:17:21,538 INFO L256 TraceCheckUtils]: 47: Hoare triple {13824#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {13824#true} is VALID [2018-11-23 12:17:21,540 INFO L273 TraceCheckUtils]: 48: Hoare triple {13824#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13826#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:21,540 INFO L273 TraceCheckUtils]: 49: Hoare triple {13826#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13826#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:21,541 INFO L273 TraceCheckUtils]: 50: Hoare triple {13826#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13826#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:21,541 INFO L273 TraceCheckUtils]: 51: Hoare triple {13826#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13827#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:21,541 INFO L273 TraceCheckUtils]: 52: Hoare triple {13827#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13827#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:21,542 INFO L273 TraceCheckUtils]: 53: Hoare triple {13827#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13827#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:21,542 INFO L273 TraceCheckUtils]: 54: Hoare triple {13827#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13828#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:21,542 INFO L273 TraceCheckUtils]: 55: Hoare triple {13828#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13828#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:21,543 INFO L273 TraceCheckUtils]: 56: Hoare triple {13828#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13828#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:21,543 INFO L273 TraceCheckUtils]: 57: Hoare triple {13828#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13829#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:21,543 INFO L273 TraceCheckUtils]: 58: Hoare triple {13829#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13829#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:21,544 INFO L273 TraceCheckUtils]: 59: Hoare triple {13829#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13829#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:21,544 INFO L273 TraceCheckUtils]: 60: Hoare triple {13829#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13830#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:21,545 INFO L273 TraceCheckUtils]: 61: Hoare triple {13830#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13830#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:21,545 INFO L273 TraceCheckUtils]: 62: Hoare triple {13830#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13830#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:21,546 INFO L273 TraceCheckUtils]: 63: Hoare triple {13830#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13831#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:21,546 INFO L273 TraceCheckUtils]: 64: Hoare triple {13831#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13831#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:21,547 INFO L273 TraceCheckUtils]: 65: Hoare triple {13831#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13831#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:21,547 INFO L273 TraceCheckUtils]: 66: Hoare triple {13831#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13832#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:21,548 INFO L273 TraceCheckUtils]: 67: Hoare triple {13832#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13832#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:21,548 INFO L273 TraceCheckUtils]: 68: Hoare triple {13832#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13832#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:21,549 INFO L273 TraceCheckUtils]: 69: Hoare triple {13832#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13833#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:21,550 INFO L273 TraceCheckUtils]: 70: Hoare triple {13833#(<= sep_~i~0 7)} assume !(~i~0 < 20); {13825#false} is VALID [2018-11-23 12:17:21,550 INFO L273 TraceCheckUtils]: 71: Hoare triple {13825#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13825#false} is VALID [2018-11-23 12:17:21,550 INFO L273 TraceCheckUtils]: 72: Hoare triple {13825#false} assume true; {13825#false} is VALID [2018-11-23 12:17:21,550 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {13825#false} {13824#true} #75#return; {13825#false} is VALID [2018-11-23 12:17:21,550 INFO L273 TraceCheckUtils]: 74: Hoare triple {13825#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {13825#false} is VALID [2018-11-23 12:17:21,551 INFO L256 TraceCheckUtils]: 75: Hoare triple {13825#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {13824#true} is VALID [2018-11-23 12:17:21,551 INFO L273 TraceCheckUtils]: 76: Hoare triple {13824#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13824#true} is VALID [2018-11-23 12:17:21,551 INFO L273 TraceCheckUtils]: 77: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,551 INFO L273 TraceCheckUtils]: 78: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,551 INFO L273 TraceCheckUtils]: 79: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,552 INFO L273 TraceCheckUtils]: 80: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,552 INFO L273 TraceCheckUtils]: 81: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,552 INFO L273 TraceCheckUtils]: 82: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,552 INFO L273 TraceCheckUtils]: 83: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,552 INFO L273 TraceCheckUtils]: 84: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,552 INFO L273 TraceCheckUtils]: 85: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,552 INFO L273 TraceCheckUtils]: 86: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,553 INFO L273 TraceCheckUtils]: 87: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,553 INFO L273 TraceCheckUtils]: 88: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,553 INFO L273 TraceCheckUtils]: 89: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,553 INFO L273 TraceCheckUtils]: 90: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,553 INFO L273 TraceCheckUtils]: 91: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,553 INFO L273 TraceCheckUtils]: 92: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,553 INFO L273 TraceCheckUtils]: 93: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,553 INFO L273 TraceCheckUtils]: 94: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,553 INFO L273 TraceCheckUtils]: 95: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,554 INFO L273 TraceCheckUtils]: 96: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,554 INFO L273 TraceCheckUtils]: 97: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,554 INFO L273 TraceCheckUtils]: 98: Hoare triple {13824#true} assume !(~i~0 < 20); {13824#true} is VALID [2018-11-23 12:17:21,554 INFO L273 TraceCheckUtils]: 99: Hoare triple {13824#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13824#true} is VALID [2018-11-23 12:17:21,554 INFO L273 TraceCheckUtils]: 100: Hoare triple {13824#true} assume true; {13824#true} is VALID [2018-11-23 12:17:21,554 INFO L268 TraceCheckUtils]: 101: Hoare quadruple {13824#true} {13825#false} #77#return; {13825#false} is VALID [2018-11-23 12:17:21,554 INFO L273 TraceCheckUtils]: 102: Hoare triple {13825#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {13825#false} is VALID [2018-11-23 12:17:21,554 INFO L273 TraceCheckUtils]: 103: Hoare triple {13825#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13825#false} is VALID [2018-11-23 12:17:21,554 INFO L273 TraceCheckUtils]: 104: Hoare triple {13825#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13825#false} is VALID [2018-11-23 12:17:21,554 INFO L273 TraceCheckUtils]: 105: Hoare triple {13825#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13825#false} is VALID [2018-11-23 12:17:21,555 INFO L273 TraceCheckUtils]: 106: Hoare triple {13825#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13825#false} is VALID [2018-11-23 12:17:21,555 INFO L273 TraceCheckUtils]: 107: Hoare triple {13825#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13825#false} is VALID [2018-11-23 12:17:21,555 INFO L273 TraceCheckUtils]: 108: Hoare triple {13825#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13825#false} is VALID [2018-11-23 12:17:21,555 INFO L273 TraceCheckUtils]: 109: Hoare triple {13825#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13825#false} is VALID [2018-11-23 12:17:21,555 INFO L273 TraceCheckUtils]: 110: Hoare triple {13825#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13825#false} is VALID [2018-11-23 12:17:21,555 INFO L273 TraceCheckUtils]: 111: Hoare triple {13825#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13825#false} is VALID [2018-11-23 12:17:21,555 INFO L273 TraceCheckUtils]: 112: Hoare triple {13825#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13825#false} is VALID [2018-11-23 12:17:21,555 INFO L273 TraceCheckUtils]: 113: Hoare triple {13825#false} assume !(~i~2 < 19); {13825#false} is VALID [2018-11-23 12:17:21,555 INFO L273 TraceCheckUtils]: 114: Hoare triple {13825#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {13825#false} is VALID [2018-11-23 12:17:21,556 INFO L256 TraceCheckUtils]: 115: Hoare triple {13825#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {13824#true} is VALID [2018-11-23 12:17:21,556 INFO L273 TraceCheckUtils]: 116: Hoare triple {13824#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13824#true} is VALID [2018-11-23 12:17:21,556 INFO L273 TraceCheckUtils]: 117: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,556 INFO L273 TraceCheckUtils]: 118: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,556 INFO L273 TraceCheckUtils]: 119: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,556 INFO L273 TraceCheckUtils]: 120: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,556 INFO L273 TraceCheckUtils]: 121: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,556 INFO L273 TraceCheckUtils]: 122: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,556 INFO L273 TraceCheckUtils]: 123: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,557 INFO L273 TraceCheckUtils]: 124: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,557 INFO L273 TraceCheckUtils]: 125: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,557 INFO L273 TraceCheckUtils]: 126: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,557 INFO L273 TraceCheckUtils]: 127: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,557 INFO L273 TraceCheckUtils]: 128: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,557 INFO L273 TraceCheckUtils]: 129: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,557 INFO L273 TraceCheckUtils]: 130: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,557 INFO L273 TraceCheckUtils]: 131: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,557 INFO L273 TraceCheckUtils]: 132: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,558 INFO L273 TraceCheckUtils]: 133: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,558 INFO L273 TraceCheckUtils]: 134: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,558 INFO L273 TraceCheckUtils]: 135: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:21,558 INFO L273 TraceCheckUtils]: 136: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:21,558 INFO L273 TraceCheckUtils]: 137: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:21,558 INFO L273 TraceCheckUtils]: 138: Hoare triple {13824#true} assume !(~i~0 < 20); {13824#true} is VALID [2018-11-23 12:17:21,558 INFO L273 TraceCheckUtils]: 139: Hoare triple {13824#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13824#true} is VALID [2018-11-23 12:17:21,558 INFO L273 TraceCheckUtils]: 140: Hoare triple {13824#true} assume true; {13824#true} is VALID [2018-11-23 12:17:21,558 INFO L268 TraceCheckUtils]: 141: Hoare quadruple {13824#true} {13825#false} #79#return; {13825#false} is VALID [2018-11-23 12:17:21,559 INFO L273 TraceCheckUtils]: 142: Hoare triple {13825#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {13825#false} is VALID [2018-11-23 12:17:21,559 INFO L273 TraceCheckUtils]: 143: Hoare triple {13825#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {13825#false} is VALID [2018-11-23 12:17:21,559 INFO L273 TraceCheckUtils]: 144: Hoare triple {13825#false} assume !false; {13825#false} is VALID [2018-11-23 12:17:21,567 INFO L134 CoverageAnalysis]: Checked inductivity of 1133 backedges. 0 proven. 400 refuted. 0 times theorem prover too weak. 733 trivial. 0 not checked. [2018-11-23 12:17:21,567 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:21,567 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:21,576 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:17:21,715 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2018-11-23 12:17:21,715 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:21,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:21,761 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:22,090 INFO L256 TraceCheckUtils]: 0: Hoare triple {13824#true} call ULTIMATE.init(); {13824#true} is VALID [2018-11-23 12:17:22,090 INFO L273 TraceCheckUtils]: 1: Hoare triple {13824#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {13824#true} is VALID [2018-11-23 12:17:22,091 INFO L273 TraceCheckUtils]: 2: Hoare triple {13824#true} assume true; {13824#true} is VALID [2018-11-23 12:17:22,091 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13824#true} {13824#true} #71#return; {13824#true} is VALID [2018-11-23 12:17:22,091 INFO L256 TraceCheckUtils]: 4: Hoare triple {13824#true} call #t~ret14 := main(); {13824#true} is VALID [2018-11-23 12:17:22,091 INFO L273 TraceCheckUtils]: 5: Hoare triple {13824#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {13824#true} is VALID [2018-11-23 12:17:22,092 INFO L273 TraceCheckUtils]: 6: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,092 INFO L273 TraceCheckUtils]: 7: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,092 INFO L273 TraceCheckUtils]: 8: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,092 INFO L273 TraceCheckUtils]: 9: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,092 INFO L273 TraceCheckUtils]: 10: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,092 INFO L273 TraceCheckUtils]: 11: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,093 INFO L273 TraceCheckUtils]: 12: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,093 INFO L273 TraceCheckUtils]: 13: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,093 INFO L273 TraceCheckUtils]: 14: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,093 INFO L273 TraceCheckUtils]: 15: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,093 INFO L273 TraceCheckUtils]: 16: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,093 INFO L273 TraceCheckUtils]: 17: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,093 INFO L273 TraceCheckUtils]: 18: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,093 INFO L273 TraceCheckUtils]: 19: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,093 INFO L273 TraceCheckUtils]: 20: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,094 INFO L273 TraceCheckUtils]: 21: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,094 INFO L273 TraceCheckUtils]: 22: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,094 INFO L273 TraceCheckUtils]: 23: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,094 INFO L273 TraceCheckUtils]: 24: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,094 INFO L273 TraceCheckUtils]: 25: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,094 INFO L273 TraceCheckUtils]: 26: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,094 INFO L273 TraceCheckUtils]: 27: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,094 INFO L273 TraceCheckUtils]: 28: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,094 INFO L273 TraceCheckUtils]: 29: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,095 INFO L273 TraceCheckUtils]: 30: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,095 INFO L273 TraceCheckUtils]: 31: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,095 INFO L273 TraceCheckUtils]: 32: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,095 INFO L273 TraceCheckUtils]: 33: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,095 INFO L273 TraceCheckUtils]: 34: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,095 INFO L273 TraceCheckUtils]: 35: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,095 INFO L273 TraceCheckUtils]: 36: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,095 INFO L273 TraceCheckUtils]: 37: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,095 INFO L273 TraceCheckUtils]: 38: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,096 INFO L273 TraceCheckUtils]: 39: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,096 INFO L273 TraceCheckUtils]: 40: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,096 INFO L273 TraceCheckUtils]: 41: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,096 INFO L273 TraceCheckUtils]: 42: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,096 INFO L273 TraceCheckUtils]: 43: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,096 INFO L273 TraceCheckUtils]: 44: Hoare triple {13824#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13824#true} is VALID [2018-11-23 12:17:22,096 INFO L273 TraceCheckUtils]: 45: Hoare triple {13824#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13824#true} is VALID [2018-11-23 12:17:22,096 INFO L273 TraceCheckUtils]: 46: Hoare triple {13824#true} assume !(~i~1 < 20); {13824#true} is VALID [2018-11-23 12:17:22,096 INFO L256 TraceCheckUtils]: 47: Hoare triple {13824#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {13824#true} is VALID [2018-11-23 12:17:22,097 INFO L273 TraceCheckUtils]: 48: Hoare triple {13824#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13824#true} is VALID [2018-11-23 12:17:22,097 INFO L273 TraceCheckUtils]: 49: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,097 INFO L273 TraceCheckUtils]: 50: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,097 INFO L273 TraceCheckUtils]: 51: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,097 INFO L273 TraceCheckUtils]: 52: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,097 INFO L273 TraceCheckUtils]: 53: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,097 INFO L273 TraceCheckUtils]: 54: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,097 INFO L273 TraceCheckUtils]: 55: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,097 INFO L273 TraceCheckUtils]: 56: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,098 INFO L273 TraceCheckUtils]: 57: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,098 INFO L273 TraceCheckUtils]: 58: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,098 INFO L273 TraceCheckUtils]: 59: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,098 INFO L273 TraceCheckUtils]: 60: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,098 INFO L273 TraceCheckUtils]: 61: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,098 INFO L273 TraceCheckUtils]: 62: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,098 INFO L273 TraceCheckUtils]: 63: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,098 INFO L273 TraceCheckUtils]: 64: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,098 INFO L273 TraceCheckUtils]: 65: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,099 INFO L273 TraceCheckUtils]: 66: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,099 INFO L273 TraceCheckUtils]: 67: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,099 INFO L273 TraceCheckUtils]: 68: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,099 INFO L273 TraceCheckUtils]: 69: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,099 INFO L273 TraceCheckUtils]: 70: Hoare triple {13824#true} assume !(~i~0 < 20); {13824#true} is VALID [2018-11-23 12:17:22,099 INFO L273 TraceCheckUtils]: 71: Hoare triple {13824#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13824#true} is VALID [2018-11-23 12:17:22,099 INFO L273 TraceCheckUtils]: 72: Hoare triple {13824#true} assume true; {13824#true} is VALID [2018-11-23 12:17:22,099 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {13824#true} {13824#true} #75#return; {13824#true} is VALID [2018-11-23 12:17:22,099 INFO L273 TraceCheckUtils]: 74: Hoare triple {13824#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {13824#true} is VALID [2018-11-23 12:17:22,100 INFO L256 TraceCheckUtils]: 75: Hoare triple {13824#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {13824#true} is VALID [2018-11-23 12:17:22,100 INFO L273 TraceCheckUtils]: 76: Hoare triple {13824#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13824#true} is VALID [2018-11-23 12:17:22,100 INFO L273 TraceCheckUtils]: 77: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,100 INFO L273 TraceCheckUtils]: 78: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,100 INFO L273 TraceCheckUtils]: 79: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,100 INFO L273 TraceCheckUtils]: 80: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,100 INFO L273 TraceCheckUtils]: 81: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,100 INFO L273 TraceCheckUtils]: 82: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,100 INFO L273 TraceCheckUtils]: 83: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,101 INFO L273 TraceCheckUtils]: 84: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,101 INFO L273 TraceCheckUtils]: 85: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,101 INFO L273 TraceCheckUtils]: 86: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,101 INFO L273 TraceCheckUtils]: 87: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,101 INFO L273 TraceCheckUtils]: 88: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,101 INFO L273 TraceCheckUtils]: 89: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,101 INFO L273 TraceCheckUtils]: 90: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,101 INFO L273 TraceCheckUtils]: 91: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,101 INFO L273 TraceCheckUtils]: 92: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,102 INFO L273 TraceCheckUtils]: 93: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,102 INFO L273 TraceCheckUtils]: 94: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,102 INFO L273 TraceCheckUtils]: 95: Hoare triple {13824#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13824#true} is VALID [2018-11-23 12:17:22,102 INFO L273 TraceCheckUtils]: 96: Hoare triple {13824#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13824#true} is VALID [2018-11-23 12:17:22,102 INFO L273 TraceCheckUtils]: 97: Hoare triple {13824#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13824#true} is VALID [2018-11-23 12:17:22,102 INFO L273 TraceCheckUtils]: 98: Hoare triple {13824#true} assume !(~i~0 < 20); {13824#true} is VALID [2018-11-23 12:17:22,102 INFO L273 TraceCheckUtils]: 99: Hoare triple {13824#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13824#true} is VALID [2018-11-23 12:17:22,102 INFO L273 TraceCheckUtils]: 100: Hoare triple {13824#true} assume true; {13824#true} is VALID [2018-11-23 12:17:22,102 INFO L268 TraceCheckUtils]: 101: Hoare quadruple {13824#true} {13824#true} #77#return; {13824#true} is VALID [2018-11-23 12:17:22,103 INFO L273 TraceCheckUtils]: 102: Hoare triple {13824#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {14143#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:22,103 INFO L273 TraceCheckUtils]: 103: Hoare triple {14143#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14143#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:22,104 INFO L273 TraceCheckUtils]: 104: Hoare triple {14143#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14150#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:22,104 INFO L273 TraceCheckUtils]: 105: Hoare triple {14150#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14150#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:22,105 INFO L273 TraceCheckUtils]: 106: Hoare triple {14150#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14157#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:22,105 INFO L273 TraceCheckUtils]: 107: Hoare triple {14157#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14157#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:22,105 INFO L273 TraceCheckUtils]: 108: Hoare triple {14157#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14164#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:22,106 INFO L273 TraceCheckUtils]: 109: Hoare triple {14164#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14164#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:22,106 INFO L273 TraceCheckUtils]: 110: Hoare triple {14164#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14171#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:22,107 INFO L273 TraceCheckUtils]: 111: Hoare triple {14171#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14171#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:22,107 INFO L273 TraceCheckUtils]: 112: Hoare triple {14171#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14178#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:22,108 INFO L273 TraceCheckUtils]: 113: Hoare triple {14178#(<= main_~i~2 5)} assume !(~i~2 < 19); {13825#false} is VALID [2018-11-23 12:17:22,108 INFO L273 TraceCheckUtils]: 114: Hoare triple {13825#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {13825#false} is VALID [2018-11-23 12:17:22,108 INFO L256 TraceCheckUtils]: 115: Hoare triple {13825#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {13825#false} is VALID [2018-11-23 12:17:22,109 INFO L273 TraceCheckUtils]: 116: Hoare triple {13825#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13825#false} is VALID [2018-11-23 12:17:22,109 INFO L273 TraceCheckUtils]: 117: Hoare triple {13825#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13825#false} is VALID [2018-11-23 12:17:22,109 INFO L273 TraceCheckUtils]: 118: Hoare triple {13825#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13825#false} is VALID [2018-11-23 12:17:22,109 INFO L273 TraceCheckUtils]: 119: Hoare triple {13825#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13825#false} is VALID [2018-11-23 12:17:22,109 INFO L273 TraceCheckUtils]: 120: Hoare triple {13825#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13825#false} is VALID [2018-11-23 12:17:22,110 INFO L273 TraceCheckUtils]: 121: Hoare triple {13825#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13825#false} is VALID [2018-11-23 12:17:22,110 INFO L273 TraceCheckUtils]: 122: Hoare triple {13825#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13825#false} is VALID [2018-11-23 12:17:22,110 INFO L273 TraceCheckUtils]: 123: Hoare triple {13825#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13825#false} is VALID [2018-11-23 12:17:22,110 INFO L273 TraceCheckUtils]: 124: Hoare triple {13825#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13825#false} is VALID [2018-11-23 12:17:22,110 INFO L273 TraceCheckUtils]: 125: Hoare triple {13825#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13825#false} is VALID [2018-11-23 12:17:22,110 INFO L273 TraceCheckUtils]: 126: Hoare triple {13825#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13825#false} is VALID [2018-11-23 12:17:22,110 INFO L273 TraceCheckUtils]: 127: Hoare triple {13825#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13825#false} is VALID [2018-11-23 12:17:22,111 INFO L273 TraceCheckUtils]: 128: Hoare triple {13825#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13825#false} is VALID [2018-11-23 12:17:22,111 INFO L273 TraceCheckUtils]: 129: Hoare triple {13825#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13825#false} is VALID [2018-11-23 12:17:22,111 INFO L273 TraceCheckUtils]: 130: Hoare triple {13825#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13825#false} is VALID [2018-11-23 12:17:22,111 INFO L273 TraceCheckUtils]: 131: Hoare triple {13825#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13825#false} is VALID [2018-11-23 12:17:22,111 INFO L273 TraceCheckUtils]: 132: Hoare triple {13825#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13825#false} is VALID [2018-11-23 12:17:22,111 INFO L273 TraceCheckUtils]: 133: Hoare triple {13825#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13825#false} is VALID [2018-11-23 12:17:22,111 INFO L273 TraceCheckUtils]: 134: Hoare triple {13825#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13825#false} is VALID [2018-11-23 12:17:22,111 INFO L273 TraceCheckUtils]: 135: Hoare triple {13825#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13825#false} is VALID [2018-11-23 12:17:22,111 INFO L273 TraceCheckUtils]: 136: Hoare triple {13825#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13825#false} is VALID [2018-11-23 12:17:22,112 INFO L273 TraceCheckUtils]: 137: Hoare triple {13825#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13825#false} is VALID [2018-11-23 12:17:22,112 INFO L273 TraceCheckUtils]: 138: Hoare triple {13825#false} assume !(~i~0 < 20); {13825#false} is VALID [2018-11-23 12:17:22,112 INFO L273 TraceCheckUtils]: 139: Hoare triple {13825#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13825#false} is VALID [2018-11-23 12:17:22,112 INFO L273 TraceCheckUtils]: 140: Hoare triple {13825#false} assume true; {13825#false} is VALID [2018-11-23 12:17:22,112 INFO L268 TraceCheckUtils]: 141: Hoare quadruple {13825#false} {13825#false} #79#return; {13825#false} is VALID [2018-11-23 12:17:22,112 INFO L273 TraceCheckUtils]: 142: Hoare triple {13825#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {13825#false} is VALID [2018-11-23 12:17:22,112 INFO L273 TraceCheckUtils]: 143: Hoare triple {13825#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {13825#false} is VALID [2018-11-23 12:17:22,112 INFO L273 TraceCheckUtils]: 144: Hoare triple {13825#false} assume !false; {13825#false} is VALID [2018-11-23 12:17:22,120 INFO L134 CoverageAnalysis]: Checked inductivity of 1133 backedges. 332 proven. 25 refuted. 0 times theorem prover too weak. 776 trivial. 0 not checked. [2018-11-23 12:17:22,140 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:22,140 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 16 [2018-11-23 12:17:22,140 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 145 [2018-11-23 12:17:22,141 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:22,141 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:17:22,225 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:22,225 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:17:22,225 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:17:22,226 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=168, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:17:22,226 INFO L87 Difference]: Start difference. First operand 94 states and 105 transitions. Second operand 16 states. [2018-11-23 12:17:22,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:22,677 INFO L93 Difference]: Finished difference Result 148 states and 175 transitions. [2018-11-23 12:17:22,677 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:17:22,677 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 145 [2018-11-23 12:17:22,677 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:22,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:17:22,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 102 transitions. [2018-11-23 12:17:22,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:17:22,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 102 transitions. [2018-11-23 12:17:22,680 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 102 transitions. [2018-11-23 12:17:22,818 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:22,820 INFO L225 Difference]: With dead ends: 148 [2018-11-23 12:17:22,821 INFO L226 Difference]: Without dead ends: 102 [2018-11-23 12:17:22,822 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 154 GetRequests, 140 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=72, Invalid=168, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:17:22,822 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2018-11-23 12:17:22,927 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 99. [2018-11-23 12:17:22,927 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:22,928 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand 99 states. [2018-11-23 12:17:22,928 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 99 states. [2018-11-23 12:17:22,928 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 99 states. [2018-11-23 12:17:22,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:22,930 INFO L93 Difference]: Finished difference Result 102 states and 115 transitions. [2018-11-23 12:17:22,930 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 115 transitions. [2018-11-23 12:17:22,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:22,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:22,934 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand 102 states. [2018-11-23 12:17:22,934 INFO L87 Difference]: Start difference. First operand 99 states. Second operand 102 states. [2018-11-23 12:17:22,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:22,936 INFO L93 Difference]: Finished difference Result 102 states and 115 transitions. [2018-11-23 12:17:22,937 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 115 transitions. [2018-11-23 12:17:22,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:22,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:22,937 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:22,937 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:22,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 99 states. [2018-11-23 12:17:22,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 111 transitions. [2018-11-23 12:17:22,940 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 111 transitions. Word has length 145 [2018-11-23 12:17:22,940 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:22,940 INFO L480 AbstractCegarLoop]: Abstraction has 99 states and 111 transitions. [2018-11-23 12:17:22,940 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:17:22,940 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 111 transitions. [2018-11-23 12:17:22,941 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 157 [2018-11-23 12:17:22,941 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:22,941 INFO L402 BasicCegarLoop]: trace histogram [24, 24, 24, 20, 20, 6, 6, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:22,941 INFO L423 AbstractCegarLoop]: === Iteration 26 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:22,942 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:22,942 INFO L82 PathProgramCache]: Analyzing trace with hash -1348963054, now seen corresponding path program 22 times [2018-11-23 12:17:22,942 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:22,942 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:22,943 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:22,943 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:22,943 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:22,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:23,206 INFO L256 TraceCheckUtils]: 0: Hoare triple {14832#true} call ULTIMATE.init(); {14832#true} is VALID [2018-11-23 12:17:23,206 INFO L273 TraceCheckUtils]: 1: Hoare triple {14832#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {14832#true} is VALID [2018-11-23 12:17:23,207 INFO L273 TraceCheckUtils]: 2: Hoare triple {14832#true} assume true; {14832#true} is VALID [2018-11-23 12:17:23,207 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14832#true} {14832#true} #71#return; {14832#true} is VALID [2018-11-23 12:17:23,207 INFO L256 TraceCheckUtils]: 4: Hoare triple {14832#true} call #t~ret14 := main(); {14832#true} is VALID [2018-11-23 12:17:23,207 INFO L273 TraceCheckUtils]: 5: Hoare triple {14832#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {14832#true} is VALID [2018-11-23 12:17:23,207 INFO L273 TraceCheckUtils]: 6: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,208 INFO L273 TraceCheckUtils]: 7: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,208 INFO L273 TraceCheckUtils]: 8: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,208 INFO L273 TraceCheckUtils]: 9: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,208 INFO L273 TraceCheckUtils]: 10: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,208 INFO L273 TraceCheckUtils]: 11: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,208 INFO L273 TraceCheckUtils]: 12: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,209 INFO L273 TraceCheckUtils]: 13: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,209 INFO L273 TraceCheckUtils]: 14: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,209 INFO L273 TraceCheckUtils]: 15: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,209 INFO L273 TraceCheckUtils]: 16: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,209 INFO L273 TraceCheckUtils]: 17: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,209 INFO L273 TraceCheckUtils]: 18: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,210 INFO L273 TraceCheckUtils]: 19: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,210 INFO L273 TraceCheckUtils]: 20: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,210 INFO L273 TraceCheckUtils]: 21: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,210 INFO L273 TraceCheckUtils]: 22: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,210 INFO L273 TraceCheckUtils]: 23: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,210 INFO L273 TraceCheckUtils]: 24: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,210 INFO L273 TraceCheckUtils]: 25: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,210 INFO L273 TraceCheckUtils]: 26: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,210 INFO L273 TraceCheckUtils]: 27: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,211 INFO L273 TraceCheckUtils]: 28: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,211 INFO L273 TraceCheckUtils]: 29: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,211 INFO L273 TraceCheckUtils]: 30: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,211 INFO L273 TraceCheckUtils]: 31: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,211 INFO L273 TraceCheckUtils]: 32: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,211 INFO L273 TraceCheckUtils]: 33: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,211 INFO L273 TraceCheckUtils]: 34: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,211 INFO L273 TraceCheckUtils]: 35: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,211 INFO L273 TraceCheckUtils]: 36: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,212 INFO L273 TraceCheckUtils]: 37: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,212 INFO L273 TraceCheckUtils]: 38: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,212 INFO L273 TraceCheckUtils]: 39: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,212 INFO L273 TraceCheckUtils]: 40: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,212 INFO L273 TraceCheckUtils]: 41: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,212 INFO L273 TraceCheckUtils]: 42: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,212 INFO L273 TraceCheckUtils]: 43: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,212 INFO L273 TraceCheckUtils]: 44: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:23,212 INFO L273 TraceCheckUtils]: 45: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:23,212 INFO L273 TraceCheckUtils]: 46: Hoare triple {14832#true} assume !(~i~1 < 20); {14832#true} is VALID [2018-11-23 12:17:23,213 INFO L256 TraceCheckUtils]: 47: Hoare triple {14832#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {14832#true} is VALID [2018-11-23 12:17:23,214 INFO L273 TraceCheckUtils]: 48: Hoare triple {14832#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {14834#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:23,214 INFO L273 TraceCheckUtils]: 49: Hoare triple {14834#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14834#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:23,214 INFO L273 TraceCheckUtils]: 50: Hoare triple {14834#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14834#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:23,215 INFO L273 TraceCheckUtils]: 51: Hoare triple {14834#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14835#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:23,215 INFO L273 TraceCheckUtils]: 52: Hoare triple {14835#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14835#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:23,216 INFO L273 TraceCheckUtils]: 53: Hoare triple {14835#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14835#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:23,216 INFO L273 TraceCheckUtils]: 54: Hoare triple {14835#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14836#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:23,217 INFO L273 TraceCheckUtils]: 55: Hoare triple {14836#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14836#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:23,217 INFO L273 TraceCheckUtils]: 56: Hoare triple {14836#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14836#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:23,217 INFO L273 TraceCheckUtils]: 57: Hoare triple {14836#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14837#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:23,218 INFO L273 TraceCheckUtils]: 58: Hoare triple {14837#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14837#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:23,218 INFO L273 TraceCheckUtils]: 59: Hoare triple {14837#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14837#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:23,218 INFO L273 TraceCheckUtils]: 60: Hoare triple {14837#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14838#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:23,219 INFO L273 TraceCheckUtils]: 61: Hoare triple {14838#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14838#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:23,219 INFO L273 TraceCheckUtils]: 62: Hoare triple {14838#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14838#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:23,220 INFO L273 TraceCheckUtils]: 63: Hoare triple {14838#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14839#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:23,221 INFO L273 TraceCheckUtils]: 64: Hoare triple {14839#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14839#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:23,221 INFO L273 TraceCheckUtils]: 65: Hoare triple {14839#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14839#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:23,222 INFO L273 TraceCheckUtils]: 66: Hoare triple {14839#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14840#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:23,222 INFO L273 TraceCheckUtils]: 67: Hoare triple {14840#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14840#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:23,223 INFO L273 TraceCheckUtils]: 68: Hoare triple {14840#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14840#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:23,224 INFO L273 TraceCheckUtils]: 69: Hoare triple {14840#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14841#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:23,224 INFO L273 TraceCheckUtils]: 70: Hoare triple {14841#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14841#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:23,225 INFO L273 TraceCheckUtils]: 71: Hoare triple {14841#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14841#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:23,225 INFO L273 TraceCheckUtils]: 72: Hoare triple {14841#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14842#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:23,226 INFO L273 TraceCheckUtils]: 73: Hoare triple {14842#(<= sep_~i~0 8)} assume !(~i~0 < 20); {14833#false} is VALID [2018-11-23 12:17:23,226 INFO L273 TraceCheckUtils]: 74: Hoare triple {14833#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {14833#false} is VALID [2018-11-23 12:17:23,226 INFO L273 TraceCheckUtils]: 75: Hoare triple {14833#false} assume true; {14833#false} is VALID [2018-11-23 12:17:23,227 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {14833#false} {14832#true} #75#return; {14833#false} is VALID [2018-11-23 12:17:23,227 INFO L273 TraceCheckUtils]: 77: Hoare triple {14833#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {14833#false} is VALID [2018-11-23 12:17:23,227 INFO L256 TraceCheckUtils]: 78: Hoare triple {14833#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {14832#true} is VALID [2018-11-23 12:17:23,227 INFO L273 TraceCheckUtils]: 79: Hoare triple {14832#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {14832#true} is VALID [2018-11-23 12:17:23,227 INFO L273 TraceCheckUtils]: 80: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,228 INFO L273 TraceCheckUtils]: 81: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,228 INFO L273 TraceCheckUtils]: 82: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,228 INFO L273 TraceCheckUtils]: 83: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,228 INFO L273 TraceCheckUtils]: 84: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,228 INFO L273 TraceCheckUtils]: 85: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,228 INFO L273 TraceCheckUtils]: 86: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,229 INFO L273 TraceCheckUtils]: 87: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,229 INFO L273 TraceCheckUtils]: 88: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,229 INFO L273 TraceCheckUtils]: 89: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,229 INFO L273 TraceCheckUtils]: 90: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,229 INFO L273 TraceCheckUtils]: 91: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,229 INFO L273 TraceCheckUtils]: 92: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,229 INFO L273 TraceCheckUtils]: 93: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,229 INFO L273 TraceCheckUtils]: 94: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,229 INFO L273 TraceCheckUtils]: 95: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,230 INFO L273 TraceCheckUtils]: 96: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,230 INFO L273 TraceCheckUtils]: 97: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,230 INFO L273 TraceCheckUtils]: 98: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,230 INFO L273 TraceCheckUtils]: 99: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,230 INFO L273 TraceCheckUtils]: 100: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,230 INFO L273 TraceCheckUtils]: 101: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,230 INFO L273 TraceCheckUtils]: 102: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,230 INFO L273 TraceCheckUtils]: 103: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,230 INFO L273 TraceCheckUtils]: 104: Hoare triple {14832#true} assume !(~i~0 < 20); {14832#true} is VALID [2018-11-23 12:17:23,230 INFO L273 TraceCheckUtils]: 105: Hoare triple {14832#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {14832#true} is VALID [2018-11-23 12:17:23,231 INFO L273 TraceCheckUtils]: 106: Hoare triple {14832#true} assume true; {14832#true} is VALID [2018-11-23 12:17:23,231 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {14832#true} {14833#false} #77#return; {14833#false} is VALID [2018-11-23 12:17:23,231 INFO L273 TraceCheckUtils]: 108: Hoare triple {14833#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {14833#false} is VALID [2018-11-23 12:17:23,231 INFO L273 TraceCheckUtils]: 109: Hoare triple {14833#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14833#false} is VALID [2018-11-23 12:17:23,231 INFO L273 TraceCheckUtils]: 110: Hoare triple {14833#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14833#false} is VALID [2018-11-23 12:17:23,231 INFO L273 TraceCheckUtils]: 111: Hoare triple {14833#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14833#false} is VALID [2018-11-23 12:17:23,231 INFO L273 TraceCheckUtils]: 112: Hoare triple {14833#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14833#false} is VALID [2018-11-23 12:17:23,231 INFO L273 TraceCheckUtils]: 113: Hoare triple {14833#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14833#false} is VALID [2018-11-23 12:17:23,231 INFO L273 TraceCheckUtils]: 114: Hoare triple {14833#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14833#false} is VALID [2018-11-23 12:17:23,232 INFO L273 TraceCheckUtils]: 115: Hoare triple {14833#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14833#false} is VALID [2018-11-23 12:17:23,232 INFO L273 TraceCheckUtils]: 116: Hoare triple {14833#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14833#false} is VALID [2018-11-23 12:17:23,232 INFO L273 TraceCheckUtils]: 117: Hoare triple {14833#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14833#false} is VALID [2018-11-23 12:17:23,232 INFO L273 TraceCheckUtils]: 118: Hoare triple {14833#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14833#false} is VALID [2018-11-23 12:17:23,232 INFO L273 TraceCheckUtils]: 119: Hoare triple {14833#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14833#false} is VALID [2018-11-23 12:17:23,232 INFO L273 TraceCheckUtils]: 120: Hoare triple {14833#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14833#false} is VALID [2018-11-23 12:17:23,232 INFO L273 TraceCheckUtils]: 121: Hoare triple {14833#false} assume !(~i~2 < 19); {14833#false} is VALID [2018-11-23 12:17:23,232 INFO L273 TraceCheckUtils]: 122: Hoare triple {14833#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {14833#false} is VALID [2018-11-23 12:17:23,232 INFO L256 TraceCheckUtils]: 123: Hoare triple {14833#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {14832#true} is VALID [2018-11-23 12:17:23,233 INFO L273 TraceCheckUtils]: 124: Hoare triple {14832#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {14832#true} is VALID [2018-11-23 12:17:23,233 INFO L273 TraceCheckUtils]: 125: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,233 INFO L273 TraceCheckUtils]: 126: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,233 INFO L273 TraceCheckUtils]: 127: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,233 INFO L273 TraceCheckUtils]: 128: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,233 INFO L273 TraceCheckUtils]: 129: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,233 INFO L273 TraceCheckUtils]: 130: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,233 INFO L273 TraceCheckUtils]: 131: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,233 INFO L273 TraceCheckUtils]: 132: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,234 INFO L273 TraceCheckUtils]: 133: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,234 INFO L273 TraceCheckUtils]: 134: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,234 INFO L273 TraceCheckUtils]: 135: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,234 INFO L273 TraceCheckUtils]: 136: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,234 INFO L273 TraceCheckUtils]: 137: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,234 INFO L273 TraceCheckUtils]: 138: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,234 INFO L273 TraceCheckUtils]: 139: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,234 INFO L273 TraceCheckUtils]: 140: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,234 INFO L273 TraceCheckUtils]: 141: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,235 INFO L273 TraceCheckUtils]: 142: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,235 INFO L273 TraceCheckUtils]: 143: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,235 INFO L273 TraceCheckUtils]: 144: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,235 INFO L273 TraceCheckUtils]: 145: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,235 INFO L273 TraceCheckUtils]: 146: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:23,235 INFO L273 TraceCheckUtils]: 147: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:23,235 INFO L273 TraceCheckUtils]: 148: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:23,235 INFO L273 TraceCheckUtils]: 149: Hoare triple {14832#true} assume !(~i~0 < 20); {14832#true} is VALID [2018-11-23 12:17:23,235 INFO L273 TraceCheckUtils]: 150: Hoare triple {14832#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {14832#true} is VALID [2018-11-23 12:17:23,235 INFO L273 TraceCheckUtils]: 151: Hoare triple {14832#true} assume true; {14832#true} is VALID [2018-11-23 12:17:23,236 INFO L268 TraceCheckUtils]: 152: Hoare quadruple {14832#true} {14833#false} #79#return; {14833#false} is VALID [2018-11-23 12:17:23,236 INFO L273 TraceCheckUtils]: 153: Hoare triple {14833#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {14833#false} is VALID [2018-11-23 12:17:23,236 INFO L273 TraceCheckUtils]: 154: Hoare triple {14833#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {14833#false} is VALID [2018-11-23 12:17:23,236 INFO L273 TraceCheckUtils]: 155: Hoare triple {14833#false} assume !false; {14833#false} is VALID [2018-11-23 12:17:23,245 INFO L134 CoverageAnalysis]: Checked inductivity of 1351 backedges. 0 proven. 516 refuted. 0 times theorem prover too weak. 835 trivial. 0 not checked. [2018-11-23 12:17:23,246 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:23,246 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:23,255 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:17:23,342 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:17:23,343 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:23,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:23,393 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:24,415 INFO L256 TraceCheckUtils]: 0: Hoare triple {14832#true} call ULTIMATE.init(); {14832#true} is VALID [2018-11-23 12:17:24,415 INFO L273 TraceCheckUtils]: 1: Hoare triple {14832#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {14832#true} is VALID [2018-11-23 12:17:24,415 INFO L273 TraceCheckUtils]: 2: Hoare triple {14832#true} assume true; {14832#true} is VALID [2018-11-23 12:17:24,415 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14832#true} {14832#true} #71#return; {14832#true} is VALID [2018-11-23 12:17:24,416 INFO L256 TraceCheckUtils]: 4: Hoare triple {14832#true} call #t~ret14 := main(); {14832#true} is VALID [2018-11-23 12:17:24,416 INFO L273 TraceCheckUtils]: 5: Hoare triple {14832#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {14832#true} is VALID [2018-11-23 12:17:24,416 INFO L273 TraceCheckUtils]: 6: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,416 INFO L273 TraceCheckUtils]: 7: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,416 INFO L273 TraceCheckUtils]: 8: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,417 INFO L273 TraceCheckUtils]: 9: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,417 INFO L273 TraceCheckUtils]: 10: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,417 INFO L273 TraceCheckUtils]: 11: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,417 INFO L273 TraceCheckUtils]: 12: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,417 INFO L273 TraceCheckUtils]: 13: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,418 INFO L273 TraceCheckUtils]: 14: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,418 INFO L273 TraceCheckUtils]: 15: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,418 INFO L273 TraceCheckUtils]: 16: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,418 INFO L273 TraceCheckUtils]: 17: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,418 INFO L273 TraceCheckUtils]: 18: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,418 INFO L273 TraceCheckUtils]: 19: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,418 INFO L273 TraceCheckUtils]: 20: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,418 INFO L273 TraceCheckUtils]: 21: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,418 INFO L273 TraceCheckUtils]: 22: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,419 INFO L273 TraceCheckUtils]: 23: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,419 INFO L273 TraceCheckUtils]: 24: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,419 INFO L273 TraceCheckUtils]: 25: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,419 INFO L273 TraceCheckUtils]: 26: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,419 INFO L273 TraceCheckUtils]: 27: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,419 INFO L273 TraceCheckUtils]: 28: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,419 INFO L273 TraceCheckUtils]: 29: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,419 INFO L273 TraceCheckUtils]: 30: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,419 INFO L273 TraceCheckUtils]: 31: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,420 INFO L273 TraceCheckUtils]: 32: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,420 INFO L273 TraceCheckUtils]: 33: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,420 INFO L273 TraceCheckUtils]: 34: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,420 INFO L273 TraceCheckUtils]: 35: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,420 INFO L273 TraceCheckUtils]: 36: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,420 INFO L273 TraceCheckUtils]: 37: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,420 INFO L273 TraceCheckUtils]: 38: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,420 INFO L273 TraceCheckUtils]: 39: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,420 INFO L273 TraceCheckUtils]: 40: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,421 INFO L273 TraceCheckUtils]: 41: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,421 INFO L273 TraceCheckUtils]: 42: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,421 INFO L273 TraceCheckUtils]: 43: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,421 INFO L273 TraceCheckUtils]: 44: Hoare triple {14832#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14832#true} is VALID [2018-11-23 12:17:24,421 INFO L273 TraceCheckUtils]: 45: Hoare triple {14832#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14832#true} is VALID [2018-11-23 12:17:24,421 INFO L273 TraceCheckUtils]: 46: Hoare triple {14832#true} assume !(~i~1 < 20); {14832#true} is VALID [2018-11-23 12:17:24,421 INFO L256 TraceCheckUtils]: 47: Hoare triple {14832#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {14832#true} is VALID [2018-11-23 12:17:24,421 INFO L273 TraceCheckUtils]: 48: Hoare triple {14832#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {14832#true} is VALID [2018-11-23 12:17:24,421 INFO L273 TraceCheckUtils]: 49: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,422 INFO L273 TraceCheckUtils]: 50: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,422 INFO L273 TraceCheckUtils]: 51: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,422 INFO L273 TraceCheckUtils]: 52: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,422 INFO L273 TraceCheckUtils]: 53: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,422 INFO L273 TraceCheckUtils]: 54: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,422 INFO L273 TraceCheckUtils]: 55: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,422 INFO L273 TraceCheckUtils]: 56: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,422 INFO L273 TraceCheckUtils]: 57: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,422 INFO L273 TraceCheckUtils]: 58: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,423 INFO L273 TraceCheckUtils]: 59: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,423 INFO L273 TraceCheckUtils]: 60: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,423 INFO L273 TraceCheckUtils]: 61: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,423 INFO L273 TraceCheckUtils]: 62: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,423 INFO L273 TraceCheckUtils]: 63: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,423 INFO L273 TraceCheckUtils]: 64: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,423 INFO L273 TraceCheckUtils]: 65: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,423 INFO L273 TraceCheckUtils]: 66: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,423 INFO L273 TraceCheckUtils]: 67: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,424 INFO L273 TraceCheckUtils]: 68: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,424 INFO L273 TraceCheckUtils]: 69: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,424 INFO L273 TraceCheckUtils]: 70: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,424 INFO L273 TraceCheckUtils]: 71: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,424 INFO L273 TraceCheckUtils]: 72: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,424 INFO L273 TraceCheckUtils]: 73: Hoare triple {14832#true} assume !(~i~0 < 20); {14832#true} is VALID [2018-11-23 12:17:24,424 INFO L273 TraceCheckUtils]: 74: Hoare triple {14832#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {14832#true} is VALID [2018-11-23 12:17:24,424 INFO L273 TraceCheckUtils]: 75: Hoare triple {14832#true} assume true; {14832#true} is VALID [2018-11-23 12:17:24,424 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {14832#true} {14832#true} #75#return; {14832#true} is VALID [2018-11-23 12:17:24,425 INFO L273 TraceCheckUtils]: 77: Hoare triple {14832#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {14832#true} is VALID [2018-11-23 12:17:24,425 INFO L256 TraceCheckUtils]: 78: Hoare triple {14832#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {14832#true} is VALID [2018-11-23 12:17:24,425 INFO L273 TraceCheckUtils]: 79: Hoare triple {14832#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {14832#true} is VALID [2018-11-23 12:17:24,425 INFO L273 TraceCheckUtils]: 80: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,425 INFO L273 TraceCheckUtils]: 81: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,425 INFO L273 TraceCheckUtils]: 82: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,425 INFO L273 TraceCheckUtils]: 83: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,425 INFO L273 TraceCheckUtils]: 84: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,425 INFO L273 TraceCheckUtils]: 85: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,426 INFO L273 TraceCheckUtils]: 86: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,426 INFO L273 TraceCheckUtils]: 87: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,426 INFO L273 TraceCheckUtils]: 88: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,426 INFO L273 TraceCheckUtils]: 89: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,426 INFO L273 TraceCheckUtils]: 90: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,426 INFO L273 TraceCheckUtils]: 91: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,426 INFO L273 TraceCheckUtils]: 92: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,426 INFO L273 TraceCheckUtils]: 93: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,426 INFO L273 TraceCheckUtils]: 94: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,426 INFO L273 TraceCheckUtils]: 95: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,427 INFO L273 TraceCheckUtils]: 96: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,427 INFO L273 TraceCheckUtils]: 97: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,427 INFO L273 TraceCheckUtils]: 98: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,427 INFO L273 TraceCheckUtils]: 99: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,427 INFO L273 TraceCheckUtils]: 100: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,427 INFO L273 TraceCheckUtils]: 101: Hoare triple {14832#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:24,427 INFO L273 TraceCheckUtils]: 102: Hoare triple {14832#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14832#true} is VALID [2018-11-23 12:17:24,427 INFO L273 TraceCheckUtils]: 103: Hoare triple {14832#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14832#true} is VALID [2018-11-23 12:17:24,427 INFO L273 TraceCheckUtils]: 104: Hoare triple {14832#true} assume !(~i~0 < 20); {14832#true} is VALID [2018-11-23 12:17:24,428 INFO L273 TraceCheckUtils]: 105: Hoare triple {14832#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {14832#true} is VALID [2018-11-23 12:17:24,428 INFO L273 TraceCheckUtils]: 106: Hoare triple {14832#true} assume true; {14832#true} is VALID [2018-11-23 12:17:24,428 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {14832#true} {14832#true} #77#return; {14832#true} is VALID [2018-11-23 12:17:24,428 INFO L273 TraceCheckUtils]: 108: Hoare triple {14832#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {14832#true} is VALID [2018-11-23 12:17:24,428 INFO L273 TraceCheckUtils]: 109: Hoare triple {14832#true} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14832#true} is VALID [2018-11-23 12:17:24,428 INFO L273 TraceCheckUtils]: 110: Hoare triple {14832#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14832#true} is VALID [2018-11-23 12:17:24,428 INFO L273 TraceCheckUtils]: 111: Hoare triple {14832#true} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14832#true} is VALID [2018-11-23 12:17:24,429 INFO L273 TraceCheckUtils]: 112: Hoare triple {14832#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14832#true} is VALID [2018-11-23 12:17:24,429 INFO L273 TraceCheckUtils]: 113: Hoare triple {14832#true} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14832#true} is VALID [2018-11-23 12:17:24,429 INFO L273 TraceCheckUtils]: 114: Hoare triple {14832#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14832#true} is VALID [2018-11-23 12:17:24,429 INFO L273 TraceCheckUtils]: 115: Hoare triple {14832#true} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14832#true} is VALID [2018-11-23 12:17:24,429 INFO L273 TraceCheckUtils]: 116: Hoare triple {14832#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14832#true} is VALID [2018-11-23 12:17:24,429 INFO L273 TraceCheckUtils]: 117: Hoare triple {14832#true} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14832#true} is VALID [2018-11-23 12:17:24,429 INFO L273 TraceCheckUtils]: 118: Hoare triple {14832#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14832#true} is VALID [2018-11-23 12:17:24,430 INFO L273 TraceCheckUtils]: 119: Hoare triple {14832#true} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14832#true} is VALID [2018-11-23 12:17:24,430 INFO L273 TraceCheckUtils]: 120: Hoare triple {14832#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14832#true} is VALID [2018-11-23 12:17:24,430 INFO L273 TraceCheckUtils]: 121: Hoare triple {14832#true} assume !(~i~2 < 19); {14832#true} is VALID [2018-11-23 12:17:24,430 INFO L273 TraceCheckUtils]: 122: Hoare triple {14832#true} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {14832#true} is VALID [2018-11-23 12:17:24,430 INFO L256 TraceCheckUtils]: 123: Hoare triple {14832#true} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {14832#true} is VALID [2018-11-23 12:17:24,431 INFO L273 TraceCheckUtils]: 124: Hoare triple {14832#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {15218#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:24,432 INFO L273 TraceCheckUtils]: 125: Hoare triple {15218#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15218#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:24,432 INFO L273 TraceCheckUtils]: 126: Hoare triple {15218#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15218#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:24,432 INFO L273 TraceCheckUtils]: 127: Hoare triple {15218#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14835#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:24,433 INFO L273 TraceCheckUtils]: 128: Hoare triple {14835#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14835#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:24,433 INFO L273 TraceCheckUtils]: 129: Hoare triple {14835#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14835#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:24,433 INFO L273 TraceCheckUtils]: 130: Hoare triple {14835#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14836#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:24,434 INFO L273 TraceCheckUtils]: 131: Hoare triple {14836#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14836#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:24,434 INFO L273 TraceCheckUtils]: 132: Hoare triple {14836#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14836#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:24,434 INFO L273 TraceCheckUtils]: 133: Hoare triple {14836#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14837#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:24,435 INFO L273 TraceCheckUtils]: 134: Hoare triple {14837#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14837#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:24,435 INFO L273 TraceCheckUtils]: 135: Hoare triple {14837#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14837#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:24,435 INFO L273 TraceCheckUtils]: 136: Hoare triple {14837#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14838#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:24,436 INFO L273 TraceCheckUtils]: 137: Hoare triple {14838#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14838#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:24,436 INFO L273 TraceCheckUtils]: 138: Hoare triple {14838#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14838#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:24,437 INFO L273 TraceCheckUtils]: 139: Hoare triple {14838#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14839#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:24,437 INFO L273 TraceCheckUtils]: 140: Hoare triple {14839#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14839#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:24,438 INFO L273 TraceCheckUtils]: 141: Hoare triple {14839#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14839#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:24,439 INFO L273 TraceCheckUtils]: 142: Hoare triple {14839#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14840#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:24,439 INFO L273 TraceCheckUtils]: 143: Hoare triple {14840#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14840#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:24,440 INFO L273 TraceCheckUtils]: 144: Hoare triple {14840#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14840#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:24,440 INFO L273 TraceCheckUtils]: 145: Hoare triple {14840#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14841#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:24,441 INFO L273 TraceCheckUtils]: 146: Hoare triple {14841#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14841#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:24,441 INFO L273 TraceCheckUtils]: 147: Hoare triple {14841#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {14841#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:24,442 INFO L273 TraceCheckUtils]: 148: Hoare triple {14841#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14842#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:24,443 INFO L273 TraceCheckUtils]: 149: Hoare triple {14842#(<= sep_~i~0 8)} assume !(~i~0 < 20); {14833#false} is VALID [2018-11-23 12:17:24,443 INFO L273 TraceCheckUtils]: 150: Hoare triple {14833#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {14833#false} is VALID [2018-11-23 12:17:24,443 INFO L273 TraceCheckUtils]: 151: Hoare triple {14833#false} assume true; {14833#false} is VALID [2018-11-23 12:17:24,443 INFO L268 TraceCheckUtils]: 152: Hoare quadruple {14833#false} {14832#true} #79#return; {14833#false} is VALID [2018-11-23 12:17:24,443 INFO L273 TraceCheckUtils]: 153: Hoare triple {14833#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {14833#false} is VALID [2018-11-23 12:17:24,443 INFO L273 TraceCheckUtils]: 154: Hoare triple {14833#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {14833#false} is VALID [2018-11-23 12:17:24,444 INFO L273 TraceCheckUtils]: 155: Hoare triple {14833#false} assume !false; {14833#false} is VALID [2018-11-23 12:17:24,454 INFO L134 CoverageAnalysis]: Checked inductivity of 1351 backedges. 424 proven. 92 refuted. 0 times theorem prover too weak. 835 trivial. 0 not checked. [2018-11-23 12:17:24,473 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:24,473 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 12 [2018-11-23 12:17:24,474 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 156 [2018-11-23 12:17:24,474 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:24,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 12:17:24,539 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:24,539 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 12:17:24,540 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 12:17:24,540 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-23 12:17:24,540 INFO L87 Difference]: Start difference. First operand 99 states and 111 transitions. Second operand 12 states. [2018-11-23 12:17:24,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:24,867 INFO L93 Difference]: Finished difference Result 155 states and 183 transitions. [2018-11-23 12:17:24,868 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:17:24,868 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 156 [2018-11-23 12:17:24,868 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:24,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:17:24,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 93 transitions. [2018-11-23 12:17:24,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:17:24,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 93 transitions. [2018-11-23 12:17:24,871 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 93 transitions. [2018-11-23 12:17:25,642 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:25,644 INFO L225 Difference]: With dead ends: 155 [2018-11-23 12:17:25,644 INFO L226 Difference]: Without dead ends: 104 [2018-11-23 12:17:25,645 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 166 GetRequests, 156 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-23 12:17:25,646 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2018-11-23 12:17:25,679 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 102. [2018-11-23 12:17:25,680 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:25,680 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand 102 states. [2018-11-23 12:17:25,680 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 102 states. [2018-11-23 12:17:25,680 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 102 states. [2018-11-23 12:17:25,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:25,683 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2018-11-23 12:17:25,683 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 118 transitions. [2018-11-23 12:17:25,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:25,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:25,684 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 104 states. [2018-11-23 12:17:25,684 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 104 states. [2018-11-23 12:17:25,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:25,687 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2018-11-23 12:17:25,687 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 118 transitions. [2018-11-23 12:17:25,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:25,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:25,687 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:25,688 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:25,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2018-11-23 12:17:25,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 115 transitions. [2018-11-23 12:17:25,690 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 115 transitions. Word has length 156 [2018-11-23 12:17:25,690 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:25,690 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 115 transitions. [2018-11-23 12:17:25,690 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 12:17:25,690 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 115 transitions. [2018-11-23 12:17:25,691 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 166 [2018-11-23 12:17:25,691 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:25,692 INFO L402 BasicCegarLoop]: trace histogram [27, 27, 27, 20, 20, 6, 6, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:25,692 INFO L423 AbstractCegarLoop]: === Iteration 27 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:25,692 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:25,692 INFO L82 PathProgramCache]: Analyzing trace with hash 2105687683, now seen corresponding path program 23 times [2018-11-23 12:17:25,692 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:25,692 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:25,693 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:25,693 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:25,693 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:25,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:26,464 INFO L256 TraceCheckUtils]: 0: Hoare triple {15887#true} call ULTIMATE.init(); {15887#true} is VALID [2018-11-23 12:17:26,464 INFO L273 TraceCheckUtils]: 1: Hoare triple {15887#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {15887#true} is VALID [2018-11-23 12:17:26,464 INFO L273 TraceCheckUtils]: 2: Hoare triple {15887#true} assume true; {15887#true} is VALID [2018-11-23 12:17:26,465 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15887#true} {15887#true} #71#return; {15887#true} is VALID [2018-11-23 12:17:26,465 INFO L256 TraceCheckUtils]: 4: Hoare triple {15887#true} call #t~ret14 := main(); {15887#true} is VALID [2018-11-23 12:17:26,465 INFO L273 TraceCheckUtils]: 5: Hoare triple {15887#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {15887#true} is VALID [2018-11-23 12:17:26,465 INFO L273 TraceCheckUtils]: 6: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,465 INFO L273 TraceCheckUtils]: 7: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,465 INFO L273 TraceCheckUtils]: 8: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,466 INFO L273 TraceCheckUtils]: 9: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,466 INFO L273 TraceCheckUtils]: 10: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,466 INFO L273 TraceCheckUtils]: 11: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,466 INFO L273 TraceCheckUtils]: 12: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,466 INFO L273 TraceCheckUtils]: 13: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,466 INFO L273 TraceCheckUtils]: 14: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,466 INFO L273 TraceCheckUtils]: 15: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,466 INFO L273 TraceCheckUtils]: 16: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,466 INFO L273 TraceCheckUtils]: 17: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,467 INFO L273 TraceCheckUtils]: 18: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,467 INFO L273 TraceCheckUtils]: 19: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,467 INFO L273 TraceCheckUtils]: 20: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,467 INFO L273 TraceCheckUtils]: 21: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,467 INFO L273 TraceCheckUtils]: 22: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,467 INFO L273 TraceCheckUtils]: 23: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,467 INFO L273 TraceCheckUtils]: 24: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,467 INFO L273 TraceCheckUtils]: 25: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,467 INFO L273 TraceCheckUtils]: 26: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,468 INFO L273 TraceCheckUtils]: 27: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,468 INFO L273 TraceCheckUtils]: 28: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,468 INFO L273 TraceCheckUtils]: 29: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,468 INFO L273 TraceCheckUtils]: 30: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,468 INFO L273 TraceCheckUtils]: 31: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,468 INFO L273 TraceCheckUtils]: 32: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,468 INFO L273 TraceCheckUtils]: 33: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,468 INFO L273 TraceCheckUtils]: 34: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,468 INFO L273 TraceCheckUtils]: 35: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,469 INFO L273 TraceCheckUtils]: 36: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,469 INFO L273 TraceCheckUtils]: 37: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,469 INFO L273 TraceCheckUtils]: 38: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,469 INFO L273 TraceCheckUtils]: 39: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,469 INFO L273 TraceCheckUtils]: 40: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,469 INFO L273 TraceCheckUtils]: 41: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,469 INFO L273 TraceCheckUtils]: 42: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,469 INFO L273 TraceCheckUtils]: 43: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,469 INFO L273 TraceCheckUtils]: 44: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:26,470 INFO L273 TraceCheckUtils]: 45: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:26,470 INFO L273 TraceCheckUtils]: 46: Hoare triple {15887#true} assume !(~i~1 < 20); {15887#true} is VALID [2018-11-23 12:17:26,470 INFO L256 TraceCheckUtils]: 47: Hoare triple {15887#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {15887#true} is VALID [2018-11-23 12:17:26,470 INFO L273 TraceCheckUtils]: 48: Hoare triple {15887#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {15889#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:26,471 INFO L273 TraceCheckUtils]: 49: Hoare triple {15889#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15889#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:26,471 INFO L273 TraceCheckUtils]: 50: Hoare triple {15889#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15889#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:26,471 INFO L273 TraceCheckUtils]: 51: Hoare triple {15889#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15890#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:26,472 INFO L273 TraceCheckUtils]: 52: Hoare triple {15890#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15890#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:26,472 INFO L273 TraceCheckUtils]: 53: Hoare triple {15890#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15890#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:26,472 INFO L273 TraceCheckUtils]: 54: Hoare triple {15890#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:26,473 INFO L273 TraceCheckUtils]: 55: Hoare triple {15891#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:26,473 INFO L273 TraceCheckUtils]: 56: Hoare triple {15891#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15891#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:26,477 INFO L273 TraceCheckUtils]: 57: Hoare triple {15891#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:26,478 INFO L273 TraceCheckUtils]: 58: Hoare triple {15892#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:26,478 INFO L273 TraceCheckUtils]: 59: Hoare triple {15892#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15892#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:26,479 INFO L273 TraceCheckUtils]: 60: Hoare triple {15892#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15893#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:26,479 INFO L273 TraceCheckUtils]: 61: Hoare triple {15893#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15893#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:26,479 INFO L273 TraceCheckUtils]: 62: Hoare triple {15893#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15893#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:26,480 INFO L273 TraceCheckUtils]: 63: Hoare triple {15893#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15894#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:26,480 INFO L273 TraceCheckUtils]: 64: Hoare triple {15894#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15894#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:26,480 INFO L273 TraceCheckUtils]: 65: Hoare triple {15894#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15894#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:26,481 INFO L273 TraceCheckUtils]: 66: Hoare triple {15894#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15895#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:26,481 INFO L273 TraceCheckUtils]: 67: Hoare triple {15895#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15895#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:26,481 INFO L273 TraceCheckUtils]: 68: Hoare triple {15895#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15895#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:26,482 INFO L273 TraceCheckUtils]: 69: Hoare triple {15895#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15896#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:26,483 INFO L273 TraceCheckUtils]: 70: Hoare triple {15896#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15896#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:26,483 INFO L273 TraceCheckUtils]: 71: Hoare triple {15896#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15896#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:26,484 INFO L273 TraceCheckUtils]: 72: Hoare triple {15896#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15897#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:26,484 INFO L273 TraceCheckUtils]: 73: Hoare triple {15897#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15897#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:26,485 INFO L273 TraceCheckUtils]: 74: Hoare triple {15897#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15897#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:26,486 INFO L273 TraceCheckUtils]: 75: Hoare triple {15897#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15898#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:26,486 INFO L273 TraceCheckUtils]: 76: Hoare triple {15898#(<= sep_~i~0 9)} assume !(~i~0 < 20); {15888#false} is VALID [2018-11-23 12:17:26,487 INFO L273 TraceCheckUtils]: 77: Hoare triple {15888#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {15888#false} is VALID [2018-11-23 12:17:26,487 INFO L273 TraceCheckUtils]: 78: Hoare triple {15888#false} assume true; {15888#false} is VALID [2018-11-23 12:17:26,487 INFO L268 TraceCheckUtils]: 79: Hoare quadruple {15888#false} {15887#true} #75#return; {15888#false} is VALID [2018-11-23 12:17:26,487 INFO L273 TraceCheckUtils]: 80: Hoare triple {15888#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {15888#false} is VALID [2018-11-23 12:17:26,487 INFO L256 TraceCheckUtils]: 81: Hoare triple {15888#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {15887#true} is VALID [2018-11-23 12:17:26,488 INFO L273 TraceCheckUtils]: 82: Hoare triple {15887#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {15887#true} is VALID [2018-11-23 12:17:26,488 INFO L273 TraceCheckUtils]: 83: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,488 INFO L273 TraceCheckUtils]: 84: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,488 INFO L273 TraceCheckUtils]: 85: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,488 INFO L273 TraceCheckUtils]: 86: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,489 INFO L273 TraceCheckUtils]: 87: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,489 INFO L273 TraceCheckUtils]: 88: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,489 INFO L273 TraceCheckUtils]: 89: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,489 INFO L273 TraceCheckUtils]: 90: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,489 INFO L273 TraceCheckUtils]: 91: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,489 INFO L273 TraceCheckUtils]: 92: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,490 INFO L273 TraceCheckUtils]: 93: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,490 INFO L273 TraceCheckUtils]: 94: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,490 INFO L273 TraceCheckUtils]: 95: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,490 INFO L273 TraceCheckUtils]: 96: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,490 INFO L273 TraceCheckUtils]: 97: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,490 INFO L273 TraceCheckUtils]: 98: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,490 INFO L273 TraceCheckUtils]: 99: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,490 INFO L273 TraceCheckUtils]: 100: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,490 INFO L273 TraceCheckUtils]: 101: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,491 INFO L273 TraceCheckUtils]: 102: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,491 INFO L273 TraceCheckUtils]: 103: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,491 INFO L273 TraceCheckUtils]: 104: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,491 INFO L273 TraceCheckUtils]: 105: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,491 INFO L273 TraceCheckUtils]: 106: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,491 INFO L273 TraceCheckUtils]: 107: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,491 INFO L273 TraceCheckUtils]: 108: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,491 INFO L273 TraceCheckUtils]: 109: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,491 INFO L273 TraceCheckUtils]: 110: Hoare triple {15887#true} assume !(~i~0 < 20); {15887#true} is VALID [2018-11-23 12:17:26,492 INFO L273 TraceCheckUtils]: 111: Hoare triple {15887#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {15887#true} is VALID [2018-11-23 12:17:26,492 INFO L273 TraceCheckUtils]: 112: Hoare triple {15887#true} assume true; {15887#true} is VALID [2018-11-23 12:17:26,492 INFO L268 TraceCheckUtils]: 113: Hoare quadruple {15887#true} {15888#false} #77#return; {15888#false} is VALID [2018-11-23 12:17:26,492 INFO L273 TraceCheckUtils]: 114: Hoare triple {15888#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {15888#false} is VALID [2018-11-23 12:17:26,492 INFO L273 TraceCheckUtils]: 115: Hoare triple {15888#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15888#false} is VALID [2018-11-23 12:17:26,492 INFO L273 TraceCheckUtils]: 116: Hoare triple {15888#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15888#false} is VALID [2018-11-23 12:17:26,492 INFO L273 TraceCheckUtils]: 117: Hoare triple {15888#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15888#false} is VALID [2018-11-23 12:17:26,492 INFO L273 TraceCheckUtils]: 118: Hoare triple {15888#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15888#false} is VALID [2018-11-23 12:17:26,492 INFO L273 TraceCheckUtils]: 119: Hoare triple {15888#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15888#false} is VALID [2018-11-23 12:17:26,493 INFO L273 TraceCheckUtils]: 120: Hoare triple {15888#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15888#false} is VALID [2018-11-23 12:17:26,493 INFO L273 TraceCheckUtils]: 121: Hoare triple {15888#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15888#false} is VALID [2018-11-23 12:17:26,493 INFO L273 TraceCheckUtils]: 122: Hoare triple {15888#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15888#false} is VALID [2018-11-23 12:17:26,493 INFO L273 TraceCheckUtils]: 123: Hoare triple {15888#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15888#false} is VALID [2018-11-23 12:17:26,493 INFO L273 TraceCheckUtils]: 124: Hoare triple {15888#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15888#false} is VALID [2018-11-23 12:17:26,493 INFO L273 TraceCheckUtils]: 125: Hoare triple {15888#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15888#false} is VALID [2018-11-23 12:17:26,493 INFO L273 TraceCheckUtils]: 126: Hoare triple {15888#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15888#false} is VALID [2018-11-23 12:17:26,493 INFO L273 TraceCheckUtils]: 127: Hoare triple {15888#false} assume !(~i~2 < 19); {15888#false} is VALID [2018-11-23 12:17:26,493 INFO L273 TraceCheckUtils]: 128: Hoare triple {15888#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {15888#false} is VALID [2018-11-23 12:17:26,494 INFO L256 TraceCheckUtils]: 129: Hoare triple {15888#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {15887#true} is VALID [2018-11-23 12:17:26,494 INFO L273 TraceCheckUtils]: 130: Hoare triple {15887#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {15887#true} is VALID [2018-11-23 12:17:26,494 INFO L273 TraceCheckUtils]: 131: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,494 INFO L273 TraceCheckUtils]: 132: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,494 INFO L273 TraceCheckUtils]: 133: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,494 INFO L273 TraceCheckUtils]: 134: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,494 INFO L273 TraceCheckUtils]: 135: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,494 INFO L273 TraceCheckUtils]: 136: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,494 INFO L273 TraceCheckUtils]: 137: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,495 INFO L273 TraceCheckUtils]: 138: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,495 INFO L273 TraceCheckUtils]: 139: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,495 INFO L273 TraceCheckUtils]: 140: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,495 INFO L273 TraceCheckUtils]: 141: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,495 INFO L273 TraceCheckUtils]: 142: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,495 INFO L273 TraceCheckUtils]: 143: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,495 INFO L273 TraceCheckUtils]: 144: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,495 INFO L273 TraceCheckUtils]: 145: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,495 INFO L273 TraceCheckUtils]: 146: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,496 INFO L273 TraceCheckUtils]: 147: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,496 INFO L273 TraceCheckUtils]: 148: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,496 INFO L273 TraceCheckUtils]: 149: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,496 INFO L273 TraceCheckUtils]: 150: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,496 INFO L273 TraceCheckUtils]: 151: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,496 INFO L273 TraceCheckUtils]: 152: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,496 INFO L273 TraceCheckUtils]: 153: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,496 INFO L273 TraceCheckUtils]: 154: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,496 INFO L273 TraceCheckUtils]: 155: Hoare triple {15887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15887#true} is VALID [2018-11-23 12:17:26,497 INFO L273 TraceCheckUtils]: 156: Hoare triple {15887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15887#true} is VALID [2018-11-23 12:17:26,497 INFO L273 TraceCheckUtils]: 157: Hoare triple {15887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15887#true} is VALID [2018-11-23 12:17:26,497 INFO L273 TraceCheckUtils]: 158: Hoare triple {15887#true} assume !(~i~0 < 20); {15887#true} is VALID [2018-11-23 12:17:26,497 INFO L273 TraceCheckUtils]: 159: Hoare triple {15887#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {15887#true} is VALID [2018-11-23 12:17:26,497 INFO L273 TraceCheckUtils]: 160: Hoare triple {15887#true} assume true; {15887#true} is VALID [2018-11-23 12:17:26,497 INFO L268 TraceCheckUtils]: 161: Hoare quadruple {15887#true} {15888#false} #79#return; {15888#false} is VALID [2018-11-23 12:17:26,497 INFO L273 TraceCheckUtils]: 162: Hoare triple {15888#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {15888#false} is VALID [2018-11-23 12:17:26,497 INFO L273 TraceCheckUtils]: 163: Hoare triple {15888#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {15888#false} is VALID [2018-11-23 12:17:26,497 INFO L273 TraceCheckUtils]: 164: Hoare triple {15888#false} assume !false; {15888#false} is VALID [2018-11-23 12:17:26,508 INFO L134 CoverageAnalysis]: Checked inductivity of 1585 backedges. 0 proven. 647 refuted. 0 times theorem prover too weak. 938 trivial. 0 not checked. [2018-11-23 12:17:26,508 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:26,509 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:26,519 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:17:28,377 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 20 check-sat command(s) [2018-11-23 12:17:28,377 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:28,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:28,419 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:28,613 INFO L256 TraceCheckUtils]: 0: Hoare triple {15887#true} call ULTIMATE.init(); {15887#true} is VALID [2018-11-23 12:17:28,614 INFO L273 TraceCheckUtils]: 1: Hoare triple {15887#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {15887#true} is VALID [2018-11-23 12:17:28,614 INFO L273 TraceCheckUtils]: 2: Hoare triple {15887#true} assume true; {15887#true} is VALID [2018-11-23 12:17:28,614 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15887#true} {15887#true} #71#return; {15887#true} is VALID [2018-11-23 12:17:28,614 INFO L256 TraceCheckUtils]: 4: Hoare triple {15887#true} call #t~ret14 := main(); {15887#true} is VALID [2018-11-23 12:17:28,614 INFO L273 TraceCheckUtils]: 5: Hoare triple {15887#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {15887#true} is VALID [2018-11-23 12:17:28,615 INFO L273 TraceCheckUtils]: 6: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,615 INFO L273 TraceCheckUtils]: 7: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,615 INFO L273 TraceCheckUtils]: 8: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,615 INFO L273 TraceCheckUtils]: 9: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,615 INFO L273 TraceCheckUtils]: 10: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,615 INFO L273 TraceCheckUtils]: 11: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,616 INFO L273 TraceCheckUtils]: 12: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,616 INFO L273 TraceCheckUtils]: 13: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,616 INFO L273 TraceCheckUtils]: 14: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,616 INFO L273 TraceCheckUtils]: 15: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,616 INFO L273 TraceCheckUtils]: 16: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,617 INFO L273 TraceCheckUtils]: 17: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,617 INFO L273 TraceCheckUtils]: 18: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,617 INFO L273 TraceCheckUtils]: 19: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,617 INFO L273 TraceCheckUtils]: 20: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,617 INFO L273 TraceCheckUtils]: 21: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,617 INFO L273 TraceCheckUtils]: 22: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,617 INFO L273 TraceCheckUtils]: 23: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,617 INFO L273 TraceCheckUtils]: 24: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,617 INFO L273 TraceCheckUtils]: 25: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,617 INFO L273 TraceCheckUtils]: 26: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,618 INFO L273 TraceCheckUtils]: 27: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,618 INFO L273 TraceCheckUtils]: 28: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,618 INFO L273 TraceCheckUtils]: 29: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,618 INFO L273 TraceCheckUtils]: 30: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,618 INFO L273 TraceCheckUtils]: 31: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,618 INFO L273 TraceCheckUtils]: 32: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,618 INFO L273 TraceCheckUtils]: 33: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,619 INFO L273 TraceCheckUtils]: 34: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,619 INFO L273 TraceCheckUtils]: 35: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,619 INFO L273 TraceCheckUtils]: 36: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,619 INFO L273 TraceCheckUtils]: 37: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,619 INFO L273 TraceCheckUtils]: 38: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,619 INFO L273 TraceCheckUtils]: 39: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,620 INFO L273 TraceCheckUtils]: 40: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,620 INFO L273 TraceCheckUtils]: 41: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,620 INFO L273 TraceCheckUtils]: 42: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,620 INFO L273 TraceCheckUtils]: 43: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,620 INFO L273 TraceCheckUtils]: 44: Hoare triple {15887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15887#true} is VALID [2018-11-23 12:17:28,620 INFO L273 TraceCheckUtils]: 45: Hoare triple {15887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15887#true} is VALID [2018-11-23 12:17:28,621 INFO L273 TraceCheckUtils]: 46: Hoare triple {15887#true} assume !(~i~1 < 20); {15887#true} is VALID [2018-11-23 12:17:28,621 INFO L256 TraceCheckUtils]: 47: Hoare triple {15887#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {15887#true} is VALID [2018-11-23 12:17:28,641 INFO L273 TraceCheckUtils]: 48: Hoare triple {15887#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16046#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:28,657 INFO L273 TraceCheckUtils]: 49: Hoare triple {16046#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16046#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:28,666 INFO L273 TraceCheckUtils]: 50: Hoare triple {16046#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16046#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:28,679 INFO L273 TraceCheckUtils]: 51: Hoare triple {16046#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15890#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:28,687 INFO L273 TraceCheckUtils]: 52: Hoare triple {15890#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15890#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:28,697 INFO L273 TraceCheckUtils]: 53: Hoare triple {15890#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15890#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:28,706 INFO L273 TraceCheckUtils]: 54: Hoare triple {15890#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:28,718 INFO L273 TraceCheckUtils]: 55: Hoare triple {15891#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:28,728 INFO L273 TraceCheckUtils]: 56: Hoare triple {15891#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15891#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:28,728 INFO L273 TraceCheckUtils]: 57: Hoare triple {15891#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:28,733 INFO L273 TraceCheckUtils]: 58: Hoare triple {15892#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:28,733 INFO L273 TraceCheckUtils]: 59: Hoare triple {15892#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15892#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:28,735 INFO L273 TraceCheckUtils]: 60: Hoare triple {15892#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15893#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:28,735 INFO L273 TraceCheckUtils]: 61: Hoare triple {15893#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15893#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:28,737 INFO L273 TraceCheckUtils]: 62: Hoare triple {15893#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15893#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:28,737 INFO L273 TraceCheckUtils]: 63: Hoare triple {15893#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15894#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:28,740 INFO L273 TraceCheckUtils]: 64: Hoare triple {15894#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15894#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:28,740 INFO L273 TraceCheckUtils]: 65: Hoare triple {15894#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15894#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:28,742 INFO L273 TraceCheckUtils]: 66: Hoare triple {15894#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15895#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:28,742 INFO L273 TraceCheckUtils]: 67: Hoare triple {15895#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15895#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:28,745 INFO L273 TraceCheckUtils]: 68: Hoare triple {15895#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15895#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:28,745 INFO L273 TraceCheckUtils]: 69: Hoare triple {15895#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15896#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:28,747 INFO L273 TraceCheckUtils]: 70: Hoare triple {15896#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15896#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:28,747 INFO L273 TraceCheckUtils]: 71: Hoare triple {15896#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15896#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:28,749 INFO L273 TraceCheckUtils]: 72: Hoare triple {15896#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15897#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:28,749 INFO L273 TraceCheckUtils]: 73: Hoare triple {15897#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15897#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:28,752 INFO L273 TraceCheckUtils]: 74: Hoare triple {15897#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15897#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:28,752 INFO L273 TraceCheckUtils]: 75: Hoare triple {15897#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15898#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:28,754 INFO L273 TraceCheckUtils]: 76: Hoare triple {15898#(<= sep_~i~0 9)} assume !(~i~0 < 20); {15888#false} is VALID [2018-11-23 12:17:28,754 INFO L273 TraceCheckUtils]: 77: Hoare triple {15888#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {15888#false} is VALID [2018-11-23 12:17:28,754 INFO L273 TraceCheckUtils]: 78: Hoare triple {15888#false} assume true; {15888#false} is VALID [2018-11-23 12:17:28,754 INFO L268 TraceCheckUtils]: 79: Hoare quadruple {15888#false} {15887#true} #75#return; {15888#false} is VALID [2018-11-23 12:17:28,754 INFO L273 TraceCheckUtils]: 80: Hoare triple {15888#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {15888#false} is VALID [2018-11-23 12:17:28,754 INFO L256 TraceCheckUtils]: 81: Hoare triple {15888#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {15888#false} is VALID [2018-11-23 12:17:28,754 INFO L273 TraceCheckUtils]: 82: Hoare triple {15888#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {15888#false} is VALID [2018-11-23 12:17:28,754 INFO L273 TraceCheckUtils]: 83: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,755 INFO L273 TraceCheckUtils]: 84: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,755 INFO L273 TraceCheckUtils]: 85: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,755 INFO L273 TraceCheckUtils]: 86: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,755 INFO L273 TraceCheckUtils]: 87: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,755 INFO L273 TraceCheckUtils]: 88: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,755 INFO L273 TraceCheckUtils]: 89: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,755 INFO L273 TraceCheckUtils]: 90: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,755 INFO L273 TraceCheckUtils]: 91: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,755 INFO L273 TraceCheckUtils]: 92: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,756 INFO L273 TraceCheckUtils]: 93: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,756 INFO L273 TraceCheckUtils]: 94: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,756 INFO L273 TraceCheckUtils]: 95: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,756 INFO L273 TraceCheckUtils]: 96: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,756 INFO L273 TraceCheckUtils]: 97: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,756 INFO L273 TraceCheckUtils]: 98: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,756 INFO L273 TraceCheckUtils]: 99: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,756 INFO L273 TraceCheckUtils]: 100: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,756 INFO L273 TraceCheckUtils]: 101: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,756 INFO L273 TraceCheckUtils]: 102: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,757 INFO L273 TraceCheckUtils]: 103: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,757 INFO L273 TraceCheckUtils]: 104: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,757 INFO L273 TraceCheckUtils]: 105: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,757 INFO L273 TraceCheckUtils]: 106: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,757 INFO L273 TraceCheckUtils]: 107: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,757 INFO L273 TraceCheckUtils]: 108: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,757 INFO L273 TraceCheckUtils]: 109: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,757 INFO L273 TraceCheckUtils]: 110: Hoare triple {15888#false} assume !(~i~0 < 20); {15888#false} is VALID [2018-11-23 12:17:28,757 INFO L273 TraceCheckUtils]: 111: Hoare triple {15888#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {15888#false} is VALID [2018-11-23 12:17:28,758 INFO L273 TraceCheckUtils]: 112: Hoare triple {15888#false} assume true; {15888#false} is VALID [2018-11-23 12:17:28,758 INFO L268 TraceCheckUtils]: 113: Hoare quadruple {15888#false} {15888#false} #77#return; {15888#false} is VALID [2018-11-23 12:17:28,758 INFO L273 TraceCheckUtils]: 114: Hoare triple {15888#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {15888#false} is VALID [2018-11-23 12:17:28,758 INFO L273 TraceCheckUtils]: 115: Hoare triple {15888#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15888#false} is VALID [2018-11-23 12:17:28,758 INFO L273 TraceCheckUtils]: 116: Hoare triple {15888#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15888#false} is VALID [2018-11-23 12:17:28,758 INFO L273 TraceCheckUtils]: 117: Hoare triple {15888#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15888#false} is VALID [2018-11-23 12:17:28,758 INFO L273 TraceCheckUtils]: 118: Hoare triple {15888#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15888#false} is VALID [2018-11-23 12:17:28,758 INFO L273 TraceCheckUtils]: 119: Hoare triple {15888#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15888#false} is VALID [2018-11-23 12:17:28,758 INFO L273 TraceCheckUtils]: 120: Hoare triple {15888#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15888#false} is VALID [2018-11-23 12:17:28,759 INFO L273 TraceCheckUtils]: 121: Hoare triple {15888#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15888#false} is VALID [2018-11-23 12:17:28,759 INFO L273 TraceCheckUtils]: 122: Hoare triple {15888#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15888#false} is VALID [2018-11-23 12:17:28,759 INFO L273 TraceCheckUtils]: 123: Hoare triple {15888#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15888#false} is VALID [2018-11-23 12:17:28,759 INFO L273 TraceCheckUtils]: 124: Hoare triple {15888#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15888#false} is VALID [2018-11-23 12:17:28,759 INFO L273 TraceCheckUtils]: 125: Hoare triple {15888#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15888#false} is VALID [2018-11-23 12:17:28,759 INFO L273 TraceCheckUtils]: 126: Hoare triple {15888#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15888#false} is VALID [2018-11-23 12:17:28,759 INFO L273 TraceCheckUtils]: 127: Hoare triple {15888#false} assume !(~i~2 < 19); {15888#false} is VALID [2018-11-23 12:17:28,759 INFO L273 TraceCheckUtils]: 128: Hoare triple {15888#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {15888#false} is VALID [2018-11-23 12:17:28,759 INFO L256 TraceCheckUtils]: 129: Hoare triple {15888#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {15888#false} is VALID [2018-11-23 12:17:28,759 INFO L273 TraceCheckUtils]: 130: Hoare triple {15888#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {15888#false} is VALID [2018-11-23 12:17:28,760 INFO L273 TraceCheckUtils]: 131: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,760 INFO L273 TraceCheckUtils]: 132: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,760 INFO L273 TraceCheckUtils]: 133: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,760 INFO L273 TraceCheckUtils]: 134: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,760 INFO L273 TraceCheckUtils]: 135: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,760 INFO L273 TraceCheckUtils]: 136: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,760 INFO L273 TraceCheckUtils]: 137: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,760 INFO L273 TraceCheckUtils]: 138: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,760 INFO L273 TraceCheckUtils]: 139: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,761 INFO L273 TraceCheckUtils]: 140: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,761 INFO L273 TraceCheckUtils]: 141: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,761 INFO L273 TraceCheckUtils]: 142: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,761 INFO L273 TraceCheckUtils]: 143: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,761 INFO L273 TraceCheckUtils]: 144: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,761 INFO L273 TraceCheckUtils]: 145: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,761 INFO L273 TraceCheckUtils]: 146: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,761 INFO L273 TraceCheckUtils]: 147: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,761 INFO L273 TraceCheckUtils]: 148: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,761 INFO L273 TraceCheckUtils]: 149: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,762 INFO L273 TraceCheckUtils]: 150: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,762 INFO L273 TraceCheckUtils]: 151: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,762 INFO L273 TraceCheckUtils]: 152: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,762 INFO L273 TraceCheckUtils]: 153: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,762 INFO L273 TraceCheckUtils]: 154: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,762 INFO L273 TraceCheckUtils]: 155: Hoare triple {15888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15888#false} is VALID [2018-11-23 12:17:28,762 INFO L273 TraceCheckUtils]: 156: Hoare triple {15888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {15888#false} is VALID [2018-11-23 12:17:28,762 INFO L273 TraceCheckUtils]: 157: Hoare triple {15888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15888#false} is VALID [2018-11-23 12:17:28,762 INFO L273 TraceCheckUtils]: 158: Hoare triple {15888#false} assume !(~i~0 < 20); {15888#false} is VALID [2018-11-23 12:17:28,763 INFO L273 TraceCheckUtils]: 159: Hoare triple {15888#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {15888#false} is VALID [2018-11-23 12:17:28,763 INFO L273 TraceCheckUtils]: 160: Hoare triple {15888#false} assume true; {15888#false} is VALID [2018-11-23 12:17:28,763 INFO L268 TraceCheckUtils]: 161: Hoare quadruple {15888#false} {15888#false} #79#return; {15888#false} is VALID [2018-11-23 12:17:28,763 INFO L273 TraceCheckUtils]: 162: Hoare triple {15888#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {15888#false} is VALID [2018-11-23 12:17:28,763 INFO L273 TraceCheckUtils]: 163: Hoare triple {15888#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {15888#false} is VALID [2018-11-23 12:17:28,763 INFO L273 TraceCheckUtils]: 164: Hoare triple {15888#false} assume !false; {15888#false} is VALID [2018-11-23 12:17:28,774 INFO L134 CoverageAnalysis]: Checked inductivity of 1585 backedges. 526 proven. 117 refuted. 0 times theorem prover too weak. 942 trivial. 0 not checked. [2018-11-23 12:17:28,795 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:28,795 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 13 [2018-11-23 12:17:28,795 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 165 [2018-11-23 12:17:28,796 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:28,796 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-23 12:17:28,894 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:28,894 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 12:17:28,894 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 12:17:28,895 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:17:28,895 INFO L87 Difference]: Start difference. First operand 102 states and 115 transitions. Second operand 13 states. [2018-11-23 12:17:29,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:29,325 INFO L93 Difference]: Finished difference Result 161 states and 191 transitions. [2018-11-23 12:17:29,325 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 12:17:29,325 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 165 [2018-11-23 12:17:29,326 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:29,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:17:29,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 97 transitions. [2018-11-23 12:17:29,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:17:29,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 97 transitions. [2018-11-23 12:17:29,329 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 97 transitions. [2018-11-23 12:17:30,021 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:30,023 INFO L225 Difference]: With dead ends: 161 [2018-11-23 12:17:30,023 INFO L226 Difference]: Without dead ends: 107 [2018-11-23 12:17:30,024 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 176 GetRequests, 165 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:17:30,024 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-11-23 12:17:30,070 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 105. [2018-11-23 12:17:30,070 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:30,071 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand 105 states. [2018-11-23 12:17:30,071 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 105 states. [2018-11-23 12:17:30,071 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 105 states. [2018-11-23 12:17:30,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:30,073 INFO L93 Difference]: Finished difference Result 107 states and 122 transitions. [2018-11-23 12:17:30,073 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 122 transitions. [2018-11-23 12:17:30,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:30,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:30,074 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 107 states. [2018-11-23 12:17:30,074 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 107 states. [2018-11-23 12:17:30,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:30,077 INFO L93 Difference]: Finished difference Result 107 states and 122 transitions. [2018-11-23 12:17:30,077 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 122 transitions. [2018-11-23 12:17:30,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:30,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:30,077 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:30,078 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:30,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 105 states. [2018-11-23 12:17:30,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 119 transitions. [2018-11-23 12:17:30,080 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 119 transitions. Word has length 165 [2018-11-23 12:17:30,080 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:30,080 INFO L480 AbstractCegarLoop]: Abstraction has 105 states and 119 transitions. [2018-11-23 12:17:30,080 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 12:17:30,080 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 119 transitions. [2018-11-23 12:17:30,081 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 175 [2018-11-23 12:17:30,082 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:30,082 INFO L402 BasicCegarLoop]: trace histogram [30, 30, 30, 20, 20, 6, 6, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:30,082 INFO L423 AbstractCegarLoop]: === Iteration 28 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:30,082 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:30,082 INFO L82 PathProgramCache]: Analyzing trace with hash 1111875122, now seen corresponding path program 24 times [2018-11-23 12:17:30,082 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:30,083 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:30,083 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:30,083 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:30,084 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:30,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:31,296 INFO L256 TraceCheckUtils]: 0: Hoare triple {16988#true} call ULTIMATE.init(); {16988#true} is VALID [2018-11-23 12:17:31,297 INFO L273 TraceCheckUtils]: 1: Hoare triple {16988#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {16988#true} is VALID [2018-11-23 12:17:31,297 INFO L273 TraceCheckUtils]: 2: Hoare triple {16988#true} assume true; {16988#true} is VALID [2018-11-23 12:17:31,297 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16988#true} {16988#true} #71#return; {16988#true} is VALID [2018-11-23 12:17:31,298 INFO L256 TraceCheckUtils]: 4: Hoare triple {16988#true} call #t~ret14 := main(); {16988#true} is VALID [2018-11-23 12:17:31,298 INFO L273 TraceCheckUtils]: 5: Hoare triple {16988#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {16988#true} is VALID [2018-11-23 12:17:31,298 INFO L273 TraceCheckUtils]: 6: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,298 INFO L273 TraceCheckUtils]: 7: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,299 INFO L273 TraceCheckUtils]: 8: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,299 INFO L273 TraceCheckUtils]: 9: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,299 INFO L273 TraceCheckUtils]: 10: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,299 INFO L273 TraceCheckUtils]: 11: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,299 INFO L273 TraceCheckUtils]: 12: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,300 INFO L273 TraceCheckUtils]: 13: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,300 INFO L273 TraceCheckUtils]: 14: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,300 INFO L273 TraceCheckUtils]: 15: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,300 INFO L273 TraceCheckUtils]: 16: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,300 INFO L273 TraceCheckUtils]: 17: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,300 INFO L273 TraceCheckUtils]: 18: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,300 INFO L273 TraceCheckUtils]: 19: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,300 INFO L273 TraceCheckUtils]: 20: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,300 INFO L273 TraceCheckUtils]: 21: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,300 INFO L273 TraceCheckUtils]: 22: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,301 INFO L273 TraceCheckUtils]: 23: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,301 INFO L273 TraceCheckUtils]: 24: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,301 INFO L273 TraceCheckUtils]: 25: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,301 INFO L273 TraceCheckUtils]: 26: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,301 INFO L273 TraceCheckUtils]: 27: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,301 INFO L273 TraceCheckUtils]: 28: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,301 INFO L273 TraceCheckUtils]: 29: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,301 INFO L273 TraceCheckUtils]: 30: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,301 INFO L273 TraceCheckUtils]: 31: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,302 INFO L273 TraceCheckUtils]: 32: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,302 INFO L273 TraceCheckUtils]: 33: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,302 INFO L273 TraceCheckUtils]: 34: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,302 INFO L273 TraceCheckUtils]: 35: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,302 INFO L273 TraceCheckUtils]: 36: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,302 INFO L273 TraceCheckUtils]: 37: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,302 INFO L273 TraceCheckUtils]: 38: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,302 INFO L273 TraceCheckUtils]: 39: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,302 INFO L273 TraceCheckUtils]: 40: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,303 INFO L273 TraceCheckUtils]: 41: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,303 INFO L273 TraceCheckUtils]: 42: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,303 INFO L273 TraceCheckUtils]: 43: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,303 INFO L273 TraceCheckUtils]: 44: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:31,303 INFO L273 TraceCheckUtils]: 45: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:31,303 INFO L273 TraceCheckUtils]: 46: Hoare triple {16988#true} assume !(~i~1 < 20); {16988#true} is VALID [2018-11-23 12:17:31,303 INFO L256 TraceCheckUtils]: 47: Hoare triple {16988#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {16988#true} is VALID [2018-11-23 12:17:31,304 INFO L273 TraceCheckUtils]: 48: Hoare triple {16988#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16990#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:31,304 INFO L273 TraceCheckUtils]: 49: Hoare triple {16990#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16990#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:31,304 INFO L273 TraceCheckUtils]: 50: Hoare triple {16990#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16990#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:31,305 INFO L273 TraceCheckUtils]: 51: Hoare triple {16990#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16991#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:31,305 INFO L273 TraceCheckUtils]: 52: Hoare triple {16991#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16991#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:31,305 INFO L273 TraceCheckUtils]: 53: Hoare triple {16991#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16991#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:31,306 INFO L273 TraceCheckUtils]: 54: Hoare triple {16991#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16992#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:31,306 INFO L273 TraceCheckUtils]: 55: Hoare triple {16992#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16992#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:31,306 INFO L273 TraceCheckUtils]: 56: Hoare triple {16992#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16992#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:31,307 INFO L273 TraceCheckUtils]: 57: Hoare triple {16992#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16993#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:31,307 INFO L273 TraceCheckUtils]: 58: Hoare triple {16993#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16993#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:31,307 INFO L273 TraceCheckUtils]: 59: Hoare triple {16993#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16993#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:31,308 INFO L273 TraceCheckUtils]: 60: Hoare triple {16993#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16994#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:31,308 INFO L273 TraceCheckUtils]: 61: Hoare triple {16994#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16994#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:31,309 INFO L273 TraceCheckUtils]: 62: Hoare triple {16994#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16994#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:31,310 INFO L273 TraceCheckUtils]: 63: Hoare triple {16994#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16995#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:31,310 INFO L273 TraceCheckUtils]: 64: Hoare triple {16995#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16995#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:31,311 INFO L273 TraceCheckUtils]: 65: Hoare triple {16995#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16995#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:31,311 INFO L273 TraceCheckUtils]: 66: Hoare triple {16995#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16996#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:31,312 INFO L273 TraceCheckUtils]: 67: Hoare triple {16996#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16996#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:31,312 INFO L273 TraceCheckUtils]: 68: Hoare triple {16996#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16996#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:31,313 INFO L273 TraceCheckUtils]: 69: Hoare triple {16996#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16997#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:31,314 INFO L273 TraceCheckUtils]: 70: Hoare triple {16997#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16997#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:31,314 INFO L273 TraceCheckUtils]: 71: Hoare triple {16997#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16997#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:31,315 INFO L273 TraceCheckUtils]: 72: Hoare triple {16997#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16998#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:31,315 INFO L273 TraceCheckUtils]: 73: Hoare triple {16998#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16998#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:31,316 INFO L273 TraceCheckUtils]: 74: Hoare triple {16998#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16998#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:31,316 INFO L273 TraceCheckUtils]: 75: Hoare triple {16998#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16999#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:31,317 INFO L273 TraceCheckUtils]: 76: Hoare triple {16999#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16999#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:31,317 INFO L273 TraceCheckUtils]: 77: Hoare triple {16999#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16999#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:31,318 INFO L273 TraceCheckUtils]: 78: Hoare triple {16999#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17000#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:31,319 INFO L273 TraceCheckUtils]: 79: Hoare triple {17000#(<= sep_~i~0 10)} assume !(~i~0 < 20); {16989#false} is VALID [2018-11-23 12:17:31,319 INFO L273 TraceCheckUtils]: 80: Hoare triple {16989#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {16989#false} is VALID [2018-11-23 12:17:31,319 INFO L273 TraceCheckUtils]: 81: Hoare triple {16989#false} assume true; {16989#false} is VALID [2018-11-23 12:17:31,319 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {16989#false} {16988#true} #75#return; {16989#false} is VALID [2018-11-23 12:17:31,320 INFO L273 TraceCheckUtils]: 83: Hoare triple {16989#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {16989#false} is VALID [2018-11-23 12:17:31,320 INFO L256 TraceCheckUtils]: 84: Hoare triple {16989#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {16988#true} is VALID [2018-11-23 12:17:31,320 INFO L273 TraceCheckUtils]: 85: Hoare triple {16988#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16988#true} is VALID [2018-11-23 12:17:31,320 INFO L273 TraceCheckUtils]: 86: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,320 INFO L273 TraceCheckUtils]: 87: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,320 INFO L273 TraceCheckUtils]: 88: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,321 INFO L273 TraceCheckUtils]: 89: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,321 INFO L273 TraceCheckUtils]: 90: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,321 INFO L273 TraceCheckUtils]: 91: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,321 INFO L273 TraceCheckUtils]: 92: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,321 INFO L273 TraceCheckUtils]: 93: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,321 INFO L273 TraceCheckUtils]: 94: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,322 INFO L273 TraceCheckUtils]: 95: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,322 INFO L273 TraceCheckUtils]: 96: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,322 INFO L273 TraceCheckUtils]: 97: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,322 INFO L273 TraceCheckUtils]: 98: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,322 INFO L273 TraceCheckUtils]: 99: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,322 INFO L273 TraceCheckUtils]: 100: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,322 INFO L273 TraceCheckUtils]: 101: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,322 INFO L273 TraceCheckUtils]: 102: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,322 INFO L273 TraceCheckUtils]: 103: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,323 INFO L273 TraceCheckUtils]: 104: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,323 INFO L273 TraceCheckUtils]: 105: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,323 INFO L273 TraceCheckUtils]: 106: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,323 INFO L273 TraceCheckUtils]: 107: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,323 INFO L273 TraceCheckUtils]: 108: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,323 INFO L273 TraceCheckUtils]: 109: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,323 INFO L273 TraceCheckUtils]: 110: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,323 INFO L273 TraceCheckUtils]: 111: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,323 INFO L273 TraceCheckUtils]: 112: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,324 INFO L273 TraceCheckUtils]: 113: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,324 INFO L273 TraceCheckUtils]: 114: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,324 INFO L273 TraceCheckUtils]: 115: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,324 INFO L273 TraceCheckUtils]: 116: Hoare triple {16988#true} assume !(~i~0 < 20); {16988#true} is VALID [2018-11-23 12:17:31,324 INFO L273 TraceCheckUtils]: 117: Hoare triple {16988#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {16988#true} is VALID [2018-11-23 12:17:31,324 INFO L273 TraceCheckUtils]: 118: Hoare triple {16988#true} assume true; {16988#true} is VALID [2018-11-23 12:17:31,324 INFO L268 TraceCheckUtils]: 119: Hoare quadruple {16988#true} {16989#false} #77#return; {16989#false} is VALID [2018-11-23 12:17:31,324 INFO L273 TraceCheckUtils]: 120: Hoare triple {16989#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {16989#false} is VALID [2018-11-23 12:17:31,324 INFO L273 TraceCheckUtils]: 121: Hoare triple {16989#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16989#false} is VALID [2018-11-23 12:17:31,325 INFO L273 TraceCheckUtils]: 122: Hoare triple {16989#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16989#false} is VALID [2018-11-23 12:17:31,325 INFO L273 TraceCheckUtils]: 123: Hoare triple {16989#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16989#false} is VALID [2018-11-23 12:17:31,325 INFO L273 TraceCheckUtils]: 124: Hoare triple {16989#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16989#false} is VALID [2018-11-23 12:17:31,325 INFO L273 TraceCheckUtils]: 125: Hoare triple {16989#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16989#false} is VALID [2018-11-23 12:17:31,325 INFO L273 TraceCheckUtils]: 126: Hoare triple {16989#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16989#false} is VALID [2018-11-23 12:17:31,325 INFO L273 TraceCheckUtils]: 127: Hoare triple {16989#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16989#false} is VALID [2018-11-23 12:17:31,325 INFO L273 TraceCheckUtils]: 128: Hoare triple {16989#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16989#false} is VALID [2018-11-23 12:17:31,325 INFO L273 TraceCheckUtils]: 129: Hoare triple {16989#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16989#false} is VALID [2018-11-23 12:17:31,325 INFO L273 TraceCheckUtils]: 130: Hoare triple {16989#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16989#false} is VALID [2018-11-23 12:17:31,326 INFO L273 TraceCheckUtils]: 131: Hoare triple {16989#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16989#false} is VALID [2018-11-23 12:17:31,326 INFO L273 TraceCheckUtils]: 132: Hoare triple {16989#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16989#false} is VALID [2018-11-23 12:17:31,326 INFO L273 TraceCheckUtils]: 133: Hoare triple {16989#false} assume !(~i~2 < 19); {16989#false} is VALID [2018-11-23 12:17:31,326 INFO L273 TraceCheckUtils]: 134: Hoare triple {16989#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {16989#false} is VALID [2018-11-23 12:17:31,326 INFO L256 TraceCheckUtils]: 135: Hoare triple {16989#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {16988#true} is VALID [2018-11-23 12:17:31,326 INFO L273 TraceCheckUtils]: 136: Hoare triple {16988#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16988#true} is VALID [2018-11-23 12:17:31,326 INFO L273 TraceCheckUtils]: 137: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,326 INFO L273 TraceCheckUtils]: 138: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,326 INFO L273 TraceCheckUtils]: 139: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,326 INFO L273 TraceCheckUtils]: 140: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,327 INFO L273 TraceCheckUtils]: 141: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,327 INFO L273 TraceCheckUtils]: 142: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,327 INFO L273 TraceCheckUtils]: 143: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,327 INFO L273 TraceCheckUtils]: 144: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,327 INFO L273 TraceCheckUtils]: 145: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,327 INFO L273 TraceCheckUtils]: 146: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,327 INFO L273 TraceCheckUtils]: 147: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,327 INFO L273 TraceCheckUtils]: 148: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,327 INFO L273 TraceCheckUtils]: 149: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,328 INFO L273 TraceCheckUtils]: 150: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,328 INFO L273 TraceCheckUtils]: 151: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,328 INFO L273 TraceCheckUtils]: 152: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,328 INFO L273 TraceCheckUtils]: 153: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,328 INFO L273 TraceCheckUtils]: 154: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,328 INFO L273 TraceCheckUtils]: 155: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,328 INFO L273 TraceCheckUtils]: 156: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,328 INFO L273 TraceCheckUtils]: 157: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,328 INFO L273 TraceCheckUtils]: 158: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,329 INFO L273 TraceCheckUtils]: 159: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,329 INFO L273 TraceCheckUtils]: 160: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,329 INFO L273 TraceCheckUtils]: 161: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,329 INFO L273 TraceCheckUtils]: 162: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,329 INFO L273 TraceCheckUtils]: 163: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,329 INFO L273 TraceCheckUtils]: 164: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:31,329 INFO L273 TraceCheckUtils]: 165: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:31,329 INFO L273 TraceCheckUtils]: 166: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:31,329 INFO L273 TraceCheckUtils]: 167: Hoare triple {16988#true} assume !(~i~0 < 20); {16988#true} is VALID [2018-11-23 12:17:31,329 INFO L273 TraceCheckUtils]: 168: Hoare triple {16988#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {16988#true} is VALID [2018-11-23 12:17:31,330 INFO L273 TraceCheckUtils]: 169: Hoare triple {16988#true} assume true; {16988#true} is VALID [2018-11-23 12:17:31,330 INFO L268 TraceCheckUtils]: 170: Hoare quadruple {16988#true} {16989#false} #79#return; {16989#false} is VALID [2018-11-23 12:17:31,330 INFO L273 TraceCheckUtils]: 171: Hoare triple {16989#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {16989#false} is VALID [2018-11-23 12:17:31,330 INFO L273 TraceCheckUtils]: 172: Hoare triple {16989#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {16989#false} is VALID [2018-11-23 12:17:31,330 INFO L273 TraceCheckUtils]: 173: Hoare triple {16989#false} assume !false; {16989#false} is VALID [2018-11-23 12:17:31,341 INFO L134 CoverageAnalysis]: Checked inductivity of 1846 backedges. 0 proven. 793 refuted. 0 times theorem prover too weak. 1053 trivial. 0 not checked. [2018-11-23 12:17:31,341 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:31,341 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:31,349 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:17:31,752 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 15 check-sat command(s) [2018-11-23 12:17:31,753 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:31,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:31,791 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:32,049 INFO L256 TraceCheckUtils]: 0: Hoare triple {16988#true} call ULTIMATE.init(); {16988#true} is VALID [2018-11-23 12:17:32,049 INFO L273 TraceCheckUtils]: 1: Hoare triple {16988#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {16988#true} is VALID [2018-11-23 12:17:32,050 INFO L273 TraceCheckUtils]: 2: Hoare triple {16988#true} assume true; {16988#true} is VALID [2018-11-23 12:17:32,050 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16988#true} {16988#true} #71#return; {16988#true} is VALID [2018-11-23 12:17:32,050 INFO L256 TraceCheckUtils]: 4: Hoare triple {16988#true} call #t~ret14 := main(); {16988#true} is VALID [2018-11-23 12:17:32,050 INFO L273 TraceCheckUtils]: 5: Hoare triple {16988#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {16988#true} is VALID [2018-11-23 12:17:32,050 INFO L273 TraceCheckUtils]: 6: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,050 INFO L273 TraceCheckUtils]: 7: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,050 INFO L273 TraceCheckUtils]: 8: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,050 INFO L273 TraceCheckUtils]: 9: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,051 INFO L273 TraceCheckUtils]: 10: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,051 INFO L273 TraceCheckUtils]: 11: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,051 INFO L273 TraceCheckUtils]: 12: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,051 INFO L273 TraceCheckUtils]: 13: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,051 INFO L273 TraceCheckUtils]: 14: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,051 INFO L273 TraceCheckUtils]: 15: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,051 INFO L273 TraceCheckUtils]: 16: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,051 INFO L273 TraceCheckUtils]: 17: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,051 INFO L273 TraceCheckUtils]: 18: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,052 INFO L273 TraceCheckUtils]: 19: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,052 INFO L273 TraceCheckUtils]: 20: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,052 INFO L273 TraceCheckUtils]: 21: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,052 INFO L273 TraceCheckUtils]: 22: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,052 INFO L273 TraceCheckUtils]: 23: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,052 INFO L273 TraceCheckUtils]: 24: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,052 INFO L273 TraceCheckUtils]: 25: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,052 INFO L273 TraceCheckUtils]: 26: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,052 INFO L273 TraceCheckUtils]: 27: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,052 INFO L273 TraceCheckUtils]: 28: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,053 INFO L273 TraceCheckUtils]: 29: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,053 INFO L273 TraceCheckUtils]: 30: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,053 INFO L273 TraceCheckUtils]: 31: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,053 INFO L273 TraceCheckUtils]: 32: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,053 INFO L273 TraceCheckUtils]: 33: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,053 INFO L273 TraceCheckUtils]: 34: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,053 INFO L273 TraceCheckUtils]: 35: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,053 INFO L273 TraceCheckUtils]: 36: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,053 INFO L273 TraceCheckUtils]: 37: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,054 INFO L273 TraceCheckUtils]: 38: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,054 INFO L273 TraceCheckUtils]: 39: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,054 INFO L273 TraceCheckUtils]: 40: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,054 INFO L273 TraceCheckUtils]: 41: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,054 INFO L273 TraceCheckUtils]: 42: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,054 INFO L273 TraceCheckUtils]: 43: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,054 INFO L273 TraceCheckUtils]: 44: Hoare triple {16988#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16988#true} is VALID [2018-11-23 12:17:32,054 INFO L273 TraceCheckUtils]: 45: Hoare triple {16988#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16988#true} is VALID [2018-11-23 12:17:32,054 INFO L273 TraceCheckUtils]: 46: Hoare triple {16988#true} assume !(~i~1 < 20); {16988#true} is VALID [2018-11-23 12:17:32,055 INFO L256 TraceCheckUtils]: 47: Hoare triple {16988#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {16988#true} is VALID [2018-11-23 12:17:32,055 INFO L273 TraceCheckUtils]: 48: Hoare triple {16988#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16988#true} is VALID [2018-11-23 12:17:32,055 INFO L273 TraceCheckUtils]: 49: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,055 INFO L273 TraceCheckUtils]: 50: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,055 INFO L273 TraceCheckUtils]: 51: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,055 INFO L273 TraceCheckUtils]: 52: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,055 INFO L273 TraceCheckUtils]: 53: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,055 INFO L273 TraceCheckUtils]: 54: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,055 INFO L273 TraceCheckUtils]: 55: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,056 INFO L273 TraceCheckUtils]: 56: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,056 INFO L273 TraceCheckUtils]: 57: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,056 INFO L273 TraceCheckUtils]: 58: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,056 INFO L273 TraceCheckUtils]: 59: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,056 INFO L273 TraceCheckUtils]: 60: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,056 INFO L273 TraceCheckUtils]: 61: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,056 INFO L273 TraceCheckUtils]: 62: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,056 INFO L273 TraceCheckUtils]: 63: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,056 INFO L273 TraceCheckUtils]: 64: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,057 INFO L273 TraceCheckUtils]: 65: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,057 INFO L273 TraceCheckUtils]: 66: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,057 INFO L273 TraceCheckUtils]: 67: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,057 INFO L273 TraceCheckUtils]: 68: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,057 INFO L273 TraceCheckUtils]: 69: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,057 INFO L273 TraceCheckUtils]: 70: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,057 INFO L273 TraceCheckUtils]: 71: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,057 INFO L273 TraceCheckUtils]: 72: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,057 INFO L273 TraceCheckUtils]: 73: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,058 INFO L273 TraceCheckUtils]: 74: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,058 INFO L273 TraceCheckUtils]: 75: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,058 INFO L273 TraceCheckUtils]: 76: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,058 INFO L273 TraceCheckUtils]: 77: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,058 INFO L273 TraceCheckUtils]: 78: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,058 INFO L273 TraceCheckUtils]: 79: Hoare triple {16988#true} assume !(~i~0 < 20); {16988#true} is VALID [2018-11-23 12:17:32,058 INFO L273 TraceCheckUtils]: 80: Hoare triple {16988#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {16988#true} is VALID [2018-11-23 12:17:32,058 INFO L273 TraceCheckUtils]: 81: Hoare triple {16988#true} assume true; {16988#true} is VALID [2018-11-23 12:17:32,058 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {16988#true} {16988#true} #75#return; {16988#true} is VALID [2018-11-23 12:17:32,058 INFO L273 TraceCheckUtils]: 83: Hoare triple {16988#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {16988#true} is VALID [2018-11-23 12:17:32,059 INFO L256 TraceCheckUtils]: 84: Hoare triple {16988#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {16988#true} is VALID [2018-11-23 12:17:32,059 INFO L273 TraceCheckUtils]: 85: Hoare triple {16988#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16988#true} is VALID [2018-11-23 12:17:32,059 INFO L273 TraceCheckUtils]: 86: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,059 INFO L273 TraceCheckUtils]: 87: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,059 INFO L273 TraceCheckUtils]: 88: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,059 INFO L273 TraceCheckUtils]: 89: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,059 INFO L273 TraceCheckUtils]: 90: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,059 INFO L273 TraceCheckUtils]: 91: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,059 INFO L273 TraceCheckUtils]: 92: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,060 INFO L273 TraceCheckUtils]: 93: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,060 INFO L273 TraceCheckUtils]: 94: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,060 INFO L273 TraceCheckUtils]: 95: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,060 INFO L273 TraceCheckUtils]: 96: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,060 INFO L273 TraceCheckUtils]: 97: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,060 INFO L273 TraceCheckUtils]: 98: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,060 INFO L273 TraceCheckUtils]: 99: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,060 INFO L273 TraceCheckUtils]: 100: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,060 INFO L273 TraceCheckUtils]: 101: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,061 INFO L273 TraceCheckUtils]: 102: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,061 INFO L273 TraceCheckUtils]: 103: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,061 INFO L273 TraceCheckUtils]: 104: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,061 INFO L273 TraceCheckUtils]: 105: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,061 INFO L273 TraceCheckUtils]: 106: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,061 INFO L273 TraceCheckUtils]: 107: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,061 INFO L273 TraceCheckUtils]: 108: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,061 INFO L273 TraceCheckUtils]: 109: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,061 INFO L273 TraceCheckUtils]: 110: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,062 INFO L273 TraceCheckUtils]: 111: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,062 INFO L273 TraceCheckUtils]: 112: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,062 INFO L273 TraceCheckUtils]: 113: Hoare triple {16988#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16988#true} is VALID [2018-11-23 12:17:32,062 INFO L273 TraceCheckUtils]: 114: Hoare triple {16988#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16988#true} is VALID [2018-11-23 12:17:32,062 INFO L273 TraceCheckUtils]: 115: Hoare triple {16988#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16988#true} is VALID [2018-11-23 12:17:32,062 INFO L273 TraceCheckUtils]: 116: Hoare triple {16988#true} assume !(~i~0 < 20); {16988#true} is VALID [2018-11-23 12:17:32,062 INFO L273 TraceCheckUtils]: 117: Hoare triple {16988#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {16988#true} is VALID [2018-11-23 12:17:32,062 INFO L273 TraceCheckUtils]: 118: Hoare triple {16988#true} assume true; {16988#true} is VALID [2018-11-23 12:17:32,062 INFO L268 TraceCheckUtils]: 119: Hoare quadruple {16988#true} {16988#true} #77#return; {16988#true} is VALID [2018-11-23 12:17:32,063 INFO L273 TraceCheckUtils]: 120: Hoare triple {16988#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {17364#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:32,063 INFO L273 TraceCheckUtils]: 121: Hoare triple {17364#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17364#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:32,064 INFO L273 TraceCheckUtils]: 122: Hoare triple {17364#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17371#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:32,064 INFO L273 TraceCheckUtils]: 123: Hoare triple {17371#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17371#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:32,065 INFO L273 TraceCheckUtils]: 124: Hoare triple {17371#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17378#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:32,065 INFO L273 TraceCheckUtils]: 125: Hoare triple {17378#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17378#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:32,065 INFO L273 TraceCheckUtils]: 126: Hoare triple {17378#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17385#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:32,066 INFO L273 TraceCheckUtils]: 127: Hoare triple {17385#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17385#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:32,066 INFO L273 TraceCheckUtils]: 128: Hoare triple {17385#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17392#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:32,067 INFO L273 TraceCheckUtils]: 129: Hoare triple {17392#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17392#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:32,067 INFO L273 TraceCheckUtils]: 130: Hoare triple {17392#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17399#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:32,068 INFO L273 TraceCheckUtils]: 131: Hoare triple {17399#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17399#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:32,068 INFO L273 TraceCheckUtils]: 132: Hoare triple {17399#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17406#(<= main_~i~2 6)} is VALID [2018-11-23 12:17:32,069 INFO L273 TraceCheckUtils]: 133: Hoare triple {17406#(<= main_~i~2 6)} assume !(~i~2 < 19); {16989#false} is VALID [2018-11-23 12:17:32,069 INFO L273 TraceCheckUtils]: 134: Hoare triple {16989#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {16989#false} is VALID [2018-11-23 12:17:32,069 INFO L256 TraceCheckUtils]: 135: Hoare triple {16989#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {16989#false} is VALID [2018-11-23 12:17:32,070 INFO L273 TraceCheckUtils]: 136: Hoare triple {16989#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16989#false} is VALID [2018-11-23 12:17:32,070 INFO L273 TraceCheckUtils]: 137: Hoare triple {16989#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16989#false} is VALID [2018-11-23 12:17:32,070 INFO L273 TraceCheckUtils]: 138: Hoare triple {16989#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16989#false} is VALID [2018-11-23 12:17:32,070 INFO L273 TraceCheckUtils]: 139: Hoare triple {16989#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16989#false} is VALID [2018-11-23 12:17:32,070 INFO L273 TraceCheckUtils]: 140: Hoare triple {16989#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16989#false} is VALID [2018-11-23 12:17:32,071 INFO L273 TraceCheckUtils]: 141: Hoare triple {16989#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16989#false} is VALID [2018-11-23 12:17:32,071 INFO L273 TraceCheckUtils]: 142: Hoare triple {16989#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16989#false} is VALID [2018-11-23 12:17:32,071 INFO L273 TraceCheckUtils]: 143: Hoare triple {16989#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16989#false} is VALID [2018-11-23 12:17:32,071 INFO L273 TraceCheckUtils]: 144: Hoare triple {16989#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16989#false} is VALID [2018-11-23 12:17:32,071 INFO L273 TraceCheckUtils]: 145: Hoare triple {16989#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16989#false} is VALID [2018-11-23 12:17:32,071 INFO L273 TraceCheckUtils]: 146: Hoare triple {16989#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16989#false} is VALID [2018-11-23 12:17:32,072 INFO L273 TraceCheckUtils]: 147: Hoare triple {16989#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16989#false} is VALID [2018-11-23 12:17:32,072 INFO L273 TraceCheckUtils]: 148: Hoare triple {16989#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16989#false} is VALID [2018-11-23 12:17:32,072 INFO L273 TraceCheckUtils]: 149: Hoare triple {16989#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16989#false} is VALID [2018-11-23 12:17:32,072 INFO L273 TraceCheckUtils]: 150: Hoare triple {16989#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16989#false} is VALID [2018-11-23 12:17:32,072 INFO L273 TraceCheckUtils]: 151: Hoare triple {16989#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16989#false} is VALID [2018-11-23 12:17:32,072 INFO L273 TraceCheckUtils]: 152: Hoare triple {16989#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16989#false} is VALID [2018-11-23 12:17:32,072 INFO L273 TraceCheckUtils]: 153: Hoare triple {16989#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16989#false} is VALID [2018-11-23 12:17:32,073 INFO L273 TraceCheckUtils]: 154: Hoare triple {16989#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16989#false} is VALID [2018-11-23 12:17:32,073 INFO L273 TraceCheckUtils]: 155: Hoare triple {16989#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16989#false} is VALID [2018-11-23 12:17:32,073 INFO L273 TraceCheckUtils]: 156: Hoare triple {16989#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16989#false} is VALID [2018-11-23 12:17:32,073 INFO L273 TraceCheckUtils]: 157: Hoare triple {16989#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16989#false} is VALID [2018-11-23 12:17:32,073 INFO L273 TraceCheckUtils]: 158: Hoare triple {16989#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16989#false} is VALID [2018-11-23 12:17:32,073 INFO L273 TraceCheckUtils]: 159: Hoare triple {16989#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16989#false} is VALID [2018-11-23 12:17:32,073 INFO L273 TraceCheckUtils]: 160: Hoare triple {16989#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16989#false} is VALID [2018-11-23 12:17:32,073 INFO L273 TraceCheckUtils]: 161: Hoare triple {16989#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16989#false} is VALID [2018-11-23 12:17:32,073 INFO L273 TraceCheckUtils]: 162: Hoare triple {16989#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16989#false} is VALID [2018-11-23 12:17:32,073 INFO L273 TraceCheckUtils]: 163: Hoare triple {16989#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16989#false} is VALID [2018-11-23 12:17:32,074 INFO L273 TraceCheckUtils]: 164: Hoare triple {16989#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16989#false} is VALID [2018-11-23 12:17:32,074 INFO L273 TraceCheckUtils]: 165: Hoare triple {16989#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {16989#false} is VALID [2018-11-23 12:17:32,074 INFO L273 TraceCheckUtils]: 166: Hoare triple {16989#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16989#false} is VALID [2018-11-23 12:17:32,074 INFO L273 TraceCheckUtils]: 167: Hoare triple {16989#false} assume !(~i~0 < 20); {16989#false} is VALID [2018-11-23 12:17:32,074 INFO L273 TraceCheckUtils]: 168: Hoare triple {16989#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {16989#false} is VALID [2018-11-23 12:17:32,074 INFO L273 TraceCheckUtils]: 169: Hoare triple {16989#false} assume true; {16989#false} is VALID [2018-11-23 12:17:32,074 INFO L268 TraceCheckUtils]: 170: Hoare quadruple {16989#false} {16989#false} #79#return; {16989#false} is VALID [2018-11-23 12:17:32,074 INFO L273 TraceCheckUtils]: 171: Hoare triple {16989#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {16989#false} is VALID [2018-11-23 12:17:32,074 INFO L273 TraceCheckUtils]: 172: Hoare triple {16989#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {16989#false} is VALID [2018-11-23 12:17:32,075 INFO L273 TraceCheckUtils]: 173: Hoare triple {16989#false} assume !false; {16989#false} is VALID [2018-11-23 12:17:32,086 INFO L134 CoverageAnalysis]: Checked inductivity of 1846 backedges. 650 proven. 36 refuted. 0 times theorem prover too weak. 1160 trivial. 0 not checked. [2018-11-23 12:17:32,109 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:32,110 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 20 [2018-11-23 12:17:32,110 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 174 [2018-11-23 12:17:32,110 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:32,111 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 12:17:32,193 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:32,193 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 12:17:32,194 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 12:17:32,194 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=113, Invalid=267, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:17:32,194 INFO L87 Difference]: Start difference. First operand 105 states and 119 transitions. Second operand 20 states. [2018-11-23 12:17:32,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:32,772 INFO L93 Difference]: Finished difference Result 170 states and 203 transitions. [2018-11-23 12:17:32,772 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-11-23 12:17:32,772 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 174 [2018-11-23 12:17:32,773 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:32,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:17:32,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 116 transitions. [2018-11-23 12:17:32,774 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:17:32,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 116 transitions. [2018-11-23 12:17:32,776 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 116 transitions. [2018-11-23 12:17:33,376 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:33,378 INFO L225 Difference]: With dead ends: 170 [2018-11-23 12:17:33,378 INFO L226 Difference]: Without dead ends: 113 [2018-11-23 12:17:33,379 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 168 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=113, Invalid=267, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:17:33,379 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2018-11-23 12:17:34,061 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 110. [2018-11-23 12:17:34,062 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:34,062 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand 110 states. [2018-11-23 12:17:34,062 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 110 states. [2018-11-23 12:17:34,062 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 110 states. [2018-11-23 12:17:34,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:34,066 INFO L93 Difference]: Finished difference Result 113 states and 129 transitions. [2018-11-23 12:17:34,066 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 129 transitions. [2018-11-23 12:17:34,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:34,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:34,067 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 113 states. [2018-11-23 12:17:34,067 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 113 states. [2018-11-23 12:17:34,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:34,069 INFO L93 Difference]: Finished difference Result 113 states and 129 transitions. [2018-11-23 12:17:34,069 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 129 transitions. [2018-11-23 12:17:34,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:34,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:34,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:34,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:34,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 110 states. [2018-11-23 12:17:34,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 125 transitions. [2018-11-23 12:17:34,072 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 125 transitions. Word has length 174 [2018-11-23 12:17:34,072 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:34,073 INFO L480 AbstractCegarLoop]: Abstraction has 110 states and 125 transitions. [2018-11-23 12:17:34,073 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 12:17:34,073 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 125 transitions. [2018-11-23 12:17:34,074 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 186 [2018-11-23 12:17:34,074 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:34,074 INFO L402 BasicCegarLoop]: trace histogram [33, 33, 33, 20, 20, 7, 7, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:34,074 INFO L423 AbstractCegarLoop]: === Iteration 29 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:34,075 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:34,075 INFO L82 PathProgramCache]: Analyzing trace with hash -939216411, now seen corresponding path program 25 times [2018-11-23 12:17:34,075 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:34,075 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:34,076 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:34,076 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:34,076 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:34,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:34,435 INFO L256 TraceCheckUtils]: 0: Hoare triple {18154#true} call ULTIMATE.init(); {18154#true} is VALID [2018-11-23 12:17:34,435 INFO L273 TraceCheckUtils]: 1: Hoare triple {18154#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {18154#true} is VALID [2018-11-23 12:17:34,435 INFO L273 TraceCheckUtils]: 2: Hoare triple {18154#true} assume true; {18154#true} is VALID [2018-11-23 12:17:34,435 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {18154#true} {18154#true} #71#return; {18154#true} is VALID [2018-11-23 12:17:34,435 INFO L256 TraceCheckUtils]: 4: Hoare triple {18154#true} call #t~ret14 := main(); {18154#true} is VALID [2018-11-23 12:17:34,435 INFO L273 TraceCheckUtils]: 5: Hoare triple {18154#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {18154#true} is VALID [2018-11-23 12:17:34,435 INFO L273 TraceCheckUtils]: 6: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,436 INFO L273 TraceCheckUtils]: 7: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,436 INFO L273 TraceCheckUtils]: 8: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,436 INFO L273 TraceCheckUtils]: 9: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,436 INFO L273 TraceCheckUtils]: 10: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,436 INFO L273 TraceCheckUtils]: 11: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,436 INFO L273 TraceCheckUtils]: 12: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,436 INFO L273 TraceCheckUtils]: 13: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,436 INFO L273 TraceCheckUtils]: 14: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,436 INFO L273 TraceCheckUtils]: 15: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,437 INFO L273 TraceCheckUtils]: 16: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,437 INFO L273 TraceCheckUtils]: 17: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,437 INFO L273 TraceCheckUtils]: 18: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,437 INFO L273 TraceCheckUtils]: 19: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,437 INFO L273 TraceCheckUtils]: 20: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,437 INFO L273 TraceCheckUtils]: 21: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,437 INFO L273 TraceCheckUtils]: 22: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,437 INFO L273 TraceCheckUtils]: 23: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,437 INFO L273 TraceCheckUtils]: 24: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,438 INFO L273 TraceCheckUtils]: 25: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,438 INFO L273 TraceCheckUtils]: 26: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,438 INFO L273 TraceCheckUtils]: 27: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,438 INFO L273 TraceCheckUtils]: 28: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,438 INFO L273 TraceCheckUtils]: 29: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,438 INFO L273 TraceCheckUtils]: 30: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,438 INFO L273 TraceCheckUtils]: 31: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,438 INFO L273 TraceCheckUtils]: 32: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,438 INFO L273 TraceCheckUtils]: 33: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,439 INFO L273 TraceCheckUtils]: 34: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,439 INFO L273 TraceCheckUtils]: 35: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,439 INFO L273 TraceCheckUtils]: 36: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,439 INFO L273 TraceCheckUtils]: 37: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,439 INFO L273 TraceCheckUtils]: 38: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,439 INFO L273 TraceCheckUtils]: 39: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,439 INFO L273 TraceCheckUtils]: 40: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,439 INFO L273 TraceCheckUtils]: 41: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,439 INFO L273 TraceCheckUtils]: 42: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,439 INFO L273 TraceCheckUtils]: 43: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,440 INFO L273 TraceCheckUtils]: 44: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,440 INFO L273 TraceCheckUtils]: 45: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,440 INFO L273 TraceCheckUtils]: 46: Hoare triple {18154#true} assume !(~i~1 < 20); {18154#true} is VALID [2018-11-23 12:17:34,440 INFO L256 TraceCheckUtils]: 47: Hoare triple {18154#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {18154#true} is VALID [2018-11-23 12:17:34,440 INFO L273 TraceCheckUtils]: 48: Hoare triple {18154#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {18156#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:34,441 INFO L273 TraceCheckUtils]: 49: Hoare triple {18156#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18156#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:34,441 INFO L273 TraceCheckUtils]: 50: Hoare triple {18156#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18156#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:34,441 INFO L273 TraceCheckUtils]: 51: Hoare triple {18156#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18157#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:34,442 INFO L273 TraceCheckUtils]: 52: Hoare triple {18157#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18157#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:34,442 INFO L273 TraceCheckUtils]: 53: Hoare triple {18157#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18157#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:34,442 INFO L273 TraceCheckUtils]: 54: Hoare triple {18157#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18158#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:34,443 INFO L273 TraceCheckUtils]: 55: Hoare triple {18158#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18158#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:34,443 INFO L273 TraceCheckUtils]: 56: Hoare triple {18158#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18158#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:34,443 INFO L273 TraceCheckUtils]: 57: Hoare triple {18158#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18159#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:34,444 INFO L273 TraceCheckUtils]: 58: Hoare triple {18159#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18159#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:34,444 INFO L273 TraceCheckUtils]: 59: Hoare triple {18159#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18159#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:34,444 INFO L273 TraceCheckUtils]: 60: Hoare triple {18159#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18160#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:34,445 INFO L273 TraceCheckUtils]: 61: Hoare triple {18160#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18160#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:34,445 INFO L273 TraceCheckUtils]: 62: Hoare triple {18160#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18160#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:34,446 INFO L273 TraceCheckUtils]: 63: Hoare triple {18160#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18161#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:34,446 INFO L273 TraceCheckUtils]: 64: Hoare triple {18161#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18161#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:34,447 INFO L273 TraceCheckUtils]: 65: Hoare triple {18161#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18161#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:34,448 INFO L273 TraceCheckUtils]: 66: Hoare triple {18161#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18162#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:34,448 INFO L273 TraceCheckUtils]: 67: Hoare triple {18162#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18162#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:34,449 INFO L273 TraceCheckUtils]: 68: Hoare triple {18162#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18162#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:34,449 INFO L273 TraceCheckUtils]: 69: Hoare triple {18162#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18163#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:34,450 INFO L273 TraceCheckUtils]: 70: Hoare triple {18163#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18163#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:34,450 INFO L273 TraceCheckUtils]: 71: Hoare triple {18163#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18163#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:34,451 INFO L273 TraceCheckUtils]: 72: Hoare triple {18163#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18164#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:34,451 INFO L273 TraceCheckUtils]: 73: Hoare triple {18164#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18164#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:34,452 INFO L273 TraceCheckUtils]: 74: Hoare triple {18164#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18164#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:34,452 INFO L273 TraceCheckUtils]: 75: Hoare triple {18164#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18165#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:34,453 INFO L273 TraceCheckUtils]: 76: Hoare triple {18165#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18165#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:34,453 INFO L273 TraceCheckUtils]: 77: Hoare triple {18165#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18165#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:34,454 INFO L273 TraceCheckUtils]: 78: Hoare triple {18165#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18166#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:34,455 INFO L273 TraceCheckUtils]: 79: Hoare triple {18166#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18166#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:34,455 INFO L273 TraceCheckUtils]: 80: Hoare triple {18166#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18166#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:34,456 INFO L273 TraceCheckUtils]: 81: Hoare triple {18166#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18167#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:34,456 INFO L273 TraceCheckUtils]: 82: Hoare triple {18167#(<= sep_~i~0 11)} assume !(~i~0 < 20); {18155#false} is VALID [2018-11-23 12:17:34,457 INFO L273 TraceCheckUtils]: 83: Hoare triple {18155#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {18155#false} is VALID [2018-11-23 12:17:34,457 INFO L273 TraceCheckUtils]: 84: Hoare triple {18155#false} assume true; {18155#false} is VALID [2018-11-23 12:17:34,457 INFO L268 TraceCheckUtils]: 85: Hoare quadruple {18155#false} {18154#true} #75#return; {18155#false} is VALID [2018-11-23 12:17:34,457 INFO L273 TraceCheckUtils]: 86: Hoare triple {18155#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {18155#false} is VALID [2018-11-23 12:17:34,457 INFO L256 TraceCheckUtils]: 87: Hoare triple {18155#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {18154#true} is VALID [2018-11-23 12:17:34,457 INFO L273 TraceCheckUtils]: 88: Hoare triple {18154#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {18154#true} is VALID [2018-11-23 12:17:34,458 INFO L273 TraceCheckUtils]: 89: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,458 INFO L273 TraceCheckUtils]: 90: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,458 INFO L273 TraceCheckUtils]: 91: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,458 INFO L273 TraceCheckUtils]: 92: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,459 INFO L273 TraceCheckUtils]: 93: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,459 INFO L273 TraceCheckUtils]: 94: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,459 INFO L273 TraceCheckUtils]: 95: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,459 INFO L273 TraceCheckUtils]: 96: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,460 INFO L273 TraceCheckUtils]: 97: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,460 INFO L273 TraceCheckUtils]: 98: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,460 INFO L273 TraceCheckUtils]: 99: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,460 INFO L273 TraceCheckUtils]: 100: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,460 INFO L273 TraceCheckUtils]: 101: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,460 INFO L273 TraceCheckUtils]: 102: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,461 INFO L273 TraceCheckUtils]: 103: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,461 INFO L273 TraceCheckUtils]: 104: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,461 INFO L273 TraceCheckUtils]: 105: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,461 INFO L273 TraceCheckUtils]: 106: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,461 INFO L273 TraceCheckUtils]: 107: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,461 INFO L273 TraceCheckUtils]: 108: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,462 INFO L273 TraceCheckUtils]: 109: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,462 INFO L273 TraceCheckUtils]: 110: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,462 INFO L273 TraceCheckUtils]: 111: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,462 INFO L273 TraceCheckUtils]: 112: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,462 INFO L273 TraceCheckUtils]: 113: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,462 INFO L273 TraceCheckUtils]: 114: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,463 INFO L273 TraceCheckUtils]: 115: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,463 INFO L273 TraceCheckUtils]: 116: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,463 INFO L273 TraceCheckUtils]: 117: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,463 INFO L273 TraceCheckUtils]: 118: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,463 INFO L273 TraceCheckUtils]: 119: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,463 INFO L273 TraceCheckUtils]: 120: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,463 INFO L273 TraceCheckUtils]: 121: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,464 INFO L273 TraceCheckUtils]: 122: Hoare triple {18154#true} assume !(~i~0 < 20); {18154#true} is VALID [2018-11-23 12:17:34,464 INFO L273 TraceCheckUtils]: 123: Hoare triple {18154#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {18154#true} is VALID [2018-11-23 12:17:34,464 INFO L273 TraceCheckUtils]: 124: Hoare triple {18154#true} assume true; {18154#true} is VALID [2018-11-23 12:17:34,464 INFO L268 TraceCheckUtils]: 125: Hoare quadruple {18154#true} {18155#false} #77#return; {18155#false} is VALID [2018-11-23 12:17:34,464 INFO L273 TraceCheckUtils]: 126: Hoare triple {18155#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {18155#false} is VALID [2018-11-23 12:17:34,464 INFO L273 TraceCheckUtils]: 127: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,465 INFO L273 TraceCheckUtils]: 128: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,465 INFO L273 TraceCheckUtils]: 129: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,465 INFO L273 TraceCheckUtils]: 130: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,465 INFO L273 TraceCheckUtils]: 131: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,465 INFO L273 TraceCheckUtils]: 132: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,465 INFO L273 TraceCheckUtils]: 133: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,466 INFO L273 TraceCheckUtils]: 134: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,466 INFO L273 TraceCheckUtils]: 135: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,466 INFO L273 TraceCheckUtils]: 136: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,466 INFO L273 TraceCheckUtils]: 137: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,466 INFO L273 TraceCheckUtils]: 138: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,466 INFO L273 TraceCheckUtils]: 139: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,466 INFO L273 TraceCheckUtils]: 140: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,467 INFO L273 TraceCheckUtils]: 141: Hoare triple {18155#false} assume !(~i~2 < 19); {18155#false} is VALID [2018-11-23 12:17:34,467 INFO L273 TraceCheckUtils]: 142: Hoare triple {18155#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {18155#false} is VALID [2018-11-23 12:17:34,467 INFO L256 TraceCheckUtils]: 143: Hoare triple {18155#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {18154#true} is VALID [2018-11-23 12:17:34,467 INFO L273 TraceCheckUtils]: 144: Hoare triple {18154#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {18154#true} is VALID [2018-11-23 12:17:34,467 INFO L273 TraceCheckUtils]: 145: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,467 INFO L273 TraceCheckUtils]: 146: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,468 INFO L273 TraceCheckUtils]: 147: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,468 INFO L273 TraceCheckUtils]: 148: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,468 INFO L273 TraceCheckUtils]: 149: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,468 INFO L273 TraceCheckUtils]: 150: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,468 INFO L273 TraceCheckUtils]: 151: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,468 INFO L273 TraceCheckUtils]: 152: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,468 INFO L273 TraceCheckUtils]: 153: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,469 INFO L273 TraceCheckUtils]: 154: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,469 INFO L273 TraceCheckUtils]: 155: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,469 INFO L273 TraceCheckUtils]: 156: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,469 INFO L273 TraceCheckUtils]: 157: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,469 INFO L273 TraceCheckUtils]: 158: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,469 INFO L273 TraceCheckUtils]: 159: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,470 INFO L273 TraceCheckUtils]: 160: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,470 INFO L273 TraceCheckUtils]: 161: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,470 INFO L273 TraceCheckUtils]: 162: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,470 INFO L273 TraceCheckUtils]: 163: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,470 INFO L273 TraceCheckUtils]: 164: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,470 INFO L273 TraceCheckUtils]: 165: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,471 INFO L273 TraceCheckUtils]: 166: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,471 INFO L273 TraceCheckUtils]: 167: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,471 INFO L273 TraceCheckUtils]: 168: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,471 INFO L273 TraceCheckUtils]: 169: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,471 INFO L273 TraceCheckUtils]: 170: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,471 INFO L273 TraceCheckUtils]: 171: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,471 INFO L273 TraceCheckUtils]: 172: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,472 INFO L273 TraceCheckUtils]: 173: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,472 INFO L273 TraceCheckUtils]: 174: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,472 INFO L273 TraceCheckUtils]: 175: Hoare triple {18154#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18154#true} is VALID [2018-11-23 12:17:34,472 INFO L273 TraceCheckUtils]: 176: Hoare triple {18154#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18154#true} is VALID [2018-11-23 12:17:34,472 INFO L273 TraceCheckUtils]: 177: Hoare triple {18154#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18154#true} is VALID [2018-11-23 12:17:34,472 INFO L273 TraceCheckUtils]: 178: Hoare triple {18154#true} assume !(~i~0 < 20); {18154#true} is VALID [2018-11-23 12:17:34,473 INFO L273 TraceCheckUtils]: 179: Hoare triple {18154#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {18154#true} is VALID [2018-11-23 12:17:34,473 INFO L273 TraceCheckUtils]: 180: Hoare triple {18154#true} assume true; {18154#true} is VALID [2018-11-23 12:17:34,473 INFO L268 TraceCheckUtils]: 181: Hoare quadruple {18154#true} {18155#false} #79#return; {18155#false} is VALID [2018-11-23 12:17:34,473 INFO L273 TraceCheckUtils]: 182: Hoare triple {18155#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {18155#false} is VALID [2018-11-23 12:17:34,473 INFO L273 TraceCheckUtils]: 183: Hoare triple {18155#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {18155#false} is VALID [2018-11-23 12:17:34,473 INFO L273 TraceCheckUtils]: 184: Hoare triple {18155#false} assume !false; {18155#false} is VALID [2018-11-23 12:17:34,492 INFO L134 CoverageAnalysis]: Checked inductivity of 2147 backedges. 0 proven. 954 refuted. 0 times theorem prover too weak. 1193 trivial. 0 not checked. [2018-11-23 12:17:34,492 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:34,492 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:34,509 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:34,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:34,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:34,638 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:34,830 INFO L256 TraceCheckUtils]: 0: Hoare triple {18154#true} call ULTIMATE.init(); {18154#true} is VALID [2018-11-23 12:17:34,831 INFO L273 TraceCheckUtils]: 1: Hoare triple {18154#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {18154#true} is VALID [2018-11-23 12:17:34,831 INFO L273 TraceCheckUtils]: 2: Hoare triple {18154#true} assume true; {18154#true} is VALID [2018-11-23 12:17:34,831 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {18154#true} {18154#true} #71#return; {18154#true} is VALID [2018-11-23 12:17:34,831 INFO L256 TraceCheckUtils]: 4: Hoare triple {18154#true} call #t~ret14 := main(); {18154#true} is VALID [2018-11-23 12:17:34,831 INFO L273 TraceCheckUtils]: 5: Hoare triple {18154#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {18154#true} is VALID [2018-11-23 12:17:34,832 INFO L273 TraceCheckUtils]: 6: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,832 INFO L273 TraceCheckUtils]: 7: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,832 INFO L273 TraceCheckUtils]: 8: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,832 INFO L273 TraceCheckUtils]: 9: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,832 INFO L273 TraceCheckUtils]: 10: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,832 INFO L273 TraceCheckUtils]: 11: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,833 INFO L273 TraceCheckUtils]: 12: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,833 INFO L273 TraceCheckUtils]: 13: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,833 INFO L273 TraceCheckUtils]: 14: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,833 INFO L273 TraceCheckUtils]: 15: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,833 INFO L273 TraceCheckUtils]: 16: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,833 INFO L273 TraceCheckUtils]: 17: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,833 INFO L273 TraceCheckUtils]: 18: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,833 INFO L273 TraceCheckUtils]: 19: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,833 INFO L273 TraceCheckUtils]: 20: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,833 INFO L273 TraceCheckUtils]: 21: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,834 INFO L273 TraceCheckUtils]: 22: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,834 INFO L273 TraceCheckUtils]: 23: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,834 INFO L273 TraceCheckUtils]: 24: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,834 INFO L273 TraceCheckUtils]: 25: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,834 INFO L273 TraceCheckUtils]: 26: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,834 INFO L273 TraceCheckUtils]: 27: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,834 INFO L273 TraceCheckUtils]: 28: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,834 INFO L273 TraceCheckUtils]: 29: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,834 INFO L273 TraceCheckUtils]: 30: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,834 INFO L273 TraceCheckUtils]: 31: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,835 INFO L273 TraceCheckUtils]: 32: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,835 INFO L273 TraceCheckUtils]: 33: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,835 INFO L273 TraceCheckUtils]: 34: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,835 INFO L273 TraceCheckUtils]: 35: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,835 INFO L273 TraceCheckUtils]: 36: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,835 INFO L273 TraceCheckUtils]: 37: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,835 INFO L273 TraceCheckUtils]: 38: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,835 INFO L273 TraceCheckUtils]: 39: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,835 INFO L273 TraceCheckUtils]: 40: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,836 INFO L273 TraceCheckUtils]: 41: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,836 INFO L273 TraceCheckUtils]: 42: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,836 INFO L273 TraceCheckUtils]: 43: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,836 INFO L273 TraceCheckUtils]: 44: Hoare triple {18154#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18154#true} is VALID [2018-11-23 12:17:34,836 INFO L273 TraceCheckUtils]: 45: Hoare triple {18154#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18154#true} is VALID [2018-11-23 12:17:34,836 INFO L273 TraceCheckUtils]: 46: Hoare triple {18154#true} assume !(~i~1 < 20); {18154#true} is VALID [2018-11-23 12:17:34,836 INFO L256 TraceCheckUtils]: 47: Hoare triple {18154#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {18154#true} is VALID [2018-11-23 12:17:34,837 INFO L273 TraceCheckUtils]: 48: Hoare triple {18154#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {18315#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:34,837 INFO L273 TraceCheckUtils]: 49: Hoare triple {18315#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18315#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:34,837 INFO L273 TraceCheckUtils]: 50: Hoare triple {18315#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18315#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:34,838 INFO L273 TraceCheckUtils]: 51: Hoare triple {18315#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18157#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:34,838 INFO L273 TraceCheckUtils]: 52: Hoare triple {18157#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18157#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:34,838 INFO L273 TraceCheckUtils]: 53: Hoare triple {18157#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18157#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:34,839 INFO L273 TraceCheckUtils]: 54: Hoare triple {18157#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18158#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:34,839 INFO L273 TraceCheckUtils]: 55: Hoare triple {18158#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18158#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:34,839 INFO L273 TraceCheckUtils]: 56: Hoare triple {18158#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18158#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:34,840 INFO L273 TraceCheckUtils]: 57: Hoare triple {18158#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18159#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:34,840 INFO L273 TraceCheckUtils]: 58: Hoare triple {18159#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18159#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:34,840 INFO L273 TraceCheckUtils]: 59: Hoare triple {18159#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18159#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:34,841 INFO L273 TraceCheckUtils]: 60: Hoare triple {18159#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18160#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:34,842 INFO L273 TraceCheckUtils]: 61: Hoare triple {18160#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18160#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:34,842 INFO L273 TraceCheckUtils]: 62: Hoare triple {18160#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18160#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:34,843 INFO L273 TraceCheckUtils]: 63: Hoare triple {18160#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18161#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:34,843 INFO L273 TraceCheckUtils]: 64: Hoare triple {18161#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18161#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:34,844 INFO L273 TraceCheckUtils]: 65: Hoare triple {18161#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18161#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:34,845 INFO L273 TraceCheckUtils]: 66: Hoare triple {18161#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18162#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:34,845 INFO L273 TraceCheckUtils]: 67: Hoare triple {18162#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18162#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:34,846 INFO L273 TraceCheckUtils]: 68: Hoare triple {18162#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18162#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:34,846 INFO L273 TraceCheckUtils]: 69: Hoare triple {18162#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18163#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:34,847 INFO L273 TraceCheckUtils]: 70: Hoare triple {18163#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18163#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:34,847 INFO L273 TraceCheckUtils]: 71: Hoare triple {18163#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18163#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:34,848 INFO L273 TraceCheckUtils]: 72: Hoare triple {18163#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18164#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:34,849 INFO L273 TraceCheckUtils]: 73: Hoare triple {18164#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18164#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:34,849 INFO L273 TraceCheckUtils]: 74: Hoare triple {18164#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18164#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:34,850 INFO L273 TraceCheckUtils]: 75: Hoare triple {18164#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18165#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:34,850 INFO L273 TraceCheckUtils]: 76: Hoare triple {18165#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18165#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:34,851 INFO L273 TraceCheckUtils]: 77: Hoare triple {18165#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18165#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:34,851 INFO L273 TraceCheckUtils]: 78: Hoare triple {18165#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18166#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:34,852 INFO L273 TraceCheckUtils]: 79: Hoare triple {18166#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18166#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:34,852 INFO L273 TraceCheckUtils]: 80: Hoare triple {18166#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18166#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:34,855 INFO L273 TraceCheckUtils]: 81: Hoare triple {18166#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18167#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:34,855 INFO L273 TraceCheckUtils]: 82: Hoare triple {18167#(<= sep_~i~0 11)} assume !(~i~0 < 20); {18155#false} is VALID [2018-11-23 12:17:34,856 INFO L273 TraceCheckUtils]: 83: Hoare triple {18155#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {18155#false} is VALID [2018-11-23 12:17:34,856 INFO L273 TraceCheckUtils]: 84: Hoare triple {18155#false} assume true; {18155#false} is VALID [2018-11-23 12:17:34,856 INFO L268 TraceCheckUtils]: 85: Hoare quadruple {18155#false} {18154#true} #75#return; {18155#false} is VALID [2018-11-23 12:17:34,856 INFO L273 TraceCheckUtils]: 86: Hoare triple {18155#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {18155#false} is VALID [2018-11-23 12:17:34,856 INFO L256 TraceCheckUtils]: 87: Hoare triple {18155#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {18155#false} is VALID [2018-11-23 12:17:34,856 INFO L273 TraceCheckUtils]: 88: Hoare triple {18155#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {18155#false} is VALID [2018-11-23 12:17:34,856 INFO L273 TraceCheckUtils]: 89: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,856 INFO L273 TraceCheckUtils]: 90: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,856 INFO L273 TraceCheckUtils]: 91: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,857 INFO L273 TraceCheckUtils]: 92: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,857 INFO L273 TraceCheckUtils]: 93: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,857 INFO L273 TraceCheckUtils]: 94: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,857 INFO L273 TraceCheckUtils]: 95: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,857 INFO L273 TraceCheckUtils]: 96: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,857 INFO L273 TraceCheckUtils]: 97: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,857 INFO L273 TraceCheckUtils]: 98: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,857 INFO L273 TraceCheckUtils]: 99: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,857 INFO L273 TraceCheckUtils]: 100: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,857 INFO L273 TraceCheckUtils]: 101: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,858 INFO L273 TraceCheckUtils]: 102: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,858 INFO L273 TraceCheckUtils]: 103: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,858 INFO L273 TraceCheckUtils]: 104: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,858 INFO L273 TraceCheckUtils]: 105: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,858 INFO L273 TraceCheckUtils]: 106: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,858 INFO L273 TraceCheckUtils]: 107: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,858 INFO L273 TraceCheckUtils]: 108: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,858 INFO L273 TraceCheckUtils]: 109: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,858 INFO L273 TraceCheckUtils]: 110: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,859 INFO L273 TraceCheckUtils]: 111: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,859 INFO L273 TraceCheckUtils]: 112: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,859 INFO L273 TraceCheckUtils]: 113: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,859 INFO L273 TraceCheckUtils]: 114: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,859 INFO L273 TraceCheckUtils]: 115: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,859 INFO L273 TraceCheckUtils]: 116: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,859 INFO L273 TraceCheckUtils]: 117: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,859 INFO L273 TraceCheckUtils]: 118: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,859 INFO L273 TraceCheckUtils]: 119: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,859 INFO L273 TraceCheckUtils]: 120: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,860 INFO L273 TraceCheckUtils]: 121: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,860 INFO L273 TraceCheckUtils]: 122: Hoare triple {18155#false} assume !(~i~0 < 20); {18155#false} is VALID [2018-11-23 12:17:34,860 INFO L273 TraceCheckUtils]: 123: Hoare triple {18155#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {18155#false} is VALID [2018-11-23 12:17:34,860 INFO L273 TraceCheckUtils]: 124: Hoare triple {18155#false} assume true; {18155#false} is VALID [2018-11-23 12:17:34,860 INFO L268 TraceCheckUtils]: 125: Hoare quadruple {18155#false} {18155#false} #77#return; {18155#false} is VALID [2018-11-23 12:17:34,860 INFO L273 TraceCheckUtils]: 126: Hoare triple {18155#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {18155#false} is VALID [2018-11-23 12:17:34,860 INFO L273 TraceCheckUtils]: 127: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,860 INFO L273 TraceCheckUtils]: 128: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,860 INFO L273 TraceCheckUtils]: 129: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,861 INFO L273 TraceCheckUtils]: 130: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,861 INFO L273 TraceCheckUtils]: 131: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,861 INFO L273 TraceCheckUtils]: 132: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,861 INFO L273 TraceCheckUtils]: 133: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,861 INFO L273 TraceCheckUtils]: 134: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,861 INFO L273 TraceCheckUtils]: 135: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,861 INFO L273 TraceCheckUtils]: 136: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,861 INFO L273 TraceCheckUtils]: 137: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,861 INFO L273 TraceCheckUtils]: 138: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,861 INFO L273 TraceCheckUtils]: 139: Hoare triple {18155#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18155#false} is VALID [2018-11-23 12:17:34,862 INFO L273 TraceCheckUtils]: 140: Hoare triple {18155#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18155#false} is VALID [2018-11-23 12:17:34,862 INFO L273 TraceCheckUtils]: 141: Hoare triple {18155#false} assume !(~i~2 < 19); {18155#false} is VALID [2018-11-23 12:17:34,862 INFO L273 TraceCheckUtils]: 142: Hoare triple {18155#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {18155#false} is VALID [2018-11-23 12:17:34,862 INFO L256 TraceCheckUtils]: 143: Hoare triple {18155#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {18155#false} is VALID [2018-11-23 12:17:34,862 INFO L273 TraceCheckUtils]: 144: Hoare triple {18155#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {18155#false} is VALID [2018-11-23 12:17:34,862 INFO L273 TraceCheckUtils]: 145: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,862 INFO L273 TraceCheckUtils]: 146: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,862 INFO L273 TraceCheckUtils]: 147: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,862 INFO L273 TraceCheckUtils]: 148: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,863 INFO L273 TraceCheckUtils]: 149: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,863 INFO L273 TraceCheckUtils]: 150: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,863 INFO L273 TraceCheckUtils]: 151: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,863 INFO L273 TraceCheckUtils]: 152: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,863 INFO L273 TraceCheckUtils]: 153: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,863 INFO L273 TraceCheckUtils]: 154: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,863 INFO L273 TraceCheckUtils]: 155: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,863 INFO L273 TraceCheckUtils]: 156: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,863 INFO L273 TraceCheckUtils]: 157: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,863 INFO L273 TraceCheckUtils]: 158: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,864 INFO L273 TraceCheckUtils]: 159: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,864 INFO L273 TraceCheckUtils]: 160: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,864 INFO L273 TraceCheckUtils]: 161: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,864 INFO L273 TraceCheckUtils]: 162: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,864 INFO L273 TraceCheckUtils]: 163: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,864 INFO L273 TraceCheckUtils]: 164: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,864 INFO L273 TraceCheckUtils]: 165: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,864 INFO L273 TraceCheckUtils]: 166: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,864 INFO L273 TraceCheckUtils]: 167: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,864 INFO L273 TraceCheckUtils]: 168: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,865 INFO L273 TraceCheckUtils]: 169: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,865 INFO L273 TraceCheckUtils]: 170: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,865 INFO L273 TraceCheckUtils]: 171: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,865 INFO L273 TraceCheckUtils]: 172: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,865 INFO L273 TraceCheckUtils]: 173: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,865 INFO L273 TraceCheckUtils]: 174: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,865 INFO L273 TraceCheckUtils]: 175: Hoare triple {18155#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18155#false} is VALID [2018-11-23 12:17:34,865 INFO L273 TraceCheckUtils]: 176: Hoare triple {18155#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18155#false} is VALID [2018-11-23 12:17:34,865 INFO L273 TraceCheckUtils]: 177: Hoare triple {18155#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18155#false} is VALID [2018-11-23 12:17:34,866 INFO L273 TraceCheckUtils]: 178: Hoare triple {18155#false} assume !(~i~0 < 20); {18155#false} is VALID [2018-11-23 12:17:34,866 INFO L273 TraceCheckUtils]: 179: Hoare triple {18155#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {18155#false} is VALID [2018-11-23 12:17:34,866 INFO L273 TraceCheckUtils]: 180: Hoare triple {18155#false} assume true; {18155#false} is VALID [2018-11-23 12:17:34,866 INFO L268 TraceCheckUtils]: 181: Hoare quadruple {18155#false} {18155#false} #79#return; {18155#false} is VALID [2018-11-23 12:17:34,866 INFO L273 TraceCheckUtils]: 182: Hoare triple {18155#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {18155#false} is VALID [2018-11-23 12:17:34,866 INFO L273 TraceCheckUtils]: 183: Hoare triple {18155#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {18155#false} is VALID [2018-11-23 12:17:34,866 INFO L273 TraceCheckUtils]: 184: Hoare triple {18155#false} assume !false; {18155#false} is VALID [2018-11-23 12:17:34,880 INFO L134 CoverageAnalysis]: Checked inductivity of 2147 backedges. 774 proven. 176 refuted. 0 times theorem prover too weak. 1197 trivial. 0 not checked. [2018-11-23 12:17:34,899 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:34,900 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 15 [2018-11-23 12:17:34,900 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 185 [2018-11-23 12:17:34,901 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:34,901 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 12:17:35,295 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:35,295 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 12:17:35,295 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 12:17:35,296 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:17:35,296 INFO L87 Difference]: Start difference. First operand 110 states and 125 transitions. Second operand 15 states. [2018-11-23 12:17:36,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:36,281 INFO L93 Difference]: Finished difference Result 177 states and 211 transitions. [2018-11-23 12:17:36,281 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 12:17:36,281 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 185 [2018-11-23 12:17:36,281 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:36,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:17:36,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 105 transitions. [2018-11-23 12:17:36,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:17:36,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 105 transitions. [2018-11-23 12:17:36,284 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 105 transitions. [2018-11-23 12:17:36,395 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:36,398 INFO L225 Difference]: With dead ends: 177 [2018-11-23 12:17:36,398 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 12:17:36,399 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 198 GetRequests, 185 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:17:36,399 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 12:17:36,497 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 113. [2018-11-23 12:17:36,497 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:36,498 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 113 states. [2018-11-23 12:17:36,498 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 113 states. [2018-11-23 12:17:36,498 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 113 states. [2018-11-23 12:17:36,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:36,501 INFO L93 Difference]: Finished difference Result 115 states and 132 transitions. [2018-11-23 12:17:36,501 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 132 transitions. [2018-11-23 12:17:36,502 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:36,502 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:36,502 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 115 states. [2018-11-23 12:17:36,502 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 115 states. [2018-11-23 12:17:36,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:36,505 INFO L93 Difference]: Finished difference Result 115 states and 132 transitions. [2018-11-23 12:17:36,505 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 132 transitions. [2018-11-23 12:17:36,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:36,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:36,505 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:36,505 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:36,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2018-11-23 12:17:36,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 129 transitions. [2018-11-23 12:17:36,507 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 129 transitions. Word has length 185 [2018-11-23 12:17:36,508 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:36,508 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 129 transitions. [2018-11-23 12:17:36,508 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 12:17:36,508 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 129 transitions. [2018-11-23 12:17:36,509 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 195 [2018-11-23 12:17:36,509 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:36,509 INFO L402 BasicCegarLoop]: trace histogram [36, 36, 36, 20, 20, 7, 7, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:36,510 INFO L423 AbstractCegarLoop]: === Iteration 30 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:36,510 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:36,510 INFO L82 PathProgramCache]: Analyzing trace with hash 1093785616, now seen corresponding path program 26 times [2018-11-23 12:17:36,510 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:36,510 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:36,511 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:36,511 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:36,511 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:36,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:36,775 INFO L256 TraceCheckUtils]: 0: Hoare triple {19366#true} call ULTIMATE.init(); {19366#true} is VALID [2018-11-23 12:17:36,775 INFO L273 TraceCheckUtils]: 1: Hoare triple {19366#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {19366#true} is VALID [2018-11-23 12:17:36,776 INFO L273 TraceCheckUtils]: 2: Hoare triple {19366#true} assume true; {19366#true} is VALID [2018-11-23 12:17:36,776 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {19366#true} {19366#true} #71#return; {19366#true} is VALID [2018-11-23 12:17:36,776 INFO L256 TraceCheckUtils]: 4: Hoare triple {19366#true} call #t~ret14 := main(); {19366#true} is VALID [2018-11-23 12:17:36,776 INFO L273 TraceCheckUtils]: 5: Hoare triple {19366#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {19366#true} is VALID [2018-11-23 12:17:36,777 INFO L273 TraceCheckUtils]: 6: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,777 INFO L273 TraceCheckUtils]: 7: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,777 INFO L273 TraceCheckUtils]: 8: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,777 INFO L273 TraceCheckUtils]: 9: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,777 INFO L273 TraceCheckUtils]: 10: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,777 INFO L273 TraceCheckUtils]: 11: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,777 INFO L273 TraceCheckUtils]: 12: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,777 INFO L273 TraceCheckUtils]: 13: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,778 INFO L273 TraceCheckUtils]: 14: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,778 INFO L273 TraceCheckUtils]: 15: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,778 INFO L273 TraceCheckUtils]: 16: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,778 INFO L273 TraceCheckUtils]: 17: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,778 INFO L273 TraceCheckUtils]: 18: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,778 INFO L273 TraceCheckUtils]: 19: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,778 INFO L273 TraceCheckUtils]: 20: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,778 INFO L273 TraceCheckUtils]: 21: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,778 INFO L273 TraceCheckUtils]: 22: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,778 INFO L273 TraceCheckUtils]: 23: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,779 INFO L273 TraceCheckUtils]: 24: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,779 INFO L273 TraceCheckUtils]: 25: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,779 INFO L273 TraceCheckUtils]: 26: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,779 INFO L273 TraceCheckUtils]: 27: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,779 INFO L273 TraceCheckUtils]: 28: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,779 INFO L273 TraceCheckUtils]: 29: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,779 INFO L273 TraceCheckUtils]: 30: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,779 INFO L273 TraceCheckUtils]: 31: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,779 INFO L273 TraceCheckUtils]: 32: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,780 INFO L273 TraceCheckUtils]: 33: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,780 INFO L273 TraceCheckUtils]: 34: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,780 INFO L273 TraceCheckUtils]: 35: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,780 INFO L273 TraceCheckUtils]: 36: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,780 INFO L273 TraceCheckUtils]: 37: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,780 INFO L273 TraceCheckUtils]: 38: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,780 INFO L273 TraceCheckUtils]: 39: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,781 INFO L273 TraceCheckUtils]: 40: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,781 INFO L273 TraceCheckUtils]: 41: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,781 INFO L273 TraceCheckUtils]: 42: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,781 INFO L273 TraceCheckUtils]: 43: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,781 INFO L273 TraceCheckUtils]: 44: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:36,781 INFO L273 TraceCheckUtils]: 45: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:36,781 INFO L273 TraceCheckUtils]: 46: Hoare triple {19366#true} assume !(~i~1 < 20); {19366#true} is VALID [2018-11-23 12:17:36,782 INFO L256 TraceCheckUtils]: 47: Hoare triple {19366#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {19366#true} is VALID [2018-11-23 12:17:36,796 INFO L273 TraceCheckUtils]: 48: Hoare triple {19366#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {19368#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:36,804 INFO L273 TraceCheckUtils]: 49: Hoare triple {19368#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19368#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:36,819 INFO L273 TraceCheckUtils]: 50: Hoare triple {19368#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19368#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:36,827 INFO L273 TraceCheckUtils]: 51: Hoare triple {19368#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19369#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:36,836 INFO L273 TraceCheckUtils]: 52: Hoare triple {19369#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19369#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:36,836 INFO L273 TraceCheckUtils]: 53: Hoare triple {19369#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19369#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:36,837 INFO L273 TraceCheckUtils]: 54: Hoare triple {19369#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19370#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:36,837 INFO L273 TraceCheckUtils]: 55: Hoare triple {19370#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19370#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:36,837 INFO L273 TraceCheckUtils]: 56: Hoare triple {19370#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19370#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:36,838 INFO L273 TraceCheckUtils]: 57: Hoare triple {19370#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19371#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:36,838 INFO L273 TraceCheckUtils]: 58: Hoare triple {19371#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19371#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:36,838 INFO L273 TraceCheckUtils]: 59: Hoare triple {19371#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19371#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:36,839 INFO L273 TraceCheckUtils]: 60: Hoare triple {19371#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19372#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:36,839 INFO L273 TraceCheckUtils]: 61: Hoare triple {19372#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19372#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:36,840 INFO L273 TraceCheckUtils]: 62: Hoare triple {19372#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19372#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:36,840 INFO L273 TraceCheckUtils]: 63: Hoare triple {19372#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19373#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:36,841 INFO L273 TraceCheckUtils]: 64: Hoare triple {19373#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19373#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:36,841 INFO L273 TraceCheckUtils]: 65: Hoare triple {19373#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19373#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:36,842 INFO L273 TraceCheckUtils]: 66: Hoare triple {19373#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19374#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:36,843 INFO L273 TraceCheckUtils]: 67: Hoare triple {19374#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19374#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:36,843 INFO L273 TraceCheckUtils]: 68: Hoare triple {19374#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19374#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:36,844 INFO L273 TraceCheckUtils]: 69: Hoare triple {19374#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19375#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:36,844 INFO L273 TraceCheckUtils]: 70: Hoare triple {19375#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19375#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:36,845 INFO L273 TraceCheckUtils]: 71: Hoare triple {19375#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19375#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:36,845 INFO L273 TraceCheckUtils]: 72: Hoare triple {19375#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19376#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:36,846 INFO L273 TraceCheckUtils]: 73: Hoare triple {19376#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19376#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:36,846 INFO L273 TraceCheckUtils]: 74: Hoare triple {19376#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19376#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:36,847 INFO L273 TraceCheckUtils]: 75: Hoare triple {19376#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19377#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:36,848 INFO L273 TraceCheckUtils]: 76: Hoare triple {19377#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19377#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:36,848 INFO L273 TraceCheckUtils]: 77: Hoare triple {19377#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19377#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:36,849 INFO L273 TraceCheckUtils]: 78: Hoare triple {19377#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19378#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:36,849 INFO L273 TraceCheckUtils]: 79: Hoare triple {19378#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19378#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:36,850 INFO L273 TraceCheckUtils]: 80: Hoare triple {19378#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19378#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:36,850 INFO L273 TraceCheckUtils]: 81: Hoare triple {19378#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:36,851 INFO L273 TraceCheckUtils]: 82: Hoare triple {19379#(<= sep_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:36,851 INFO L273 TraceCheckUtils]: 83: Hoare triple {19379#(<= sep_~i~0 11)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19379#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:36,852 INFO L273 TraceCheckUtils]: 84: Hoare triple {19379#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:36,852 INFO L273 TraceCheckUtils]: 85: Hoare triple {19380#(<= sep_~i~0 12)} assume !(~i~0 < 20); {19367#false} is VALID [2018-11-23 12:17:36,853 INFO L273 TraceCheckUtils]: 86: Hoare triple {19367#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {19367#false} is VALID [2018-11-23 12:17:36,853 INFO L273 TraceCheckUtils]: 87: Hoare triple {19367#false} assume true; {19367#false} is VALID [2018-11-23 12:17:36,853 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {19367#false} {19366#true} #75#return; {19367#false} is VALID [2018-11-23 12:17:36,853 INFO L273 TraceCheckUtils]: 89: Hoare triple {19367#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {19367#false} is VALID [2018-11-23 12:17:36,854 INFO L256 TraceCheckUtils]: 90: Hoare triple {19367#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {19366#true} is VALID [2018-11-23 12:17:36,854 INFO L273 TraceCheckUtils]: 91: Hoare triple {19366#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {19366#true} is VALID [2018-11-23 12:17:36,854 INFO L273 TraceCheckUtils]: 92: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,854 INFO L273 TraceCheckUtils]: 93: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,854 INFO L273 TraceCheckUtils]: 94: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,854 INFO L273 TraceCheckUtils]: 95: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,855 INFO L273 TraceCheckUtils]: 96: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,855 INFO L273 TraceCheckUtils]: 97: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,855 INFO L273 TraceCheckUtils]: 98: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,855 INFO L273 TraceCheckUtils]: 99: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,855 INFO L273 TraceCheckUtils]: 100: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,855 INFO L273 TraceCheckUtils]: 101: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,855 INFO L273 TraceCheckUtils]: 102: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,855 INFO L273 TraceCheckUtils]: 103: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,856 INFO L273 TraceCheckUtils]: 104: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,856 INFO L273 TraceCheckUtils]: 105: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,856 INFO L273 TraceCheckUtils]: 106: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,856 INFO L273 TraceCheckUtils]: 107: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,856 INFO L273 TraceCheckUtils]: 108: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,856 INFO L273 TraceCheckUtils]: 109: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,856 INFO L273 TraceCheckUtils]: 110: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,856 INFO L273 TraceCheckUtils]: 111: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,856 INFO L273 TraceCheckUtils]: 112: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,857 INFO L273 TraceCheckUtils]: 113: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,857 INFO L273 TraceCheckUtils]: 114: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,857 INFO L273 TraceCheckUtils]: 115: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,857 INFO L273 TraceCheckUtils]: 116: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,857 INFO L273 TraceCheckUtils]: 117: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,857 INFO L273 TraceCheckUtils]: 118: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,857 INFO L273 TraceCheckUtils]: 119: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,857 INFO L273 TraceCheckUtils]: 120: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,857 INFO L273 TraceCheckUtils]: 121: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,858 INFO L273 TraceCheckUtils]: 122: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,858 INFO L273 TraceCheckUtils]: 123: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,858 INFO L273 TraceCheckUtils]: 124: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,858 INFO L273 TraceCheckUtils]: 125: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,858 INFO L273 TraceCheckUtils]: 126: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,858 INFO L273 TraceCheckUtils]: 127: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,858 INFO L273 TraceCheckUtils]: 128: Hoare triple {19366#true} assume !(~i~0 < 20); {19366#true} is VALID [2018-11-23 12:17:36,858 INFO L273 TraceCheckUtils]: 129: Hoare triple {19366#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {19366#true} is VALID [2018-11-23 12:17:36,858 INFO L273 TraceCheckUtils]: 130: Hoare triple {19366#true} assume true; {19366#true} is VALID [2018-11-23 12:17:36,858 INFO L268 TraceCheckUtils]: 131: Hoare quadruple {19366#true} {19367#false} #77#return; {19367#false} is VALID [2018-11-23 12:17:36,859 INFO L273 TraceCheckUtils]: 132: Hoare triple {19367#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {19367#false} is VALID [2018-11-23 12:17:36,859 INFO L273 TraceCheckUtils]: 133: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:36,859 INFO L273 TraceCheckUtils]: 134: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:36,859 INFO L273 TraceCheckUtils]: 135: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:36,859 INFO L273 TraceCheckUtils]: 136: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:36,859 INFO L273 TraceCheckUtils]: 137: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:36,859 INFO L273 TraceCheckUtils]: 138: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:36,859 INFO L273 TraceCheckUtils]: 139: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:36,859 INFO L273 TraceCheckUtils]: 140: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:36,860 INFO L273 TraceCheckUtils]: 141: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:36,860 INFO L273 TraceCheckUtils]: 142: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:36,860 INFO L273 TraceCheckUtils]: 143: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:36,860 INFO L273 TraceCheckUtils]: 144: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:36,860 INFO L273 TraceCheckUtils]: 145: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:36,860 INFO L273 TraceCheckUtils]: 146: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:36,860 INFO L273 TraceCheckUtils]: 147: Hoare triple {19367#false} assume !(~i~2 < 19); {19367#false} is VALID [2018-11-23 12:17:36,861 INFO L273 TraceCheckUtils]: 148: Hoare triple {19367#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {19367#false} is VALID [2018-11-23 12:17:36,861 INFO L256 TraceCheckUtils]: 149: Hoare triple {19367#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {19366#true} is VALID [2018-11-23 12:17:36,861 INFO L273 TraceCheckUtils]: 150: Hoare triple {19366#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {19366#true} is VALID [2018-11-23 12:17:36,861 INFO L273 TraceCheckUtils]: 151: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,861 INFO L273 TraceCheckUtils]: 152: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,861 INFO L273 TraceCheckUtils]: 153: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,861 INFO L273 TraceCheckUtils]: 154: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,861 INFO L273 TraceCheckUtils]: 155: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,861 INFO L273 TraceCheckUtils]: 156: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,862 INFO L273 TraceCheckUtils]: 157: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,862 INFO L273 TraceCheckUtils]: 158: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,862 INFO L273 TraceCheckUtils]: 159: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,862 INFO L273 TraceCheckUtils]: 160: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,862 INFO L273 TraceCheckUtils]: 161: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,862 INFO L273 TraceCheckUtils]: 162: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,862 INFO L273 TraceCheckUtils]: 163: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,862 INFO L273 TraceCheckUtils]: 164: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,862 INFO L273 TraceCheckUtils]: 165: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,862 INFO L273 TraceCheckUtils]: 166: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,863 INFO L273 TraceCheckUtils]: 167: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,863 INFO L273 TraceCheckUtils]: 168: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,863 INFO L273 TraceCheckUtils]: 169: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,863 INFO L273 TraceCheckUtils]: 170: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,863 INFO L273 TraceCheckUtils]: 171: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,863 INFO L273 TraceCheckUtils]: 172: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,863 INFO L273 TraceCheckUtils]: 173: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,863 INFO L273 TraceCheckUtils]: 174: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,863 INFO L273 TraceCheckUtils]: 175: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,863 INFO L273 TraceCheckUtils]: 176: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,864 INFO L273 TraceCheckUtils]: 177: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,864 INFO L273 TraceCheckUtils]: 178: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,864 INFO L273 TraceCheckUtils]: 179: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,864 INFO L273 TraceCheckUtils]: 180: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,864 INFO L273 TraceCheckUtils]: 181: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,864 INFO L273 TraceCheckUtils]: 182: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,864 INFO L273 TraceCheckUtils]: 183: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,864 INFO L273 TraceCheckUtils]: 184: Hoare triple {19366#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19366#true} is VALID [2018-11-23 12:17:36,864 INFO L273 TraceCheckUtils]: 185: Hoare triple {19366#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19366#true} is VALID [2018-11-23 12:17:36,865 INFO L273 TraceCheckUtils]: 186: Hoare triple {19366#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19366#true} is VALID [2018-11-23 12:17:36,865 INFO L273 TraceCheckUtils]: 187: Hoare triple {19366#true} assume !(~i~0 < 20); {19366#true} is VALID [2018-11-23 12:17:36,865 INFO L273 TraceCheckUtils]: 188: Hoare triple {19366#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {19366#true} is VALID [2018-11-23 12:17:36,865 INFO L273 TraceCheckUtils]: 189: Hoare triple {19366#true} assume true; {19366#true} is VALID [2018-11-23 12:17:36,865 INFO L268 TraceCheckUtils]: 190: Hoare quadruple {19366#true} {19367#false} #79#return; {19367#false} is VALID [2018-11-23 12:17:36,865 INFO L273 TraceCheckUtils]: 191: Hoare triple {19367#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {19367#false} is VALID [2018-11-23 12:17:36,865 INFO L273 TraceCheckUtils]: 192: Hoare triple {19367#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {19367#false} is VALID [2018-11-23 12:17:36,865 INFO L273 TraceCheckUtils]: 193: Hoare triple {19367#false} assume !false; {19367#false} is VALID [2018-11-23 12:17:36,880 INFO L134 CoverageAnalysis]: Checked inductivity of 2462 backedges. 0 proven. 1130 refuted. 0 times theorem prover too weak. 1332 trivial. 0 not checked. [2018-11-23 12:17:36,881 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:36,881 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:36,893 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:17:36,992 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:17:36,993 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:37,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:37,046 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:37,240 INFO L256 TraceCheckUtils]: 0: Hoare triple {19366#true} call ULTIMATE.init(); {19366#true} is VALID [2018-11-23 12:17:37,241 INFO L273 TraceCheckUtils]: 1: Hoare triple {19366#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {19366#true} is VALID [2018-11-23 12:17:37,241 INFO L273 TraceCheckUtils]: 2: Hoare triple {19366#true} assume true; {19366#true} is VALID [2018-11-23 12:17:37,241 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {19366#true} {19366#true} #71#return; {19366#true} is VALID [2018-11-23 12:17:37,241 INFO L256 TraceCheckUtils]: 4: Hoare triple {19366#true} call #t~ret14 := main(); {19366#true} is VALID [2018-11-23 12:17:37,241 INFO L273 TraceCheckUtils]: 5: Hoare triple {19366#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {19366#true} is VALID [2018-11-23 12:17:37,242 INFO L273 TraceCheckUtils]: 6: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,242 INFO L273 TraceCheckUtils]: 7: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,242 INFO L273 TraceCheckUtils]: 8: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,242 INFO L273 TraceCheckUtils]: 9: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,242 INFO L273 TraceCheckUtils]: 10: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,243 INFO L273 TraceCheckUtils]: 11: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,243 INFO L273 TraceCheckUtils]: 12: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,243 INFO L273 TraceCheckUtils]: 13: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,243 INFO L273 TraceCheckUtils]: 14: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,243 INFO L273 TraceCheckUtils]: 15: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,243 INFO L273 TraceCheckUtils]: 16: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,243 INFO L273 TraceCheckUtils]: 17: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,243 INFO L273 TraceCheckUtils]: 18: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,243 INFO L273 TraceCheckUtils]: 19: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,244 INFO L273 TraceCheckUtils]: 20: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,244 INFO L273 TraceCheckUtils]: 21: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,244 INFO L273 TraceCheckUtils]: 22: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,244 INFO L273 TraceCheckUtils]: 23: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,244 INFO L273 TraceCheckUtils]: 24: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,244 INFO L273 TraceCheckUtils]: 25: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,244 INFO L273 TraceCheckUtils]: 26: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,244 INFO L273 TraceCheckUtils]: 27: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,244 INFO L273 TraceCheckUtils]: 28: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,245 INFO L273 TraceCheckUtils]: 29: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,245 INFO L273 TraceCheckUtils]: 30: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,245 INFO L273 TraceCheckUtils]: 31: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,245 INFO L273 TraceCheckUtils]: 32: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,245 INFO L273 TraceCheckUtils]: 33: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,245 INFO L273 TraceCheckUtils]: 34: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,245 INFO L273 TraceCheckUtils]: 35: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,245 INFO L273 TraceCheckUtils]: 36: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,245 INFO L273 TraceCheckUtils]: 37: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,245 INFO L273 TraceCheckUtils]: 38: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,246 INFO L273 TraceCheckUtils]: 39: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,246 INFO L273 TraceCheckUtils]: 40: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,246 INFO L273 TraceCheckUtils]: 41: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,246 INFO L273 TraceCheckUtils]: 42: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,246 INFO L273 TraceCheckUtils]: 43: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,246 INFO L273 TraceCheckUtils]: 44: Hoare triple {19366#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19366#true} is VALID [2018-11-23 12:17:37,246 INFO L273 TraceCheckUtils]: 45: Hoare triple {19366#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19366#true} is VALID [2018-11-23 12:17:37,246 INFO L273 TraceCheckUtils]: 46: Hoare triple {19366#true} assume !(~i~1 < 20); {19366#true} is VALID [2018-11-23 12:17:37,246 INFO L256 TraceCheckUtils]: 47: Hoare triple {19366#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {19366#true} is VALID [2018-11-23 12:17:37,247 INFO L273 TraceCheckUtils]: 48: Hoare triple {19366#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {19528#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:37,247 INFO L273 TraceCheckUtils]: 49: Hoare triple {19528#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19528#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:37,247 INFO L273 TraceCheckUtils]: 50: Hoare triple {19528#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19528#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:37,248 INFO L273 TraceCheckUtils]: 51: Hoare triple {19528#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19369#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:37,248 INFO L273 TraceCheckUtils]: 52: Hoare triple {19369#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19369#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:37,249 INFO L273 TraceCheckUtils]: 53: Hoare triple {19369#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19369#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:37,249 INFO L273 TraceCheckUtils]: 54: Hoare triple {19369#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19370#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:37,249 INFO L273 TraceCheckUtils]: 55: Hoare triple {19370#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19370#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:37,250 INFO L273 TraceCheckUtils]: 56: Hoare triple {19370#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19370#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:37,250 INFO L273 TraceCheckUtils]: 57: Hoare triple {19370#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19371#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:37,251 INFO L273 TraceCheckUtils]: 58: Hoare triple {19371#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19371#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:37,251 INFO L273 TraceCheckUtils]: 59: Hoare triple {19371#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19371#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:37,252 INFO L273 TraceCheckUtils]: 60: Hoare triple {19371#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19372#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:37,252 INFO L273 TraceCheckUtils]: 61: Hoare triple {19372#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19372#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:37,253 INFO L273 TraceCheckUtils]: 62: Hoare triple {19372#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19372#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:37,253 INFO L273 TraceCheckUtils]: 63: Hoare triple {19372#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19373#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:37,254 INFO L273 TraceCheckUtils]: 64: Hoare triple {19373#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19373#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:37,254 INFO L273 TraceCheckUtils]: 65: Hoare triple {19373#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19373#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:37,255 INFO L273 TraceCheckUtils]: 66: Hoare triple {19373#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19374#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:37,255 INFO L273 TraceCheckUtils]: 67: Hoare triple {19374#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19374#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:37,256 INFO L273 TraceCheckUtils]: 68: Hoare triple {19374#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19374#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:37,257 INFO L273 TraceCheckUtils]: 69: Hoare triple {19374#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19375#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:37,257 INFO L273 TraceCheckUtils]: 70: Hoare triple {19375#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19375#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:37,258 INFO L273 TraceCheckUtils]: 71: Hoare triple {19375#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19375#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:37,258 INFO L273 TraceCheckUtils]: 72: Hoare triple {19375#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19376#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:37,259 INFO L273 TraceCheckUtils]: 73: Hoare triple {19376#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19376#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:37,259 INFO L273 TraceCheckUtils]: 74: Hoare triple {19376#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19376#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:37,260 INFO L273 TraceCheckUtils]: 75: Hoare triple {19376#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19377#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:37,260 INFO L273 TraceCheckUtils]: 76: Hoare triple {19377#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19377#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:37,261 INFO L273 TraceCheckUtils]: 77: Hoare triple {19377#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19377#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:37,261 INFO L273 TraceCheckUtils]: 78: Hoare triple {19377#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19378#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:37,262 INFO L273 TraceCheckUtils]: 79: Hoare triple {19378#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19378#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:37,262 INFO L273 TraceCheckUtils]: 80: Hoare triple {19378#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19378#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:37,263 INFO L273 TraceCheckUtils]: 81: Hoare triple {19378#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:37,263 INFO L273 TraceCheckUtils]: 82: Hoare triple {19379#(<= sep_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:37,264 INFO L273 TraceCheckUtils]: 83: Hoare triple {19379#(<= sep_~i~0 11)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19379#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:37,265 INFO L273 TraceCheckUtils]: 84: Hoare triple {19379#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:37,265 INFO L273 TraceCheckUtils]: 85: Hoare triple {19380#(<= sep_~i~0 12)} assume !(~i~0 < 20); {19367#false} is VALID [2018-11-23 12:17:37,265 INFO L273 TraceCheckUtils]: 86: Hoare triple {19367#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {19367#false} is VALID [2018-11-23 12:17:37,266 INFO L273 TraceCheckUtils]: 87: Hoare triple {19367#false} assume true; {19367#false} is VALID [2018-11-23 12:17:37,266 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {19367#false} {19366#true} #75#return; {19367#false} is VALID [2018-11-23 12:17:37,266 INFO L273 TraceCheckUtils]: 89: Hoare triple {19367#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {19367#false} is VALID [2018-11-23 12:17:37,266 INFO L256 TraceCheckUtils]: 90: Hoare triple {19367#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {19367#false} is VALID [2018-11-23 12:17:37,266 INFO L273 TraceCheckUtils]: 91: Hoare triple {19367#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {19367#false} is VALID [2018-11-23 12:17:37,267 INFO L273 TraceCheckUtils]: 92: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,267 INFO L273 TraceCheckUtils]: 93: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,267 INFO L273 TraceCheckUtils]: 94: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,267 INFO L273 TraceCheckUtils]: 95: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,267 INFO L273 TraceCheckUtils]: 96: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,267 INFO L273 TraceCheckUtils]: 97: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,268 INFO L273 TraceCheckUtils]: 98: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,268 INFO L273 TraceCheckUtils]: 99: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,268 INFO L273 TraceCheckUtils]: 100: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,268 INFO L273 TraceCheckUtils]: 101: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,268 INFO L273 TraceCheckUtils]: 102: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,268 INFO L273 TraceCheckUtils]: 103: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,268 INFO L273 TraceCheckUtils]: 104: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,268 INFO L273 TraceCheckUtils]: 105: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,268 INFO L273 TraceCheckUtils]: 106: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,269 INFO L273 TraceCheckUtils]: 107: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,269 INFO L273 TraceCheckUtils]: 108: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,269 INFO L273 TraceCheckUtils]: 109: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,269 INFO L273 TraceCheckUtils]: 110: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,269 INFO L273 TraceCheckUtils]: 111: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,269 INFO L273 TraceCheckUtils]: 112: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,269 INFO L273 TraceCheckUtils]: 113: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,269 INFO L273 TraceCheckUtils]: 114: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,269 INFO L273 TraceCheckUtils]: 115: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,270 INFO L273 TraceCheckUtils]: 116: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,270 INFO L273 TraceCheckUtils]: 117: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,270 INFO L273 TraceCheckUtils]: 118: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,270 INFO L273 TraceCheckUtils]: 119: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,270 INFO L273 TraceCheckUtils]: 120: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,270 INFO L273 TraceCheckUtils]: 121: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,270 INFO L273 TraceCheckUtils]: 122: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,270 INFO L273 TraceCheckUtils]: 123: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,270 INFO L273 TraceCheckUtils]: 124: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,270 INFO L273 TraceCheckUtils]: 125: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,271 INFO L273 TraceCheckUtils]: 126: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,271 INFO L273 TraceCheckUtils]: 127: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,271 INFO L273 TraceCheckUtils]: 128: Hoare triple {19367#false} assume !(~i~0 < 20); {19367#false} is VALID [2018-11-23 12:17:37,271 INFO L273 TraceCheckUtils]: 129: Hoare triple {19367#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {19367#false} is VALID [2018-11-23 12:17:37,271 INFO L273 TraceCheckUtils]: 130: Hoare triple {19367#false} assume true; {19367#false} is VALID [2018-11-23 12:17:37,271 INFO L268 TraceCheckUtils]: 131: Hoare quadruple {19367#false} {19367#false} #77#return; {19367#false} is VALID [2018-11-23 12:17:37,271 INFO L273 TraceCheckUtils]: 132: Hoare triple {19367#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {19367#false} is VALID [2018-11-23 12:17:37,271 INFO L273 TraceCheckUtils]: 133: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:37,271 INFO L273 TraceCheckUtils]: 134: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:37,272 INFO L273 TraceCheckUtils]: 135: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:37,272 INFO L273 TraceCheckUtils]: 136: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:37,272 INFO L273 TraceCheckUtils]: 137: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:37,272 INFO L273 TraceCheckUtils]: 138: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:37,272 INFO L273 TraceCheckUtils]: 139: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:37,272 INFO L273 TraceCheckUtils]: 140: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:37,272 INFO L273 TraceCheckUtils]: 141: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:37,272 INFO L273 TraceCheckUtils]: 142: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:37,272 INFO L273 TraceCheckUtils]: 143: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:37,273 INFO L273 TraceCheckUtils]: 144: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:37,273 INFO L273 TraceCheckUtils]: 145: Hoare triple {19367#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19367#false} is VALID [2018-11-23 12:17:37,273 INFO L273 TraceCheckUtils]: 146: Hoare triple {19367#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19367#false} is VALID [2018-11-23 12:17:37,273 INFO L273 TraceCheckUtils]: 147: Hoare triple {19367#false} assume !(~i~2 < 19); {19367#false} is VALID [2018-11-23 12:17:37,273 INFO L273 TraceCheckUtils]: 148: Hoare triple {19367#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {19367#false} is VALID [2018-11-23 12:17:37,273 INFO L256 TraceCheckUtils]: 149: Hoare triple {19367#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {19367#false} is VALID [2018-11-23 12:17:37,273 INFO L273 TraceCheckUtils]: 150: Hoare triple {19367#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {19367#false} is VALID [2018-11-23 12:17:37,273 INFO L273 TraceCheckUtils]: 151: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,273 INFO L273 TraceCheckUtils]: 152: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,273 INFO L273 TraceCheckUtils]: 153: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,274 INFO L273 TraceCheckUtils]: 154: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,274 INFO L273 TraceCheckUtils]: 155: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,274 INFO L273 TraceCheckUtils]: 156: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,274 INFO L273 TraceCheckUtils]: 157: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,274 INFO L273 TraceCheckUtils]: 158: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,274 INFO L273 TraceCheckUtils]: 159: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,274 INFO L273 TraceCheckUtils]: 160: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,274 INFO L273 TraceCheckUtils]: 161: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,274 INFO L273 TraceCheckUtils]: 162: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,275 INFO L273 TraceCheckUtils]: 163: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,275 INFO L273 TraceCheckUtils]: 164: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,275 INFO L273 TraceCheckUtils]: 165: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,275 INFO L273 TraceCheckUtils]: 166: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,275 INFO L273 TraceCheckUtils]: 167: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,275 INFO L273 TraceCheckUtils]: 168: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,275 INFO L273 TraceCheckUtils]: 169: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,275 INFO L273 TraceCheckUtils]: 170: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,275 INFO L273 TraceCheckUtils]: 171: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,276 INFO L273 TraceCheckUtils]: 172: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,276 INFO L273 TraceCheckUtils]: 173: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,276 INFO L273 TraceCheckUtils]: 174: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,276 INFO L273 TraceCheckUtils]: 175: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,276 INFO L273 TraceCheckUtils]: 176: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,276 INFO L273 TraceCheckUtils]: 177: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,276 INFO L273 TraceCheckUtils]: 178: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,276 INFO L273 TraceCheckUtils]: 179: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,276 INFO L273 TraceCheckUtils]: 180: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,276 INFO L273 TraceCheckUtils]: 181: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,277 INFO L273 TraceCheckUtils]: 182: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,277 INFO L273 TraceCheckUtils]: 183: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,277 INFO L273 TraceCheckUtils]: 184: Hoare triple {19367#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19367#false} is VALID [2018-11-23 12:17:37,277 INFO L273 TraceCheckUtils]: 185: Hoare triple {19367#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19367#false} is VALID [2018-11-23 12:17:37,277 INFO L273 TraceCheckUtils]: 186: Hoare triple {19367#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19367#false} is VALID [2018-11-23 12:17:37,277 INFO L273 TraceCheckUtils]: 187: Hoare triple {19367#false} assume !(~i~0 < 20); {19367#false} is VALID [2018-11-23 12:17:37,277 INFO L273 TraceCheckUtils]: 188: Hoare triple {19367#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {19367#false} is VALID [2018-11-23 12:17:37,277 INFO L273 TraceCheckUtils]: 189: Hoare triple {19367#false} assume true; {19367#false} is VALID [2018-11-23 12:17:37,277 INFO L268 TraceCheckUtils]: 190: Hoare quadruple {19367#false} {19367#false} #79#return; {19367#false} is VALID [2018-11-23 12:17:37,278 INFO L273 TraceCheckUtils]: 191: Hoare triple {19367#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {19367#false} is VALID [2018-11-23 12:17:37,278 INFO L273 TraceCheckUtils]: 192: Hoare triple {19367#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {19367#false} is VALID [2018-11-23 12:17:37,278 INFO L273 TraceCheckUtils]: 193: Hoare triple {19367#false} assume !false; {19367#false} is VALID [2018-11-23 12:17:37,294 INFO L134 CoverageAnalysis]: Checked inductivity of 2462 backedges. 916 proven. 210 refuted. 0 times theorem prover too weak. 1336 trivial. 0 not checked. [2018-11-23 12:17:37,314 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:37,315 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 16 [2018-11-23 12:17:37,315 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 194 [2018-11-23 12:17:37,316 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:37,316 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:17:37,400 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:37,400 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:17:37,401 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:17:37,401 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:17:37,401 INFO L87 Difference]: Start difference. First operand 113 states and 129 transitions. Second operand 16 states. [2018-11-23 12:17:38,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:38,215 INFO L93 Difference]: Finished difference Result 183 states and 219 transitions. [2018-11-23 12:17:38,215 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 12:17:38,215 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 194 [2018-11-23 12:17:38,215 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:38,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:17:38,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2018-11-23 12:17:38,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:17:38,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2018-11-23 12:17:38,218 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 109 transitions. [2018-11-23 12:17:38,337 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:38,340 INFO L225 Difference]: With dead ends: 183 [2018-11-23 12:17:38,340 INFO L226 Difference]: Without dead ends: 118 [2018-11-23 12:17:38,341 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 208 GetRequests, 194 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:17:38,341 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2018-11-23 12:17:38,409 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 116. [2018-11-23 12:17:38,409 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:38,409 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand 116 states. [2018-11-23 12:17:38,409 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand 116 states. [2018-11-23 12:17:38,409 INFO L87 Difference]: Start difference. First operand 118 states. Second operand 116 states. [2018-11-23 12:17:38,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:38,411 INFO L93 Difference]: Finished difference Result 118 states and 136 transitions. [2018-11-23 12:17:38,411 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 136 transitions. [2018-11-23 12:17:38,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:38,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:38,412 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 118 states. [2018-11-23 12:17:38,412 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 118 states. [2018-11-23 12:17:38,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:38,413 INFO L93 Difference]: Finished difference Result 118 states and 136 transitions. [2018-11-23 12:17:38,413 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 136 transitions. [2018-11-23 12:17:38,414 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:38,414 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:38,414 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:38,414 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:38,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 116 states. [2018-11-23 12:17:38,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 133 transitions. [2018-11-23 12:17:38,416 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 133 transitions. Word has length 194 [2018-11-23 12:17:38,416 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:38,416 INFO L480 AbstractCegarLoop]: Abstraction has 116 states and 133 transitions. [2018-11-23 12:17:38,417 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:17:38,417 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 133 transitions. [2018-11-23 12:17:38,418 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 204 [2018-11-23 12:17:38,418 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:38,418 INFO L402 BasicCegarLoop]: trace histogram [39, 39, 39, 20, 20, 7, 7, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:38,418 INFO L423 AbstractCegarLoop]: === Iteration 31 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:38,418 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:38,419 INFO L82 PathProgramCache]: Analyzing trace with hash -1122009019, now seen corresponding path program 27 times [2018-11-23 12:17:38,419 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:38,419 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:38,420 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:38,420 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:38,420 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:38,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:38,842 INFO L256 TraceCheckUtils]: 0: Hoare triple {20624#true} call ULTIMATE.init(); {20624#true} is VALID [2018-11-23 12:17:38,842 INFO L273 TraceCheckUtils]: 1: Hoare triple {20624#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {20624#true} is VALID [2018-11-23 12:17:38,843 INFO L273 TraceCheckUtils]: 2: Hoare triple {20624#true} assume true; {20624#true} is VALID [2018-11-23 12:17:38,843 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {20624#true} {20624#true} #71#return; {20624#true} is VALID [2018-11-23 12:17:38,843 INFO L256 TraceCheckUtils]: 4: Hoare triple {20624#true} call #t~ret14 := main(); {20624#true} is VALID [2018-11-23 12:17:38,844 INFO L273 TraceCheckUtils]: 5: Hoare triple {20624#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {20624#true} is VALID [2018-11-23 12:17:38,844 INFO L273 TraceCheckUtils]: 6: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,844 INFO L273 TraceCheckUtils]: 7: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,844 INFO L273 TraceCheckUtils]: 8: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,845 INFO L273 TraceCheckUtils]: 9: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,845 INFO L273 TraceCheckUtils]: 10: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,845 INFO L273 TraceCheckUtils]: 11: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,845 INFO L273 TraceCheckUtils]: 12: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,846 INFO L273 TraceCheckUtils]: 13: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,846 INFO L273 TraceCheckUtils]: 14: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,846 INFO L273 TraceCheckUtils]: 15: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,846 INFO L273 TraceCheckUtils]: 16: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,846 INFO L273 TraceCheckUtils]: 17: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,846 INFO L273 TraceCheckUtils]: 18: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,847 INFO L273 TraceCheckUtils]: 19: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,847 INFO L273 TraceCheckUtils]: 20: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,847 INFO L273 TraceCheckUtils]: 21: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,847 INFO L273 TraceCheckUtils]: 22: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,847 INFO L273 TraceCheckUtils]: 23: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,847 INFO L273 TraceCheckUtils]: 24: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,847 INFO L273 TraceCheckUtils]: 25: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,848 INFO L273 TraceCheckUtils]: 26: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,848 INFO L273 TraceCheckUtils]: 27: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,848 INFO L273 TraceCheckUtils]: 28: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,848 INFO L273 TraceCheckUtils]: 29: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,848 INFO L273 TraceCheckUtils]: 30: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,848 INFO L273 TraceCheckUtils]: 31: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,848 INFO L273 TraceCheckUtils]: 32: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,848 INFO L273 TraceCheckUtils]: 33: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,848 INFO L273 TraceCheckUtils]: 34: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,848 INFO L273 TraceCheckUtils]: 35: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,849 INFO L273 TraceCheckUtils]: 36: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,849 INFO L273 TraceCheckUtils]: 37: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,849 INFO L273 TraceCheckUtils]: 38: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,849 INFO L273 TraceCheckUtils]: 39: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,849 INFO L273 TraceCheckUtils]: 40: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,849 INFO L273 TraceCheckUtils]: 41: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,849 INFO L273 TraceCheckUtils]: 42: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,849 INFO L273 TraceCheckUtils]: 43: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,849 INFO L273 TraceCheckUtils]: 44: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:38,850 INFO L273 TraceCheckUtils]: 45: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:38,850 INFO L273 TraceCheckUtils]: 46: Hoare triple {20624#true} assume !(~i~1 < 20); {20624#true} is VALID [2018-11-23 12:17:38,850 INFO L256 TraceCheckUtils]: 47: Hoare triple {20624#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {20624#true} is VALID [2018-11-23 12:17:38,850 INFO L273 TraceCheckUtils]: 48: Hoare triple {20624#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {20626#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:38,850 INFO L273 TraceCheckUtils]: 49: Hoare triple {20626#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20626#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:38,851 INFO L273 TraceCheckUtils]: 50: Hoare triple {20626#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20626#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:38,851 INFO L273 TraceCheckUtils]: 51: Hoare triple {20626#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20627#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:38,851 INFO L273 TraceCheckUtils]: 52: Hoare triple {20627#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20627#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:38,852 INFO L273 TraceCheckUtils]: 53: Hoare triple {20627#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20627#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:38,852 INFO L273 TraceCheckUtils]: 54: Hoare triple {20627#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20628#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:38,852 INFO L273 TraceCheckUtils]: 55: Hoare triple {20628#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20628#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:38,853 INFO L273 TraceCheckUtils]: 56: Hoare triple {20628#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20628#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:38,853 INFO L273 TraceCheckUtils]: 57: Hoare triple {20628#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20629#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:38,854 INFO L273 TraceCheckUtils]: 58: Hoare triple {20629#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20629#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:38,854 INFO L273 TraceCheckUtils]: 59: Hoare triple {20629#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20629#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:38,855 INFO L273 TraceCheckUtils]: 60: Hoare triple {20629#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20630#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:38,855 INFO L273 TraceCheckUtils]: 61: Hoare triple {20630#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20630#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:38,856 INFO L273 TraceCheckUtils]: 62: Hoare triple {20630#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20630#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:38,857 INFO L273 TraceCheckUtils]: 63: Hoare triple {20630#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20631#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:38,857 INFO L273 TraceCheckUtils]: 64: Hoare triple {20631#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20631#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:38,857 INFO L273 TraceCheckUtils]: 65: Hoare triple {20631#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20631#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:38,858 INFO L273 TraceCheckUtils]: 66: Hoare triple {20631#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20632#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:38,859 INFO L273 TraceCheckUtils]: 67: Hoare triple {20632#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20632#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:38,859 INFO L273 TraceCheckUtils]: 68: Hoare triple {20632#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20632#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:38,860 INFO L273 TraceCheckUtils]: 69: Hoare triple {20632#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20633#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:38,860 INFO L273 TraceCheckUtils]: 70: Hoare triple {20633#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20633#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:38,861 INFO L273 TraceCheckUtils]: 71: Hoare triple {20633#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20633#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:38,861 INFO L273 TraceCheckUtils]: 72: Hoare triple {20633#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20634#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:38,862 INFO L273 TraceCheckUtils]: 73: Hoare triple {20634#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20634#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:38,862 INFO L273 TraceCheckUtils]: 74: Hoare triple {20634#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20634#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:38,863 INFO L273 TraceCheckUtils]: 75: Hoare triple {20634#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20635#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:38,863 INFO L273 TraceCheckUtils]: 76: Hoare triple {20635#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20635#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:38,864 INFO L273 TraceCheckUtils]: 77: Hoare triple {20635#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20635#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:38,865 INFO L273 TraceCheckUtils]: 78: Hoare triple {20635#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20636#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:38,865 INFO L273 TraceCheckUtils]: 79: Hoare triple {20636#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20636#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:38,866 INFO L273 TraceCheckUtils]: 80: Hoare triple {20636#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20636#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:38,866 INFO L273 TraceCheckUtils]: 81: Hoare triple {20636#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20637#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:38,867 INFO L273 TraceCheckUtils]: 82: Hoare triple {20637#(<= sep_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20637#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:38,867 INFO L273 TraceCheckUtils]: 83: Hoare triple {20637#(<= sep_~i~0 11)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20637#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:38,868 INFO L273 TraceCheckUtils]: 84: Hoare triple {20637#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20638#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:38,869 INFO L273 TraceCheckUtils]: 85: Hoare triple {20638#(<= sep_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20638#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:38,869 INFO L273 TraceCheckUtils]: 86: Hoare triple {20638#(<= sep_~i~0 12)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20638#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:38,870 INFO L273 TraceCheckUtils]: 87: Hoare triple {20638#(<= sep_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20639#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:38,870 INFO L273 TraceCheckUtils]: 88: Hoare triple {20639#(<= sep_~i~0 13)} assume !(~i~0 < 20); {20625#false} is VALID [2018-11-23 12:17:38,871 INFO L273 TraceCheckUtils]: 89: Hoare triple {20625#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {20625#false} is VALID [2018-11-23 12:17:38,871 INFO L273 TraceCheckUtils]: 90: Hoare triple {20625#false} assume true; {20625#false} is VALID [2018-11-23 12:17:38,871 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {20625#false} {20624#true} #75#return; {20625#false} is VALID [2018-11-23 12:17:38,871 INFO L273 TraceCheckUtils]: 92: Hoare triple {20625#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {20625#false} is VALID [2018-11-23 12:17:38,871 INFO L256 TraceCheckUtils]: 93: Hoare triple {20625#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {20624#true} is VALID [2018-11-23 12:17:38,872 INFO L273 TraceCheckUtils]: 94: Hoare triple {20624#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {20624#true} is VALID [2018-11-23 12:17:38,872 INFO L273 TraceCheckUtils]: 95: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,872 INFO L273 TraceCheckUtils]: 96: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,872 INFO L273 TraceCheckUtils]: 97: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,872 INFO L273 TraceCheckUtils]: 98: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,872 INFO L273 TraceCheckUtils]: 99: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,873 INFO L273 TraceCheckUtils]: 100: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,873 INFO L273 TraceCheckUtils]: 101: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,873 INFO L273 TraceCheckUtils]: 102: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,873 INFO L273 TraceCheckUtils]: 103: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,873 INFO L273 TraceCheckUtils]: 104: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,874 INFO L273 TraceCheckUtils]: 105: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,874 INFO L273 TraceCheckUtils]: 106: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,874 INFO L273 TraceCheckUtils]: 107: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,874 INFO L273 TraceCheckUtils]: 108: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,874 INFO L273 TraceCheckUtils]: 109: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,874 INFO L273 TraceCheckUtils]: 110: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,874 INFO L273 TraceCheckUtils]: 111: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,874 INFO L273 TraceCheckUtils]: 112: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,874 INFO L273 TraceCheckUtils]: 113: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,875 INFO L273 TraceCheckUtils]: 114: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,875 INFO L273 TraceCheckUtils]: 115: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,875 INFO L273 TraceCheckUtils]: 116: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,875 INFO L273 TraceCheckUtils]: 117: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,875 INFO L273 TraceCheckUtils]: 118: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,875 INFO L273 TraceCheckUtils]: 119: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,875 INFO L273 TraceCheckUtils]: 120: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,875 INFO L273 TraceCheckUtils]: 121: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,875 INFO L273 TraceCheckUtils]: 122: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,876 INFO L273 TraceCheckUtils]: 123: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,876 INFO L273 TraceCheckUtils]: 124: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,876 INFO L273 TraceCheckUtils]: 125: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,876 INFO L273 TraceCheckUtils]: 126: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,876 INFO L273 TraceCheckUtils]: 127: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,876 INFO L273 TraceCheckUtils]: 128: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,876 INFO L273 TraceCheckUtils]: 129: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,876 INFO L273 TraceCheckUtils]: 130: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,876 INFO L273 TraceCheckUtils]: 131: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,876 INFO L273 TraceCheckUtils]: 132: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,877 INFO L273 TraceCheckUtils]: 133: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,877 INFO L273 TraceCheckUtils]: 134: Hoare triple {20624#true} assume !(~i~0 < 20); {20624#true} is VALID [2018-11-23 12:17:38,877 INFO L273 TraceCheckUtils]: 135: Hoare triple {20624#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {20624#true} is VALID [2018-11-23 12:17:38,877 INFO L273 TraceCheckUtils]: 136: Hoare triple {20624#true} assume true; {20624#true} is VALID [2018-11-23 12:17:38,877 INFO L268 TraceCheckUtils]: 137: Hoare quadruple {20624#true} {20625#false} #77#return; {20625#false} is VALID [2018-11-23 12:17:38,877 INFO L273 TraceCheckUtils]: 138: Hoare triple {20625#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {20625#false} is VALID [2018-11-23 12:17:38,877 INFO L273 TraceCheckUtils]: 139: Hoare triple {20625#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {20625#false} is VALID [2018-11-23 12:17:38,877 INFO L273 TraceCheckUtils]: 140: Hoare triple {20625#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {20625#false} is VALID [2018-11-23 12:17:38,877 INFO L273 TraceCheckUtils]: 141: Hoare triple {20625#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {20625#false} is VALID [2018-11-23 12:17:38,878 INFO L273 TraceCheckUtils]: 142: Hoare triple {20625#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {20625#false} is VALID [2018-11-23 12:17:38,878 INFO L273 TraceCheckUtils]: 143: Hoare triple {20625#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {20625#false} is VALID [2018-11-23 12:17:38,878 INFO L273 TraceCheckUtils]: 144: Hoare triple {20625#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {20625#false} is VALID [2018-11-23 12:17:38,878 INFO L273 TraceCheckUtils]: 145: Hoare triple {20625#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {20625#false} is VALID [2018-11-23 12:17:38,878 INFO L273 TraceCheckUtils]: 146: Hoare triple {20625#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {20625#false} is VALID [2018-11-23 12:17:38,878 INFO L273 TraceCheckUtils]: 147: Hoare triple {20625#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {20625#false} is VALID [2018-11-23 12:17:38,878 INFO L273 TraceCheckUtils]: 148: Hoare triple {20625#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {20625#false} is VALID [2018-11-23 12:17:38,878 INFO L273 TraceCheckUtils]: 149: Hoare triple {20625#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {20625#false} is VALID [2018-11-23 12:17:38,878 INFO L273 TraceCheckUtils]: 150: Hoare triple {20625#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {20625#false} is VALID [2018-11-23 12:17:38,878 INFO L273 TraceCheckUtils]: 151: Hoare triple {20625#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {20625#false} is VALID [2018-11-23 12:17:38,879 INFO L273 TraceCheckUtils]: 152: Hoare triple {20625#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {20625#false} is VALID [2018-11-23 12:17:38,879 INFO L273 TraceCheckUtils]: 153: Hoare triple {20625#false} assume !(~i~2 < 19); {20625#false} is VALID [2018-11-23 12:17:38,879 INFO L273 TraceCheckUtils]: 154: Hoare triple {20625#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {20625#false} is VALID [2018-11-23 12:17:38,879 INFO L256 TraceCheckUtils]: 155: Hoare triple {20625#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {20624#true} is VALID [2018-11-23 12:17:38,879 INFO L273 TraceCheckUtils]: 156: Hoare triple {20624#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {20624#true} is VALID [2018-11-23 12:17:38,879 INFO L273 TraceCheckUtils]: 157: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,879 INFO L273 TraceCheckUtils]: 158: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,879 INFO L273 TraceCheckUtils]: 159: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,879 INFO L273 TraceCheckUtils]: 160: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,880 INFO L273 TraceCheckUtils]: 161: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,880 INFO L273 TraceCheckUtils]: 162: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,880 INFO L273 TraceCheckUtils]: 163: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,880 INFO L273 TraceCheckUtils]: 164: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,880 INFO L273 TraceCheckUtils]: 165: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,880 INFO L273 TraceCheckUtils]: 166: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,880 INFO L273 TraceCheckUtils]: 167: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,880 INFO L273 TraceCheckUtils]: 168: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,880 INFO L273 TraceCheckUtils]: 169: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,880 INFO L273 TraceCheckUtils]: 170: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,881 INFO L273 TraceCheckUtils]: 171: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,881 INFO L273 TraceCheckUtils]: 172: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,881 INFO L273 TraceCheckUtils]: 173: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,881 INFO L273 TraceCheckUtils]: 174: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,881 INFO L273 TraceCheckUtils]: 175: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,881 INFO L273 TraceCheckUtils]: 176: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,881 INFO L273 TraceCheckUtils]: 177: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,881 INFO L273 TraceCheckUtils]: 178: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,881 INFO L273 TraceCheckUtils]: 179: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,881 INFO L273 TraceCheckUtils]: 180: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,882 INFO L273 TraceCheckUtils]: 181: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,882 INFO L273 TraceCheckUtils]: 182: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,882 INFO L273 TraceCheckUtils]: 183: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,882 INFO L273 TraceCheckUtils]: 184: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,882 INFO L273 TraceCheckUtils]: 185: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,882 INFO L273 TraceCheckUtils]: 186: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,882 INFO L273 TraceCheckUtils]: 187: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,882 INFO L273 TraceCheckUtils]: 188: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,882 INFO L273 TraceCheckUtils]: 189: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,883 INFO L273 TraceCheckUtils]: 190: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,883 INFO L273 TraceCheckUtils]: 191: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,883 INFO L273 TraceCheckUtils]: 192: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,883 INFO L273 TraceCheckUtils]: 193: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:38,883 INFO L273 TraceCheckUtils]: 194: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:38,883 INFO L273 TraceCheckUtils]: 195: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:38,883 INFO L273 TraceCheckUtils]: 196: Hoare triple {20624#true} assume !(~i~0 < 20); {20624#true} is VALID [2018-11-23 12:17:38,883 INFO L273 TraceCheckUtils]: 197: Hoare triple {20624#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {20624#true} is VALID [2018-11-23 12:17:38,883 INFO L273 TraceCheckUtils]: 198: Hoare triple {20624#true} assume true; {20624#true} is VALID [2018-11-23 12:17:38,883 INFO L268 TraceCheckUtils]: 199: Hoare quadruple {20624#true} {20625#false} #79#return; {20625#false} is VALID [2018-11-23 12:17:38,884 INFO L273 TraceCheckUtils]: 200: Hoare triple {20625#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {20625#false} is VALID [2018-11-23 12:17:38,884 INFO L273 TraceCheckUtils]: 201: Hoare triple {20625#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {20625#false} is VALID [2018-11-23 12:17:38,884 INFO L273 TraceCheckUtils]: 202: Hoare triple {20625#false} assume !false; {20625#false} is VALID [2018-11-23 12:17:38,901 INFO L134 CoverageAnalysis]: Checked inductivity of 2804 backedges. 0 proven. 1321 refuted. 0 times theorem prover too weak. 1483 trivial. 0 not checked. [2018-11-23 12:17:38,901 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:38,901 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:38,909 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:17:39,109 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2018-11-23 12:17:39,109 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:39,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:39,163 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:39,650 INFO L256 TraceCheckUtils]: 0: Hoare triple {20624#true} call ULTIMATE.init(); {20624#true} is VALID [2018-11-23 12:17:39,650 INFO L273 TraceCheckUtils]: 1: Hoare triple {20624#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {20624#true} is VALID [2018-11-23 12:17:39,650 INFO L273 TraceCheckUtils]: 2: Hoare triple {20624#true} assume true; {20624#true} is VALID [2018-11-23 12:17:39,650 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {20624#true} {20624#true} #71#return; {20624#true} is VALID [2018-11-23 12:17:39,651 INFO L256 TraceCheckUtils]: 4: Hoare triple {20624#true} call #t~ret14 := main(); {20624#true} is VALID [2018-11-23 12:17:39,651 INFO L273 TraceCheckUtils]: 5: Hoare triple {20624#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {20624#true} is VALID [2018-11-23 12:17:39,651 INFO L273 TraceCheckUtils]: 6: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,651 INFO L273 TraceCheckUtils]: 7: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,651 INFO L273 TraceCheckUtils]: 8: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,651 INFO L273 TraceCheckUtils]: 9: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,652 INFO L273 TraceCheckUtils]: 10: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,652 INFO L273 TraceCheckUtils]: 11: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,652 INFO L273 TraceCheckUtils]: 12: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,652 INFO L273 TraceCheckUtils]: 13: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,652 INFO L273 TraceCheckUtils]: 14: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,652 INFO L273 TraceCheckUtils]: 15: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,652 INFO L273 TraceCheckUtils]: 16: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,652 INFO L273 TraceCheckUtils]: 17: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,652 INFO L273 TraceCheckUtils]: 18: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,652 INFO L273 TraceCheckUtils]: 19: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,653 INFO L273 TraceCheckUtils]: 20: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,653 INFO L273 TraceCheckUtils]: 21: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,653 INFO L273 TraceCheckUtils]: 22: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,653 INFO L273 TraceCheckUtils]: 23: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,653 INFO L273 TraceCheckUtils]: 24: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,653 INFO L273 TraceCheckUtils]: 25: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,653 INFO L273 TraceCheckUtils]: 26: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,653 INFO L273 TraceCheckUtils]: 27: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,653 INFO L273 TraceCheckUtils]: 28: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,654 INFO L273 TraceCheckUtils]: 29: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,654 INFO L273 TraceCheckUtils]: 30: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,654 INFO L273 TraceCheckUtils]: 31: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,654 INFO L273 TraceCheckUtils]: 32: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,654 INFO L273 TraceCheckUtils]: 33: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,654 INFO L273 TraceCheckUtils]: 34: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,654 INFO L273 TraceCheckUtils]: 35: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,654 INFO L273 TraceCheckUtils]: 36: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,654 INFO L273 TraceCheckUtils]: 37: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,654 INFO L273 TraceCheckUtils]: 38: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,655 INFO L273 TraceCheckUtils]: 39: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,655 INFO L273 TraceCheckUtils]: 40: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,655 INFO L273 TraceCheckUtils]: 41: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,655 INFO L273 TraceCheckUtils]: 42: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,655 INFO L273 TraceCheckUtils]: 43: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,655 INFO L273 TraceCheckUtils]: 44: Hoare triple {20624#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20624#true} is VALID [2018-11-23 12:17:39,655 INFO L273 TraceCheckUtils]: 45: Hoare triple {20624#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20624#true} is VALID [2018-11-23 12:17:39,655 INFO L273 TraceCheckUtils]: 46: Hoare triple {20624#true} assume !(~i~1 < 20); {20624#true} is VALID [2018-11-23 12:17:39,655 INFO L256 TraceCheckUtils]: 47: Hoare triple {20624#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {20624#true} is VALID [2018-11-23 12:17:39,656 INFO L273 TraceCheckUtils]: 48: Hoare triple {20624#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {20624#true} is VALID [2018-11-23 12:17:39,656 INFO L273 TraceCheckUtils]: 49: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,656 INFO L273 TraceCheckUtils]: 50: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,656 INFO L273 TraceCheckUtils]: 51: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,656 INFO L273 TraceCheckUtils]: 52: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,656 INFO L273 TraceCheckUtils]: 53: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,656 INFO L273 TraceCheckUtils]: 54: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,656 INFO L273 TraceCheckUtils]: 55: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,656 INFO L273 TraceCheckUtils]: 56: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,656 INFO L273 TraceCheckUtils]: 57: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,657 INFO L273 TraceCheckUtils]: 58: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,657 INFO L273 TraceCheckUtils]: 59: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,657 INFO L273 TraceCheckUtils]: 60: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,657 INFO L273 TraceCheckUtils]: 61: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,657 INFO L273 TraceCheckUtils]: 62: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,657 INFO L273 TraceCheckUtils]: 63: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,657 INFO L273 TraceCheckUtils]: 64: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,657 INFO L273 TraceCheckUtils]: 65: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,657 INFO L273 TraceCheckUtils]: 66: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,657 INFO L273 TraceCheckUtils]: 67: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,658 INFO L273 TraceCheckUtils]: 68: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,658 INFO L273 TraceCheckUtils]: 69: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,658 INFO L273 TraceCheckUtils]: 70: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,658 INFO L273 TraceCheckUtils]: 71: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,658 INFO L273 TraceCheckUtils]: 72: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,658 INFO L273 TraceCheckUtils]: 73: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,658 INFO L273 TraceCheckUtils]: 74: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,658 INFO L273 TraceCheckUtils]: 75: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,658 INFO L273 TraceCheckUtils]: 76: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,659 INFO L273 TraceCheckUtils]: 77: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,659 INFO L273 TraceCheckUtils]: 78: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,659 INFO L273 TraceCheckUtils]: 79: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,659 INFO L273 TraceCheckUtils]: 80: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,659 INFO L273 TraceCheckUtils]: 81: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,659 INFO L273 TraceCheckUtils]: 82: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,659 INFO L273 TraceCheckUtils]: 83: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,659 INFO L273 TraceCheckUtils]: 84: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,659 INFO L273 TraceCheckUtils]: 85: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,660 INFO L273 TraceCheckUtils]: 86: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,660 INFO L273 TraceCheckUtils]: 87: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,660 INFO L273 TraceCheckUtils]: 88: Hoare triple {20624#true} assume !(~i~0 < 20); {20624#true} is VALID [2018-11-23 12:17:39,660 INFO L273 TraceCheckUtils]: 89: Hoare triple {20624#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {20624#true} is VALID [2018-11-23 12:17:39,660 INFO L273 TraceCheckUtils]: 90: Hoare triple {20624#true} assume true; {20624#true} is VALID [2018-11-23 12:17:39,660 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {20624#true} {20624#true} #75#return; {20624#true} is VALID [2018-11-23 12:17:39,660 INFO L273 TraceCheckUtils]: 92: Hoare triple {20624#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {20624#true} is VALID [2018-11-23 12:17:39,660 INFO L256 TraceCheckUtils]: 93: Hoare triple {20624#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {20624#true} is VALID [2018-11-23 12:17:39,660 INFO L273 TraceCheckUtils]: 94: Hoare triple {20624#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {20624#true} is VALID [2018-11-23 12:17:39,660 INFO L273 TraceCheckUtils]: 95: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,661 INFO L273 TraceCheckUtils]: 96: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,661 INFO L273 TraceCheckUtils]: 97: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,661 INFO L273 TraceCheckUtils]: 98: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,661 INFO L273 TraceCheckUtils]: 99: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,661 INFO L273 TraceCheckUtils]: 100: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,661 INFO L273 TraceCheckUtils]: 101: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,661 INFO L273 TraceCheckUtils]: 102: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,661 INFO L273 TraceCheckUtils]: 103: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,661 INFO L273 TraceCheckUtils]: 104: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,662 INFO L273 TraceCheckUtils]: 105: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,662 INFO L273 TraceCheckUtils]: 106: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,662 INFO L273 TraceCheckUtils]: 107: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,662 INFO L273 TraceCheckUtils]: 108: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,662 INFO L273 TraceCheckUtils]: 109: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,662 INFO L273 TraceCheckUtils]: 110: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,662 INFO L273 TraceCheckUtils]: 111: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,662 INFO L273 TraceCheckUtils]: 112: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,662 INFO L273 TraceCheckUtils]: 113: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,663 INFO L273 TraceCheckUtils]: 114: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,663 INFO L273 TraceCheckUtils]: 115: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,663 INFO L273 TraceCheckUtils]: 116: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,663 INFO L273 TraceCheckUtils]: 117: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,663 INFO L273 TraceCheckUtils]: 118: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,663 INFO L273 TraceCheckUtils]: 119: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,663 INFO L273 TraceCheckUtils]: 120: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,663 INFO L273 TraceCheckUtils]: 121: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,663 INFO L273 TraceCheckUtils]: 122: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,663 INFO L273 TraceCheckUtils]: 123: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,664 INFO L273 TraceCheckUtils]: 124: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,664 INFO L273 TraceCheckUtils]: 125: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,664 INFO L273 TraceCheckUtils]: 126: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,664 INFO L273 TraceCheckUtils]: 127: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,664 INFO L273 TraceCheckUtils]: 128: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,664 INFO L273 TraceCheckUtils]: 129: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,664 INFO L273 TraceCheckUtils]: 130: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,664 INFO L273 TraceCheckUtils]: 131: Hoare triple {20624#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20624#true} is VALID [2018-11-23 12:17:39,664 INFO L273 TraceCheckUtils]: 132: Hoare triple {20624#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20624#true} is VALID [2018-11-23 12:17:39,664 INFO L273 TraceCheckUtils]: 133: Hoare triple {20624#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20624#true} is VALID [2018-11-23 12:17:39,665 INFO L273 TraceCheckUtils]: 134: Hoare triple {20624#true} assume !(~i~0 < 20); {20624#true} is VALID [2018-11-23 12:17:39,665 INFO L273 TraceCheckUtils]: 135: Hoare triple {20624#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {20624#true} is VALID [2018-11-23 12:17:39,665 INFO L273 TraceCheckUtils]: 136: Hoare triple {20624#true} assume true; {20624#true} is VALID [2018-11-23 12:17:39,665 INFO L268 TraceCheckUtils]: 137: Hoare quadruple {20624#true} {20624#true} #77#return; {20624#true} is VALID [2018-11-23 12:17:39,666 INFO L273 TraceCheckUtils]: 138: Hoare triple {20624#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {21057#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:39,666 INFO L273 TraceCheckUtils]: 139: Hoare triple {21057#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21057#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:39,666 INFO L273 TraceCheckUtils]: 140: Hoare triple {21057#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21064#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:39,667 INFO L273 TraceCheckUtils]: 141: Hoare triple {21064#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21064#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:39,667 INFO L273 TraceCheckUtils]: 142: Hoare triple {21064#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21071#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:39,668 INFO L273 TraceCheckUtils]: 143: Hoare triple {21071#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21071#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:39,668 INFO L273 TraceCheckUtils]: 144: Hoare triple {21071#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21078#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:39,669 INFO L273 TraceCheckUtils]: 145: Hoare triple {21078#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21078#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:39,670 INFO L273 TraceCheckUtils]: 146: Hoare triple {21078#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21085#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:39,670 INFO L273 TraceCheckUtils]: 147: Hoare triple {21085#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21085#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:39,671 INFO L273 TraceCheckUtils]: 148: Hoare triple {21085#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21092#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:39,671 INFO L273 TraceCheckUtils]: 149: Hoare triple {21092#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21092#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:39,672 INFO L273 TraceCheckUtils]: 150: Hoare triple {21092#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21099#(<= main_~i~2 6)} is VALID [2018-11-23 12:17:39,673 INFO L273 TraceCheckUtils]: 151: Hoare triple {21099#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21099#(<= main_~i~2 6)} is VALID [2018-11-23 12:17:39,673 INFO L273 TraceCheckUtils]: 152: Hoare triple {21099#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21106#(<= main_~i~2 7)} is VALID [2018-11-23 12:17:39,674 INFO L273 TraceCheckUtils]: 153: Hoare triple {21106#(<= main_~i~2 7)} assume !(~i~2 < 19); {20625#false} is VALID [2018-11-23 12:17:39,674 INFO L273 TraceCheckUtils]: 154: Hoare triple {20625#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {20625#false} is VALID [2018-11-23 12:17:39,674 INFO L256 TraceCheckUtils]: 155: Hoare triple {20625#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {20625#false} is VALID [2018-11-23 12:17:39,675 INFO L273 TraceCheckUtils]: 156: Hoare triple {20625#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {20625#false} is VALID [2018-11-23 12:17:39,675 INFO L273 TraceCheckUtils]: 157: Hoare triple {20625#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20625#false} is VALID [2018-11-23 12:17:39,675 INFO L273 TraceCheckUtils]: 158: Hoare triple {20625#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20625#false} is VALID [2018-11-23 12:17:39,675 INFO L273 TraceCheckUtils]: 159: Hoare triple {20625#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20625#false} is VALID [2018-11-23 12:17:39,675 INFO L273 TraceCheckUtils]: 160: Hoare triple {20625#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20625#false} is VALID [2018-11-23 12:17:39,676 INFO L273 TraceCheckUtils]: 161: Hoare triple {20625#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20625#false} is VALID [2018-11-23 12:17:39,676 INFO L273 TraceCheckUtils]: 162: Hoare triple {20625#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20625#false} is VALID [2018-11-23 12:17:39,676 INFO L273 TraceCheckUtils]: 163: Hoare triple {20625#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20625#false} is VALID [2018-11-23 12:17:39,676 INFO L273 TraceCheckUtils]: 164: Hoare triple {20625#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20625#false} is VALID [2018-11-23 12:17:39,676 INFO L273 TraceCheckUtils]: 165: Hoare triple {20625#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20625#false} is VALID [2018-11-23 12:17:39,676 INFO L273 TraceCheckUtils]: 166: Hoare triple {20625#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20625#false} is VALID [2018-11-23 12:17:39,677 INFO L273 TraceCheckUtils]: 167: Hoare triple {20625#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20625#false} is VALID [2018-11-23 12:17:39,677 INFO L273 TraceCheckUtils]: 168: Hoare triple {20625#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20625#false} is VALID [2018-11-23 12:17:39,677 INFO L273 TraceCheckUtils]: 169: Hoare triple {20625#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20625#false} is VALID [2018-11-23 12:17:39,677 INFO L273 TraceCheckUtils]: 170: Hoare triple {20625#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20625#false} is VALID [2018-11-23 12:17:39,677 INFO L273 TraceCheckUtils]: 171: Hoare triple {20625#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20625#false} is VALID [2018-11-23 12:17:39,677 INFO L273 TraceCheckUtils]: 172: Hoare triple {20625#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20625#false} is VALID [2018-11-23 12:17:39,678 INFO L273 TraceCheckUtils]: 173: Hoare triple {20625#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20625#false} is VALID [2018-11-23 12:17:39,678 INFO L273 TraceCheckUtils]: 174: Hoare triple {20625#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20625#false} is VALID [2018-11-23 12:17:39,678 INFO L273 TraceCheckUtils]: 175: Hoare triple {20625#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20625#false} is VALID [2018-11-23 12:17:39,678 INFO L273 TraceCheckUtils]: 176: Hoare triple {20625#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20625#false} is VALID [2018-11-23 12:17:39,678 INFO L273 TraceCheckUtils]: 177: Hoare triple {20625#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20625#false} is VALID [2018-11-23 12:17:39,678 INFO L273 TraceCheckUtils]: 178: Hoare triple {20625#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20625#false} is VALID [2018-11-23 12:17:39,679 INFO L273 TraceCheckUtils]: 179: Hoare triple {20625#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20625#false} is VALID [2018-11-23 12:17:39,679 INFO L273 TraceCheckUtils]: 180: Hoare triple {20625#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20625#false} is VALID [2018-11-23 12:17:39,679 INFO L273 TraceCheckUtils]: 181: Hoare triple {20625#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20625#false} is VALID [2018-11-23 12:17:39,679 INFO L273 TraceCheckUtils]: 182: Hoare triple {20625#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20625#false} is VALID [2018-11-23 12:17:39,679 INFO L273 TraceCheckUtils]: 183: Hoare triple {20625#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20625#false} is VALID [2018-11-23 12:17:39,679 INFO L273 TraceCheckUtils]: 184: Hoare triple {20625#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20625#false} is VALID [2018-11-23 12:17:39,679 INFO L273 TraceCheckUtils]: 185: Hoare triple {20625#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20625#false} is VALID [2018-11-23 12:17:39,679 INFO L273 TraceCheckUtils]: 186: Hoare triple {20625#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20625#false} is VALID [2018-11-23 12:17:39,679 INFO L273 TraceCheckUtils]: 187: Hoare triple {20625#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20625#false} is VALID [2018-11-23 12:17:39,679 INFO L273 TraceCheckUtils]: 188: Hoare triple {20625#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20625#false} is VALID [2018-11-23 12:17:39,680 INFO L273 TraceCheckUtils]: 189: Hoare triple {20625#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20625#false} is VALID [2018-11-23 12:17:39,680 INFO L273 TraceCheckUtils]: 190: Hoare triple {20625#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20625#false} is VALID [2018-11-23 12:17:39,680 INFO L273 TraceCheckUtils]: 191: Hoare triple {20625#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20625#false} is VALID [2018-11-23 12:17:39,680 INFO L273 TraceCheckUtils]: 192: Hoare triple {20625#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20625#false} is VALID [2018-11-23 12:17:39,680 INFO L273 TraceCheckUtils]: 193: Hoare triple {20625#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20625#false} is VALID [2018-11-23 12:17:39,680 INFO L273 TraceCheckUtils]: 194: Hoare triple {20625#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20625#false} is VALID [2018-11-23 12:17:39,680 INFO L273 TraceCheckUtils]: 195: Hoare triple {20625#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20625#false} is VALID [2018-11-23 12:17:39,680 INFO L273 TraceCheckUtils]: 196: Hoare triple {20625#false} assume !(~i~0 < 20); {20625#false} is VALID [2018-11-23 12:17:39,680 INFO L273 TraceCheckUtils]: 197: Hoare triple {20625#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {20625#false} is VALID [2018-11-23 12:17:39,681 INFO L273 TraceCheckUtils]: 198: Hoare triple {20625#false} assume true; {20625#false} is VALID [2018-11-23 12:17:39,681 INFO L268 TraceCheckUtils]: 199: Hoare quadruple {20625#false} {20625#false} #79#return; {20625#false} is VALID [2018-11-23 12:17:39,681 INFO L273 TraceCheckUtils]: 200: Hoare triple {20625#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {20625#false} is VALID [2018-11-23 12:17:39,681 INFO L273 TraceCheckUtils]: 201: Hoare triple {20625#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {20625#false} is VALID [2018-11-23 12:17:39,681 INFO L273 TraceCheckUtils]: 202: Hoare triple {20625#false} assume !false; {20625#false} is VALID [2018-11-23 12:17:39,696 INFO L134 CoverageAnalysis]: Checked inductivity of 2804 backedges. 1076 proven. 49 refuted. 0 times theorem prover too weak. 1679 trivial. 0 not checked. [2018-11-23 12:17:39,716 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:39,716 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 10] total 24 [2018-11-23 12:17:39,716 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 203 [2018-11-23 12:17:39,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:39,717 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 12:17:39,806 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:39,806 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 12:17:39,807 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 12:17:39,807 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=164, Invalid=388, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:17:39,807 INFO L87 Difference]: Start difference. First operand 116 states and 133 transitions. Second operand 24 states. [2018-11-23 12:17:40,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:40,464 INFO L93 Difference]: Finished difference Result 192 states and 231 transitions. [2018-11-23 12:17:40,464 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2018-11-23 12:17:40,464 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 203 [2018-11-23 12:17:40,464 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:40,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:17:40,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 130 transitions. [2018-11-23 12:17:40,466 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:17:40,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 130 transitions. [2018-11-23 12:17:40,466 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 130 transitions. [2018-11-23 12:17:40,594 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:40,597 INFO L225 Difference]: With dead ends: 192 [2018-11-23 12:17:40,597 INFO L226 Difference]: Without dead ends: 124 [2018-11-23 12:17:40,599 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 218 GetRequests, 196 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 104 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=164, Invalid=388, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:17:40,599 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2018-11-23 12:17:40,649 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 121. [2018-11-23 12:17:40,649 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:40,649 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand 121 states. [2018-11-23 12:17:40,649 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand 121 states. [2018-11-23 12:17:40,649 INFO L87 Difference]: Start difference. First operand 124 states. Second operand 121 states. [2018-11-23 12:17:40,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:40,651 INFO L93 Difference]: Finished difference Result 124 states and 143 transitions. [2018-11-23 12:17:40,652 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 143 transitions. [2018-11-23 12:17:40,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:40,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:40,652 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 124 states. [2018-11-23 12:17:40,652 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 124 states. [2018-11-23 12:17:40,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:40,654 INFO L93 Difference]: Finished difference Result 124 states and 143 transitions. [2018-11-23 12:17:40,655 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 143 transitions. [2018-11-23 12:17:40,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:40,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:40,655 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:40,655 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:40,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 121 states. [2018-11-23 12:17:40,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 139 transitions. [2018-11-23 12:17:40,657 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 139 transitions. Word has length 203 [2018-11-23 12:17:40,657 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:40,657 INFO L480 AbstractCegarLoop]: Abstraction has 121 states and 139 transitions. [2018-11-23 12:17:40,657 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 12:17:40,657 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 139 transitions. [2018-11-23 12:17:40,658 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 215 [2018-11-23 12:17:40,658 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:40,658 INFO L402 BasicCegarLoop]: trace histogram [42, 42, 42, 20, 20, 8, 8, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:40,659 INFO L423 AbstractCegarLoop]: === Iteration 32 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:40,659 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:40,659 INFO L82 PathProgramCache]: Analyzing trace with hash 1410049390, now seen corresponding path program 28 times [2018-11-23 12:17:40,659 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:40,659 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:40,660 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:40,660 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:40,660 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:40,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:41,038 INFO L256 TraceCheckUtils]: 0: Hoare triple {21948#true} call ULTIMATE.init(); {21948#true} is VALID [2018-11-23 12:17:41,039 INFO L273 TraceCheckUtils]: 1: Hoare triple {21948#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {21948#true} is VALID [2018-11-23 12:17:41,039 INFO L273 TraceCheckUtils]: 2: Hoare triple {21948#true} assume true; {21948#true} is VALID [2018-11-23 12:17:41,039 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {21948#true} {21948#true} #71#return; {21948#true} is VALID [2018-11-23 12:17:41,039 INFO L256 TraceCheckUtils]: 4: Hoare triple {21948#true} call #t~ret14 := main(); {21948#true} is VALID [2018-11-23 12:17:41,039 INFO L273 TraceCheckUtils]: 5: Hoare triple {21948#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {21948#true} is VALID [2018-11-23 12:17:41,040 INFO L273 TraceCheckUtils]: 6: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,040 INFO L273 TraceCheckUtils]: 7: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,040 INFO L273 TraceCheckUtils]: 8: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,040 INFO L273 TraceCheckUtils]: 9: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,040 INFO L273 TraceCheckUtils]: 10: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,040 INFO L273 TraceCheckUtils]: 11: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,041 INFO L273 TraceCheckUtils]: 12: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,041 INFO L273 TraceCheckUtils]: 13: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,041 INFO L273 TraceCheckUtils]: 14: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,041 INFO L273 TraceCheckUtils]: 15: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,041 INFO L273 TraceCheckUtils]: 16: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,041 INFO L273 TraceCheckUtils]: 17: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,041 INFO L273 TraceCheckUtils]: 18: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,041 INFO L273 TraceCheckUtils]: 19: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,042 INFO L273 TraceCheckUtils]: 20: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,042 INFO L273 TraceCheckUtils]: 21: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,042 INFO L273 TraceCheckUtils]: 22: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,042 INFO L273 TraceCheckUtils]: 23: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,042 INFO L273 TraceCheckUtils]: 24: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,042 INFO L273 TraceCheckUtils]: 25: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,042 INFO L273 TraceCheckUtils]: 26: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,042 INFO L273 TraceCheckUtils]: 27: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,042 INFO L273 TraceCheckUtils]: 28: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,042 INFO L273 TraceCheckUtils]: 29: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,043 INFO L273 TraceCheckUtils]: 30: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,043 INFO L273 TraceCheckUtils]: 31: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,043 INFO L273 TraceCheckUtils]: 32: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,043 INFO L273 TraceCheckUtils]: 33: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,043 INFO L273 TraceCheckUtils]: 34: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,043 INFO L273 TraceCheckUtils]: 35: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,043 INFO L273 TraceCheckUtils]: 36: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,043 INFO L273 TraceCheckUtils]: 37: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,043 INFO L273 TraceCheckUtils]: 38: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,044 INFO L273 TraceCheckUtils]: 39: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,044 INFO L273 TraceCheckUtils]: 40: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,044 INFO L273 TraceCheckUtils]: 41: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,044 INFO L273 TraceCheckUtils]: 42: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,044 INFO L273 TraceCheckUtils]: 43: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,044 INFO L273 TraceCheckUtils]: 44: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,044 INFO L273 TraceCheckUtils]: 45: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,044 INFO L273 TraceCheckUtils]: 46: Hoare triple {21948#true} assume !(~i~1 < 20); {21948#true} is VALID [2018-11-23 12:17:41,044 INFO L256 TraceCheckUtils]: 47: Hoare triple {21948#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {21948#true} is VALID [2018-11-23 12:17:41,045 INFO L273 TraceCheckUtils]: 48: Hoare triple {21948#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {21950#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:41,045 INFO L273 TraceCheckUtils]: 49: Hoare triple {21950#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21950#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:41,045 INFO L273 TraceCheckUtils]: 50: Hoare triple {21950#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21950#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:41,046 INFO L273 TraceCheckUtils]: 51: Hoare triple {21950#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21951#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:41,048 INFO L273 TraceCheckUtils]: 52: Hoare triple {21951#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21951#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:41,048 INFO L273 TraceCheckUtils]: 53: Hoare triple {21951#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21951#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:41,049 INFO L273 TraceCheckUtils]: 54: Hoare triple {21951#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21952#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:41,049 INFO L273 TraceCheckUtils]: 55: Hoare triple {21952#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21952#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:41,049 INFO L273 TraceCheckUtils]: 56: Hoare triple {21952#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21952#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:41,050 INFO L273 TraceCheckUtils]: 57: Hoare triple {21952#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21953#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:41,050 INFO L273 TraceCheckUtils]: 58: Hoare triple {21953#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21953#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:41,050 INFO L273 TraceCheckUtils]: 59: Hoare triple {21953#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21953#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:41,051 INFO L273 TraceCheckUtils]: 60: Hoare triple {21953#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21954#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:41,051 INFO L273 TraceCheckUtils]: 61: Hoare triple {21954#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21954#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:41,052 INFO L273 TraceCheckUtils]: 62: Hoare triple {21954#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21954#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:41,052 INFO L273 TraceCheckUtils]: 63: Hoare triple {21954#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21955#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:41,053 INFO L273 TraceCheckUtils]: 64: Hoare triple {21955#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21955#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:41,053 INFO L273 TraceCheckUtils]: 65: Hoare triple {21955#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21955#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:41,054 INFO L273 TraceCheckUtils]: 66: Hoare triple {21955#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21956#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:41,055 INFO L273 TraceCheckUtils]: 67: Hoare triple {21956#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21956#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:41,055 INFO L273 TraceCheckUtils]: 68: Hoare triple {21956#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21956#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:41,056 INFO L273 TraceCheckUtils]: 69: Hoare triple {21956#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21957#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:41,056 INFO L273 TraceCheckUtils]: 70: Hoare triple {21957#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21957#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:41,057 INFO L273 TraceCheckUtils]: 71: Hoare triple {21957#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21957#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:41,057 INFO L273 TraceCheckUtils]: 72: Hoare triple {21957#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21958#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:41,058 INFO L273 TraceCheckUtils]: 73: Hoare triple {21958#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21958#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:41,058 INFO L273 TraceCheckUtils]: 74: Hoare triple {21958#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21958#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:41,059 INFO L273 TraceCheckUtils]: 75: Hoare triple {21958#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21959#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:41,059 INFO L273 TraceCheckUtils]: 76: Hoare triple {21959#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21959#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:41,060 INFO L273 TraceCheckUtils]: 77: Hoare triple {21959#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21959#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:41,061 INFO L273 TraceCheckUtils]: 78: Hoare triple {21959#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21960#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:41,061 INFO L273 TraceCheckUtils]: 79: Hoare triple {21960#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21960#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:41,061 INFO L273 TraceCheckUtils]: 80: Hoare triple {21960#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21960#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:41,062 INFO L273 TraceCheckUtils]: 81: Hoare triple {21960#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21961#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:41,063 INFO L273 TraceCheckUtils]: 82: Hoare triple {21961#(<= sep_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21961#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:41,063 INFO L273 TraceCheckUtils]: 83: Hoare triple {21961#(<= sep_~i~0 11)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21961#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:41,064 INFO L273 TraceCheckUtils]: 84: Hoare triple {21961#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21962#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:41,064 INFO L273 TraceCheckUtils]: 85: Hoare triple {21962#(<= sep_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21962#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:41,065 INFO L273 TraceCheckUtils]: 86: Hoare triple {21962#(<= sep_~i~0 12)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21962#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:41,065 INFO L273 TraceCheckUtils]: 87: Hoare triple {21962#(<= sep_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21963#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:41,066 INFO L273 TraceCheckUtils]: 88: Hoare triple {21963#(<= sep_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21963#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:41,067 INFO L273 TraceCheckUtils]: 89: Hoare triple {21963#(<= sep_~i~0 13)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21963#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:41,067 INFO L273 TraceCheckUtils]: 90: Hoare triple {21963#(<= sep_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21964#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:41,068 INFO L273 TraceCheckUtils]: 91: Hoare triple {21964#(<= sep_~i~0 14)} assume !(~i~0 < 20); {21949#false} is VALID [2018-11-23 12:17:41,068 INFO L273 TraceCheckUtils]: 92: Hoare triple {21949#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {21949#false} is VALID [2018-11-23 12:17:41,068 INFO L273 TraceCheckUtils]: 93: Hoare triple {21949#false} assume true; {21949#false} is VALID [2018-11-23 12:17:41,068 INFO L268 TraceCheckUtils]: 94: Hoare quadruple {21949#false} {21948#true} #75#return; {21949#false} is VALID [2018-11-23 12:17:41,069 INFO L273 TraceCheckUtils]: 95: Hoare triple {21949#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {21949#false} is VALID [2018-11-23 12:17:41,069 INFO L256 TraceCheckUtils]: 96: Hoare triple {21949#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {21948#true} is VALID [2018-11-23 12:17:41,069 INFO L273 TraceCheckUtils]: 97: Hoare triple {21948#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {21948#true} is VALID [2018-11-23 12:17:41,069 INFO L273 TraceCheckUtils]: 98: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,069 INFO L273 TraceCheckUtils]: 99: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,070 INFO L273 TraceCheckUtils]: 100: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,070 INFO L273 TraceCheckUtils]: 101: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,070 INFO L273 TraceCheckUtils]: 102: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,070 INFO L273 TraceCheckUtils]: 103: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,070 INFO L273 TraceCheckUtils]: 104: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,070 INFO L273 TraceCheckUtils]: 105: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,071 INFO L273 TraceCheckUtils]: 106: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,071 INFO L273 TraceCheckUtils]: 107: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,071 INFO L273 TraceCheckUtils]: 108: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,071 INFO L273 TraceCheckUtils]: 109: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,071 INFO L273 TraceCheckUtils]: 110: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,071 INFO L273 TraceCheckUtils]: 111: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,072 INFO L273 TraceCheckUtils]: 112: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,072 INFO L273 TraceCheckUtils]: 113: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,072 INFO L273 TraceCheckUtils]: 114: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,072 INFO L273 TraceCheckUtils]: 115: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,072 INFO L273 TraceCheckUtils]: 116: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,073 INFO L273 TraceCheckUtils]: 117: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,073 INFO L273 TraceCheckUtils]: 118: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,073 INFO L273 TraceCheckUtils]: 119: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,073 INFO L273 TraceCheckUtils]: 120: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,073 INFO L273 TraceCheckUtils]: 121: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,074 INFO L273 TraceCheckUtils]: 122: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,074 INFO L273 TraceCheckUtils]: 123: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,074 INFO L273 TraceCheckUtils]: 124: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,074 INFO L273 TraceCheckUtils]: 125: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,074 INFO L273 TraceCheckUtils]: 126: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,074 INFO L273 TraceCheckUtils]: 127: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,074 INFO L273 TraceCheckUtils]: 128: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,075 INFO L273 TraceCheckUtils]: 129: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,075 INFO L273 TraceCheckUtils]: 130: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,075 INFO L273 TraceCheckUtils]: 131: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,075 INFO L273 TraceCheckUtils]: 132: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,075 INFO L273 TraceCheckUtils]: 133: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,075 INFO L273 TraceCheckUtils]: 134: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,076 INFO L273 TraceCheckUtils]: 135: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,076 INFO L273 TraceCheckUtils]: 136: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,076 INFO L273 TraceCheckUtils]: 137: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,076 INFO L273 TraceCheckUtils]: 138: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,076 INFO L273 TraceCheckUtils]: 139: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,076 INFO L273 TraceCheckUtils]: 140: Hoare triple {21948#true} assume !(~i~0 < 20); {21948#true} is VALID [2018-11-23 12:17:41,076 INFO L273 TraceCheckUtils]: 141: Hoare triple {21948#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {21948#true} is VALID [2018-11-23 12:17:41,077 INFO L273 TraceCheckUtils]: 142: Hoare triple {21948#true} assume true; {21948#true} is VALID [2018-11-23 12:17:41,077 INFO L268 TraceCheckUtils]: 143: Hoare quadruple {21948#true} {21949#false} #77#return; {21949#false} is VALID [2018-11-23 12:17:41,077 INFO L273 TraceCheckUtils]: 144: Hoare triple {21949#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {21949#false} is VALID [2018-11-23 12:17:41,077 INFO L273 TraceCheckUtils]: 145: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,077 INFO L273 TraceCheckUtils]: 146: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,077 INFO L273 TraceCheckUtils]: 147: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,077 INFO L273 TraceCheckUtils]: 148: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,078 INFO L273 TraceCheckUtils]: 149: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,078 INFO L273 TraceCheckUtils]: 150: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,078 INFO L273 TraceCheckUtils]: 151: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,078 INFO L273 TraceCheckUtils]: 152: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,078 INFO L273 TraceCheckUtils]: 153: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,078 INFO L273 TraceCheckUtils]: 154: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,079 INFO L273 TraceCheckUtils]: 155: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,079 INFO L273 TraceCheckUtils]: 156: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,079 INFO L273 TraceCheckUtils]: 157: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,079 INFO L273 TraceCheckUtils]: 158: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,079 INFO L273 TraceCheckUtils]: 159: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,079 INFO L273 TraceCheckUtils]: 160: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,079 INFO L273 TraceCheckUtils]: 161: Hoare triple {21949#false} assume !(~i~2 < 19); {21949#false} is VALID [2018-11-23 12:17:41,080 INFO L273 TraceCheckUtils]: 162: Hoare triple {21949#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {21949#false} is VALID [2018-11-23 12:17:41,080 INFO L256 TraceCheckUtils]: 163: Hoare triple {21949#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {21948#true} is VALID [2018-11-23 12:17:41,080 INFO L273 TraceCheckUtils]: 164: Hoare triple {21948#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {21948#true} is VALID [2018-11-23 12:17:41,080 INFO L273 TraceCheckUtils]: 165: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,080 INFO L273 TraceCheckUtils]: 166: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,080 INFO L273 TraceCheckUtils]: 167: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,080 INFO L273 TraceCheckUtils]: 168: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,081 INFO L273 TraceCheckUtils]: 169: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,081 INFO L273 TraceCheckUtils]: 170: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,081 INFO L273 TraceCheckUtils]: 171: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,081 INFO L273 TraceCheckUtils]: 172: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,081 INFO L273 TraceCheckUtils]: 173: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,081 INFO L273 TraceCheckUtils]: 174: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,081 INFO L273 TraceCheckUtils]: 175: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,082 INFO L273 TraceCheckUtils]: 176: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,082 INFO L273 TraceCheckUtils]: 177: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,082 INFO L273 TraceCheckUtils]: 178: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,082 INFO L273 TraceCheckUtils]: 179: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,082 INFO L273 TraceCheckUtils]: 180: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,082 INFO L273 TraceCheckUtils]: 181: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,082 INFO L273 TraceCheckUtils]: 182: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,083 INFO L273 TraceCheckUtils]: 183: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,083 INFO L273 TraceCheckUtils]: 184: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,083 INFO L273 TraceCheckUtils]: 185: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,083 INFO L273 TraceCheckUtils]: 186: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,083 INFO L273 TraceCheckUtils]: 187: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,083 INFO L273 TraceCheckUtils]: 188: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,083 INFO L273 TraceCheckUtils]: 189: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,083 INFO L273 TraceCheckUtils]: 190: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,083 INFO L273 TraceCheckUtils]: 191: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,084 INFO L273 TraceCheckUtils]: 192: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,084 INFO L273 TraceCheckUtils]: 193: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,084 INFO L273 TraceCheckUtils]: 194: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,084 INFO L273 TraceCheckUtils]: 195: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,084 INFO L273 TraceCheckUtils]: 196: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,084 INFO L273 TraceCheckUtils]: 197: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,084 INFO L273 TraceCheckUtils]: 198: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,084 INFO L273 TraceCheckUtils]: 199: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,084 INFO L273 TraceCheckUtils]: 200: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,084 INFO L273 TraceCheckUtils]: 201: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,085 INFO L273 TraceCheckUtils]: 202: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,085 INFO L273 TraceCheckUtils]: 203: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,085 INFO L273 TraceCheckUtils]: 204: Hoare triple {21948#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21948#true} is VALID [2018-11-23 12:17:41,085 INFO L273 TraceCheckUtils]: 205: Hoare triple {21948#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21948#true} is VALID [2018-11-23 12:17:41,085 INFO L273 TraceCheckUtils]: 206: Hoare triple {21948#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21948#true} is VALID [2018-11-23 12:17:41,085 INFO L273 TraceCheckUtils]: 207: Hoare triple {21948#true} assume !(~i~0 < 20); {21948#true} is VALID [2018-11-23 12:17:41,085 INFO L273 TraceCheckUtils]: 208: Hoare triple {21948#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {21948#true} is VALID [2018-11-23 12:17:41,085 INFO L273 TraceCheckUtils]: 209: Hoare triple {21948#true} assume true; {21948#true} is VALID [2018-11-23 12:17:41,085 INFO L268 TraceCheckUtils]: 210: Hoare quadruple {21948#true} {21949#false} #79#return; {21949#false} is VALID [2018-11-23 12:17:41,086 INFO L273 TraceCheckUtils]: 211: Hoare triple {21949#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {21949#false} is VALID [2018-11-23 12:17:41,086 INFO L273 TraceCheckUtils]: 212: Hoare triple {21949#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {21949#false} is VALID [2018-11-23 12:17:41,086 INFO L273 TraceCheckUtils]: 213: Hoare triple {21949#false} assume !false; {21949#false} is VALID [2018-11-23 12:17:41,104 INFO L134 CoverageAnalysis]: Checked inductivity of 3188 backedges. 0 proven. 1527 refuted. 0 times theorem prover too weak. 1661 trivial. 0 not checked. [2018-11-23 12:17:41,104 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:41,105 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:41,113 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:17:41,234 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:17:41,234 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:41,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:41,288 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:41,588 INFO L256 TraceCheckUtils]: 0: Hoare triple {21948#true} call ULTIMATE.init(); {21948#true} is VALID [2018-11-23 12:17:41,588 INFO L273 TraceCheckUtils]: 1: Hoare triple {21948#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {21948#true} is VALID [2018-11-23 12:17:41,588 INFO L273 TraceCheckUtils]: 2: Hoare triple {21948#true} assume true; {21948#true} is VALID [2018-11-23 12:17:41,588 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {21948#true} {21948#true} #71#return; {21948#true} is VALID [2018-11-23 12:17:41,588 INFO L256 TraceCheckUtils]: 4: Hoare triple {21948#true} call #t~ret14 := main(); {21948#true} is VALID [2018-11-23 12:17:41,589 INFO L273 TraceCheckUtils]: 5: Hoare triple {21948#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {21948#true} is VALID [2018-11-23 12:17:41,589 INFO L273 TraceCheckUtils]: 6: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,589 INFO L273 TraceCheckUtils]: 7: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,589 INFO L273 TraceCheckUtils]: 8: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,589 INFO L273 TraceCheckUtils]: 9: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,590 INFO L273 TraceCheckUtils]: 10: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,590 INFO L273 TraceCheckUtils]: 11: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,590 INFO L273 TraceCheckUtils]: 12: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,590 INFO L273 TraceCheckUtils]: 13: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,590 INFO L273 TraceCheckUtils]: 14: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,590 INFO L273 TraceCheckUtils]: 15: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,590 INFO L273 TraceCheckUtils]: 16: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,590 INFO L273 TraceCheckUtils]: 17: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,591 INFO L273 TraceCheckUtils]: 18: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,591 INFO L273 TraceCheckUtils]: 19: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,591 INFO L273 TraceCheckUtils]: 20: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,591 INFO L273 TraceCheckUtils]: 21: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,591 INFO L273 TraceCheckUtils]: 22: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,591 INFO L273 TraceCheckUtils]: 23: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,591 INFO L273 TraceCheckUtils]: 24: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,591 INFO L273 TraceCheckUtils]: 25: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,591 INFO L273 TraceCheckUtils]: 26: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,592 INFO L273 TraceCheckUtils]: 27: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,592 INFO L273 TraceCheckUtils]: 28: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,592 INFO L273 TraceCheckUtils]: 29: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,592 INFO L273 TraceCheckUtils]: 30: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,592 INFO L273 TraceCheckUtils]: 31: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,592 INFO L273 TraceCheckUtils]: 32: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,592 INFO L273 TraceCheckUtils]: 33: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,592 INFO L273 TraceCheckUtils]: 34: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,592 INFO L273 TraceCheckUtils]: 35: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,592 INFO L273 TraceCheckUtils]: 36: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,593 INFO L273 TraceCheckUtils]: 37: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,593 INFO L273 TraceCheckUtils]: 38: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,593 INFO L273 TraceCheckUtils]: 39: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,593 INFO L273 TraceCheckUtils]: 40: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,593 INFO L273 TraceCheckUtils]: 41: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,593 INFO L273 TraceCheckUtils]: 42: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,593 INFO L273 TraceCheckUtils]: 43: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,593 INFO L273 TraceCheckUtils]: 44: Hoare triple {21948#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21948#true} is VALID [2018-11-23 12:17:41,593 INFO L273 TraceCheckUtils]: 45: Hoare triple {21948#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21948#true} is VALID [2018-11-23 12:17:41,593 INFO L273 TraceCheckUtils]: 46: Hoare triple {21948#true} assume !(~i~1 < 20); {21948#true} is VALID [2018-11-23 12:17:41,594 INFO L256 TraceCheckUtils]: 47: Hoare triple {21948#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {21948#true} is VALID [2018-11-23 12:17:41,594 INFO L273 TraceCheckUtils]: 48: Hoare triple {21948#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {22112#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:41,594 INFO L273 TraceCheckUtils]: 49: Hoare triple {22112#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {22112#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:41,595 INFO L273 TraceCheckUtils]: 50: Hoare triple {22112#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {22112#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:41,595 INFO L273 TraceCheckUtils]: 51: Hoare triple {22112#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21951#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:41,595 INFO L273 TraceCheckUtils]: 52: Hoare triple {21951#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21951#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:41,596 INFO L273 TraceCheckUtils]: 53: Hoare triple {21951#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21951#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:41,596 INFO L273 TraceCheckUtils]: 54: Hoare triple {21951#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21952#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:41,596 INFO L273 TraceCheckUtils]: 55: Hoare triple {21952#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21952#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:41,597 INFO L273 TraceCheckUtils]: 56: Hoare triple {21952#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21952#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:41,597 INFO L273 TraceCheckUtils]: 57: Hoare triple {21952#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21953#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:41,598 INFO L273 TraceCheckUtils]: 58: Hoare triple {21953#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21953#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:41,598 INFO L273 TraceCheckUtils]: 59: Hoare triple {21953#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21953#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:41,599 INFO L273 TraceCheckUtils]: 60: Hoare triple {21953#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21954#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:41,600 INFO L273 TraceCheckUtils]: 61: Hoare triple {21954#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21954#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:41,600 INFO L273 TraceCheckUtils]: 62: Hoare triple {21954#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21954#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:41,601 INFO L273 TraceCheckUtils]: 63: Hoare triple {21954#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21955#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:41,601 INFO L273 TraceCheckUtils]: 64: Hoare triple {21955#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21955#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:41,602 INFO L273 TraceCheckUtils]: 65: Hoare triple {21955#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21955#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:41,603 INFO L273 TraceCheckUtils]: 66: Hoare triple {21955#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21956#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:41,603 INFO L273 TraceCheckUtils]: 67: Hoare triple {21956#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21956#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:41,604 INFO L273 TraceCheckUtils]: 68: Hoare triple {21956#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21956#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:41,604 INFO L273 TraceCheckUtils]: 69: Hoare triple {21956#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21957#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:41,605 INFO L273 TraceCheckUtils]: 70: Hoare triple {21957#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21957#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:41,605 INFO L273 TraceCheckUtils]: 71: Hoare triple {21957#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21957#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:41,606 INFO L273 TraceCheckUtils]: 72: Hoare triple {21957#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21958#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:41,607 INFO L273 TraceCheckUtils]: 73: Hoare triple {21958#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21958#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:41,607 INFO L273 TraceCheckUtils]: 74: Hoare triple {21958#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21958#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:41,608 INFO L273 TraceCheckUtils]: 75: Hoare triple {21958#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21959#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:41,608 INFO L273 TraceCheckUtils]: 76: Hoare triple {21959#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21959#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:41,609 INFO L273 TraceCheckUtils]: 77: Hoare triple {21959#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21959#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:41,609 INFO L273 TraceCheckUtils]: 78: Hoare triple {21959#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21960#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:41,610 INFO L273 TraceCheckUtils]: 79: Hoare triple {21960#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21960#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:41,610 INFO L273 TraceCheckUtils]: 80: Hoare triple {21960#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21960#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:41,611 INFO L273 TraceCheckUtils]: 81: Hoare triple {21960#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21961#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:41,612 INFO L273 TraceCheckUtils]: 82: Hoare triple {21961#(<= sep_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21961#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:41,612 INFO L273 TraceCheckUtils]: 83: Hoare triple {21961#(<= sep_~i~0 11)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21961#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:41,613 INFO L273 TraceCheckUtils]: 84: Hoare triple {21961#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21962#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:41,613 INFO L273 TraceCheckUtils]: 85: Hoare triple {21962#(<= sep_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21962#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:41,614 INFO L273 TraceCheckUtils]: 86: Hoare triple {21962#(<= sep_~i~0 12)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21962#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:41,615 INFO L273 TraceCheckUtils]: 87: Hoare triple {21962#(<= sep_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21963#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:41,615 INFO L273 TraceCheckUtils]: 88: Hoare triple {21963#(<= sep_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21963#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:41,616 INFO L273 TraceCheckUtils]: 89: Hoare triple {21963#(<= sep_~i~0 13)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21963#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:41,616 INFO L273 TraceCheckUtils]: 90: Hoare triple {21963#(<= sep_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21964#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:41,617 INFO L273 TraceCheckUtils]: 91: Hoare triple {21964#(<= sep_~i~0 14)} assume !(~i~0 < 20); {21949#false} is VALID [2018-11-23 12:17:41,617 INFO L273 TraceCheckUtils]: 92: Hoare triple {21949#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {21949#false} is VALID [2018-11-23 12:17:41,617 INFO L273 TraceCheckUtils]: 93: Hoare triple {21949#false} assume true; {21949#false} is VALID [2018-11-23 12:17:41,618 INFO L268 TraceCheckUtils]: 94: Hoare quadruple {21949#false} {21948#true} #75#return; {21949#false} is VALID [2018-11-23 12:17:41,618 INFO L273 TraceCheckUtils]: 95: Hoare triple {21949#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {21949#false} is VALID [2018-11-23 12:17:41,618 INFO L256 TraceCheckUtils]: 96: Hoare triple {21949#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {21949#false} is VALID [2018-11-23 12:17:41,618 INFO L273 TraceCheckUtils]: 97: Hoare triple {21949#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {21949#false} is VALID [2018-11-23 12:17:41,618 INFO L273 TraceCheckUtils]: 98: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,619 INFO L273 TraceCheckUtils]: 99: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,619 INFO L273 TraceCheckUtils]: 100: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,619 INFO L273 TraceCheckUtils]: 101: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,619 INFO L273 TraceCheckUtils]: 102: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,619 INFO L273 TraceCheckUtils]: 103: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,619 INFO L273 TraceCheckUtils]: 104: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,619 INFO L273 TraceCheckUtils]: 105: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,619 INFO L273 TraceCheckUtils]: 106: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,620 INFO L273 TraceCheckUtils]: 107: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,620 INFO L273 TraceCheckUtils]: 108: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,620 INFO L273 TraceCheckUtils]: 109: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,620 INFO L273 TraceCheckUtils]: 110: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,620 INFO L273 TraceCheckUtils]: 111: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,620 INFO L273 TraceCheckUtils]: 112: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,620 INFO L273 TraceCheckUtils]: 113: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,620 INFO L273 TraceCheckUtils]: 114: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,620 INFO L273 TraceCheckUtils]: 115: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,620 INFO L273 TraceCheckUtils]: 116: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,621 INFO L273 TraceCheckUtils]: 117: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,621 INFO L273 TraceCheckUtils]: 118: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,621 INFO L273 TraceCheckUtils]: 119: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,621 INFO L273 TraceCheckUtils]: 120: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,621 INFO L273 TraceCheckUtils]: 121: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,621 INFO L273 TraceCheckUtils]: 122: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,621 INFO L273 TraceCheckUtils]: 123: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,621 INFO L273 TraceCheckUtils]: 124: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,621 INFO L273 TraceCheckUtils]: 125: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,622 INFO L273 TraceCheckUtils]: 126: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,622 INFO L273 TraceCheckUtils]: 127: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,622 INFO L273 TraceCheckUtils]: 128: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,622 INFO L273 TraceCheckUtils]: 129: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,622 INFO L273 TraceCheckUtils]: 130: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,622 INFO L273 TraceCheckUtils]: 131: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,622 INFO L273 TraceCheckUtils]: 132: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,622 INFO L273 TraceCheckUtils]: 133: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,622 INFO L273 TraceCheckUtils]: 134: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,622 INFO L273 TraceCheckUtils]: 135: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,623 INFO L273 TraceCheckUtils]: 136: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,623 INFO L273 TraceCheckUtils]: 137: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,623 INFO L273 TraceCheckUtils]: 138: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,623 INFO L273 TraceCheckUtils]: 139: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,623 INFO L273 TraceCheckUtils]: 140: Hoare triple {21949#false} assume !(~i~0 < 20); {21949#false} is VALID [2018-11-23 12:17:41,623 INFO L273 TraceCheckUtils]: 141: Hoare triple {21949#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {21949#false} is VALID [2018-11-23 12:17:41,623 INFO L273 TraceCheckUtils]: 142: Hoare triple {21949#false} assume true; {21949#false} is VALID [2018-11-23 12:17:41,623 INFO L268 TraceCheckUtils]: 143: Hoare quadruple {21949#false} {21949#false} #77#return; {21949#false} is VALID [2018-11-23 12:17:41,623 INFO L273 TraceCheckUtils]: 144: Hoare triple {21949#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {21949#false} is VALID [2018-11-23 12:17:41,624 INFO L273 TraceCheckUtils]: 145: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,624 INFO L273 TraceCheckUtils]: 146: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,624 INFO L273 TraceCheckUtils]: 147: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,624 INFO L273 TraceCheckUtils]: 148: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,624 INFO L273 TraceCheckUtils]: 149: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,624 INFO L273 TraceCheckUtils]: 150: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,624 INFO L273 TraceCheckUtils]: 151: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,624 INFO L273 TraceCheckUtils]: 152: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,624 INFO L273 TraceCheckUtils]: 153: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,624 INFO L273 TraceCheckUtils]: 154: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,625 INFO L273 TraceCheckUtils]: 155: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,625 INFO L273 TraceCheckUtils]: 156: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,625 INFO L273 TraceCheckUtils]: 157: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,625 INFO L273 TraceCheckUtils]: 158: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,625 INFO L273 TraceCheckUtils]: 159: Hoare triple {21949#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21949#false} is VALID [2018-11-23 12:17:41,625 INFO L273 TraceCheckUtils]: 160: Hoare triple {21949#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21949#false} is VALID [2018-11-23 12:17:41,625 INFO L273 TraceCheckUtils]: 161: Hoare triple {21949#false} assume !(~i~2 < 19); {21949#false} is VALID [2018-11-23 12:17:41,626 INFO L273 TraceCheckUtils]: 162: Hoare triple {21949#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {21949#false} is VALID [2018-11-23 12:17:41,626 INFO L256 TraceCheckUtils]: 163: Hoare triple {21949#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {21949#false} is VALID [2018-11-23 12:17:41,626 INFO L273 TraceCheckUtils]: 164: Hoare triple {21949#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {21949#false} is VALID [2018-11-23 12:17:41,626 INFO L273 TraceCheckUtils]: 165: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,626 INFO L273 TraceCheckUtils]: 166: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,626 INFO L273 TraceCheckUtils]: 167: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,627 INFO L273 TraceCheckUtils]: 168: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,627 INFO L273 TraceCheckUtils]: 169: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,627 INFO L273 TraceCheckUtils]: 170: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,627 INFO L273 TraceCheckUtils]: 171: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,627 INFO L273 TraceCheckUtils]: 172: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,627 INFO L273 TraceCheckUtils]: 173: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,628 INFO L273 TraceCheckUtils]: 174: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,628 INFO L273 TraceCheckUtils]: 175: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,628 INFO L273 TraceCheckUtils]: 176: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,628 INFO L273 TraceCheckUtils]: 177: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,628 INFO L273 TraceCheckUtils]: 178: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,628 INFO L273 TraceCheckUtils]: 179: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,628 INFO L273 TraceCheckUtils]: 180: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,629 INFO L273 TraceCheckUtils]: 181: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,629 INFO L273 TraceCheckUtils]: 182: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,629 INFO L273 TraceCheckUtils]: 183: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,629 INFO L273 TraceCheckUtils]: 184: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,629 INFO L273 TraceCheckUtils]: 185: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,629 INFO L273 TraceCheckUtils]: 186: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,630 INFO L273 TraceCheckUtils]: 187: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,630 INFO L273 TraceCheckUtils]: 188: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,630 INFO L273 TraceCheckUtils]: 189: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,630 INFO L273 TraceCheckUtils]: 190: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,630 INFO L273 TraceCheckUtils]: 191: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,630 INFO L273 TraceCheckUtils]: 192: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,630 INFO L273 TraceCheckUtils]: 193: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,631 INFO L273 TraceCheckUtils]: 194: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,631 INFO L273 TraceCheckUtils]: 195: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,631 INFO L273 TraceCheckUtils]: 196: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,631 INFO L273 TraceCheckUtils]: 197: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,631 INFO L273 TraceCheckUtils]: 198: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,631 INFO L273 TraceCheckUtils]: 199: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,632 INFO L273 TraceCheckUtils]: 200: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,632 INFO L273 TraceCheckUtils]: 201: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,632 INFO L273 TraceCheckUtils]: 202: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,632 INFO L273 TraceCheckUtils]: 203: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,632 INFO L273 TraceCheckUtils]: 204: Hoare triple {21949#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21949#false} is VALID [2018-11-23 12:17:41,632 INFO L273 TraceCheckUtils]: 205: Hoare triple {21949#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21949#false} is VALID [2018-11-23 12:17:41,632 INFO L273 TraceCheckUtils]: 206: Hoare triple {21949#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21949#false} is VALID [2018-11-23 12:17:41,633 INFO L273 TraceCheckUtils]: 207: Hoare triple {21949#false} assume !(~i~0 < 20); {21949#false} is VALID [2018-11-23 12:17:41,633 INFO L273 TraceCheckUtils]: 208: Hoare triple {21949#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {21949#false} is VALID [2018-11-23 12:17:41,633 INFO L273 TraceCheckUtils]: 209: Hoare triple {21949#false} assume true; {21949#false} is VALID [2018-11-23 12:17:41,633 INFO L268 TraceCheckUtils]: 210: Hoare quadruple {21949#false} {21949#false} #79#return; {21949#false} is VALID [2018-11-23 12:17:41,633 INFO L273 TraceCheckUtils]: 211: Hoare triple {21949#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {21949#false} is VALID [2018-11-23 12:17:41,633 INFO L273 TraceCheckUtils]: 212: Hoare triple {21949#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {21949#false} is VALID [2018-11-23 12:17:41,633 INFO L273 TraceCheckUtils]: 213: Hoare triple {21949#false} assume !false; {21949#false} is VALID [2018-11-23 12:17:41,658 INFO L134 CoverageAnalysis]: Checked inductivity of 3188 backedges. 1236 proven. 287 refuted. 0 times theorem prover too weak. 1665 trivial. 0 not checked. [2018-11-23 12:17:41,685 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:41,685 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 18 [2018-11-23 12:17:41,686 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 214 [2018-11-23 12:17:41,686 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:41,687 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:17:41,783 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:41,783 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:17:41,784 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:17:41,784 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:17:41,784 INFO L87 Difference]: Start difference. First operand 121 states and 139 transitions. Second operand 18 states. [2018-11-23 12:17:42,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:42,450 INFO L93 Difference]: Finished difference Result 199 states and 239 transitions. [2018-11-23 12:17:42,450 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:17:42,450 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 214 [2018-11-23 12:17:42,450 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:42,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:17:42,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 117 transitions. [2018-11-23 12:17:42,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:17:42,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 117 transitions. [2018-11-23 12:17:42,452 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 117 transitions. [2018-11-23 12:17:42,567 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:42,570 INFO L225 Difference]: With dead ends: 199 [2018-11-23 12:17:42,570 INFO L226 Difference]: Without dead ends: 126 [2018-11-23 12:17:42,571 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 230 GetRequests, 214 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:17:42,571 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2018-11-23 12:17:42,615 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 124. [2018-11-23 12:17:42,615 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:42,616 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand 124 states. [2018-11-23 12:17:42,616 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 124 states. [2018-11-23 12:17:42,616 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 124 states. [2018-11-23 12:17:42,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:42,618 INFO L93 Difference]: Finished difference Result 126 states and 146 transitions. [2018-11-23 12:17:42,618 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 146 transitions. [2018-11-23 12:17:42,619 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:42,619 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:42,619 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand 126 states. [2018-11-23 12:17:42,619 INFO L87 Difference]: Start difference. First operand 124 states. Second operand 126 states. [2018-11-23 12:17:42,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:42,621 INFO L93 Difference]: Finished difference Result 126 states and 146 transitions. [2018-11-23 12:17:42,621 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 146 transitions. [2018-11-23 12:17:42,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:42,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:42,621 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:42,621 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:42,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 124 states. [2018-11-23 12:17:42,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 143 transitions. [2018-11-23 12:17:42,623 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 143 transitions. Word has length 214 [2018-11-23 12:17:42,623 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:42,623 INFO L480 AbstractCegarLoop]: Abstraction has 124 states and 143 transitions. [2018-11-23 12:17:42,623 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:17:42,623 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 143 transitions. [2018-11-23 12:17:42,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 224 [2018-11-23 12:17:42,624 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:42,624 INFO L402 BasicCegarLoop]: trace histogram [45, 45, 45, 20, 20, 8, 8, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:42,625 INFO L423 AbstractCegarLoop]: === Iteration 33 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:42,625 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:42,625 INFO L82 PathProgramCache]: Analyzing trace with hash 1022979751, now seen corresponding path program 29 times [2018-11-23 12:17:42,625 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:42,625 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:42,626 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:42,626 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:42,626 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:42,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:43,617 INFO L256 TraceCheckUtils]: 0: Hoare triple {23317#true} call ULTIMATE.init(); {23317#true} is VALID [2018-11-23 12:17:43,617 INFO L273 TraceCheckUtils]: 1: Hoare triple {23317#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {23317#true} is VALID [2018-11-23 12:17:43,618 INFO L273 TraceCheckUtils]: 2: Hoare triple {23317#true} assume true; {23317#true} is VALID [2018-11-23 12:17:43,618 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {23317#true} {23317#true} #71#return; {23317#true} is VALID [2018-11-23 12:17:43,618 INFO L256 TraceCheckUtils]: 4: Hoare triple {23317#true} call #t~ret14 := main(); {23317#true} is VALID [2018-11-23 12:17:43,618 INFO L273 TraceCheckUtils]: 5: Hoare triple {23317#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {23317#true} is VALID [2018-11-23 12:17:43,618 INFO L273 TraceCheckUtils]: 6: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,619 INFO L273 TraceCheckUtils]: 7: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,619 INFO L273 TraceCheckUtils]: 8: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,619 INFO L273 TraceCheckUtils]: 9: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,619 INFO L273 TraceCheckUtils]: 10: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,619 INFO L273 TraceCheckUtils]: 11: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,619 INFO L273 TraceCheckUtils]: 12: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,620 INFO L273 TraceCheckUtils]: 13: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,620 INFO L273 TraceCheckUtils]: 14: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,620 INFO L273 TraceCheckUtils]: 15: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,620 INFO L273 TraceCheckUtils]: 16: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,620 INFO L273 TraceCheckUtils]: 17: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,620 INFO L273 TraceCheckUtils]: 18: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,621 INFO L273 TraceCheckUtils]: 19: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,621 INFO L273 TraceCheckUtils]: 20: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,621 INFO L273 TraceCheckUtils]: 21: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,621 INFO L273 TraceCheckUtils]: 22: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,621 INFO L273 TraceCheckUtils]: 23: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,621 INFO L273 TraceCheckUtils]: 24: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,621 INFO L273 TraceCheckUtils]: 25: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,621 INFO L273 TraceCheckUtils]: 26: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,621 INFO L273 TraceCheckUtils]: 27: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,622 INFO L273 TraceCheckUtils]: 28: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,622 INFO L273 TraceCheckUtils]: 29: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,622 INFO L273 TraceCheckUtils]: 30: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,622 INFO L273 TraceCheckUtils]: 31: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,622 INFO L273 TraceCheckUtils]: 32: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,622 INFO L273 TraceCheckUtils]: 33: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,622 INFO L273 TraceCheckUtils]: 34: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,622 INFO L273 TraceCheckUtils]: 35: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,622 INFO L273 TraceCheckUtils]: 36: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,622 INFO L273 TraceCheckUtils]: 37: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,623 INFO L273 TraceCheckUtils]: 38: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,623 INFO L273 TraceCheckUtils]: 39: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,623 INFO L273 TraceCheckUtils]: 40: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,623 INFO L273 TraceCheckUtils]: 41: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,623 INFO L273 TraceCheckUtils]: 42: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,623 INFO L273 TraceCheckUtils]: 43: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,623 INFO L273 TraceCheckUtils]: 44: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:43,623 INFO L273 TraceCheckUtils]: 45: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:43,623 INFO L273 TraceCheckUtils]: 46: Hoare triple {23317#true} assume !(~i~1 < 20); {23317#true} is VALID [2018-11-23 12:17:43,623 INFO L256 TraceCheckUtils]: 47: Hoare triple {23317#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {23317#true} is VALID [2018-11-23 12:17:43,624 INFO L273 TraceCheckUtils]: 48: Hoare triple {23317#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {23319#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:43,624 INFO L273 TraceCheckUtils]: 49: Hoare triple {23319#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23319#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:43,624 INFO L273 TraceCheckUtils]: 50: Hoare triple {23319#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23319#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:43,625 INFO L273 TraceCheckUtils]: 51: Hoare triple {23319#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23320#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:43,625 INFO L273 TraceCheckUtils]: 52: Hoare triple {23320#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23320#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:43,625 INFO L273 TraceCheckUtils]: 53: Hoare triple {23320#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23320#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:43,626 INFO L273 TraceCheckUtils]: 54: Hoare triple {23320#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23321#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:43,626 INFO L273 TraceCheckUtils]: 55: Hoare triple {23321#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23321#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:43,626 INFO L273 TraceCheckUtils]: 56: Hoare triple {23321#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23321#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:43,627 INFO L273 TraceCheckUtils]: 57: Hoare triple {23321#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23322#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:43,627 INFO L273 TraceCheckUtils]: 58: Hoare triple {23322#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23322#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:43,627 INFO L273 TraceCheckUtils]: 59: Hoare triple {23322#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23322#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:43,628 INFO L273 TraceCheckUtils]: 60: Hoare triple {23322#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23323#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:43,628 INFO L273 TraceCheckUtils]: 61: Hoare triple {23323#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23323#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:43,629 INFO L273 TraceCheckUtils]: 62: Hoare triple {23323#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23323#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:43,629 INFO L273 TraceCheckUtils]: 63: Hoare triple {23323#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23324#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:43,630 INFO L273 TraceCheckUtils]: 64: Hoare triple {23324#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23324#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:43,630 INFO L273 TraceCheckUtils]: 65: Hoare triple {23324#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23324#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:43,631 INFO L273 TraceCheckUtils]: 66: Hoare triple {23324#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23325#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:43,632 INFO L273 TraceCheckUtils]: 67: Hoare triple {23325#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23325#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:43,632 INFO L273 TraceCheckUtils]: 68: Hoare triple {23325#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23325#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:43,633 INFO L273 TraceCheckUtils]: 69: Hoare triple {23325#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23326#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:43,633 INFO L273 TraceCheckUtils]: 70: Hoare triple {23326#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23326#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:43,634 INFO L273 TraceCheckUtils]: 71: Hoare triple {23326#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23326#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:43,634 INFO L273 TraceCheckUtils]: 72: Hoare triple {23326#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23327#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:43,635 INFO L273 TraceCheckUtils]: 73: Hoare triple {23327#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23327#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:43,635 INFO L273 TraceCheckUtils]: 74: Hoare triple {23327#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23327#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:43,636 INFO L273 TraceCheckUtils]: 75: Hoare triple {23327#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23328#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:43,636 INFO L273 TraceCheckUtils]: 76: Hoare triple {23328#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23328#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:43,637 INFO L273 TraceCheckUtils]: 77: Hoare triple {23328#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23328#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:43,638 INFO L273 TraceCheckUtils]: 78: Hoare triple {23328#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23329#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:43,638 INFO L273 TraceCheckUtils]: 79: Hoare triple {23329#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23329#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:43,638 INFO L273 TraceCheckUtils]: 80: Hoare triple {23329#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23329#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:43,639 INFO L273 TraceCheckUtils]: 81: Hoare triple {23329#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23330#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:43,640 INFO L273 TraceCheckUtils]: 82: Hoare triple {23330#(<= sep_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23330#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:43,640 INFO L273 TraceCheckUtils]: 83: Hoare triple {23330#(<= sep_~i~0 11)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23330#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:43,641 INFO L273 TraceCheckUtils]: 84: Hoare triple {23330#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23331#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:43,641 INFO L273 TraceCheckUtils]: 85: Hoare triple {23331#(<= sep_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23331#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:43,642 INFO L273 TraceCheckUtils]: 86: Hoare triple {23331#(<= sep_~i~0 12)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23331#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:43,642 INFO L273 TraceCheckUtils]: 87: Hoare triple {23331#(<= sep_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23332#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:43,643 INFO L273 TraceCheckUtils]: 88: Hoare triple {23332#(<= sep_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23332#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:43,643 INFO L273 TraceCheckUtils]: 89: Hoare triple {23332#(<= sep_~i~0 13)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23332#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:43,644 INFO L273 TraceCheckUtils]: 90: Hoare triple {23332#(<= sep_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23333#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:43,644 INFO L273 TraceCheckUtils]: 91: Hoare triple {23333#(<= sep_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23333#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:43,645 INFO L273 TraceCheckUtils]: 92: Hoare triple {23333#(<= sep_~i~0 14)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23333#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:43,646 INFO L273 TraceCheckUtils]: 93: Hoare triple {23333#(<= sep_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23334#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:43,646 INFO L273 TraceCheckUtils]: 94: Hoare triple {23334#(<= sep_~i~0 15)} assume !(~i~0 < 20); {23318#false} is VALID [2018-11-23 12:17:43,646 INFO L273 TraceCheckUtils]: 95: Hoare triple {23318#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {23318#false} is VALID [2018-11-23 12:17:43,647 INFO L273 TraceCheckUtils]: 96: Hoare triple {23318#false} assume true; {23318#false} is VALID [2018-11-23 12:17:43,647 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {23318#false} {23317#true} #75#return; {23318#false} is VALID [2018-11-23 12:17:43,647 INFO L273 TraceCheckUtils]: 98: Hoare triple {23318#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {23318#false} is VALID [2018-11-23 12:17:43,647 INFO L256 TraceCheckUtils]: 99: Hoare triple {23318#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {23317#true} is VALID [2018-11-23 12:17:43,647 INFO L273 TraceCheckUtils]: 100: Hoare triple {23317#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {23317#true} is VALID [2018-11-23 12:17:43,647 INFO L273 TraceCheckUtils]: 101: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,648 INFO L273 TraceCheckUtils]: 102: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,648 INFO L273 TraceCheckUtils]: 103: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,648 INFO L273 TraceCheckUtils]: 104: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,648 INFO L273 TraceCheckUtils]: 105: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,648 INFO L273 TraceCheckUtils]: 106: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,648 INFO L273 TraceCheckUtils]: 107: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,649 INFO L273 TraceCheckUtils]: 108: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,649 INFO L273 TraceCheckUtils]: 109: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,649 INFO L273 TraceCheckUtils]: 110: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,649 INFO L273 TraceCheckUtils]: 111: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,649 INFO L273 TraceCheckUtils]: 112: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,649 INFO L273 TraceCheckUtils]: 113: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,649 INFO L273 TraceCheckUtils]: 114: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,649 INFO L273 TraceCheckUtils]: 115: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,650 INFO L273 TraceCheckUtils]: 116: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,650 INFO L273 TraceCheckUtils]: 117: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,650 INFO L273 TraceCheckUtils]: 118: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,650 INFO L273 TraceCheckUtils]: 119: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,650 INFO L273 TraceCheckUtils]: 120: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,650 INFO L273 TraceCheckUtils]: 121: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,650 INFO L273 TraceCheckUtils]: 122: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,650 INFO L273 TraceCheckUtils]: 123: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,650 INFO L273 TraceCheckUtils]: 124: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,650 INFO L273 TraceCheckUtils]: 125: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,651 INFO L273 TraceCheckUtils]: 126: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,651 INFO L273 TraceCheckUtils]: 127: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,651 INFO L273 TraceCheckUtils]: 128: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,651 INFO L273 TraceCheckUtils]: 129: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,651 INFO L273 TraceCheckUtils]: 130: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,651 INFO L273 TraceCheckUtils]: 131: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,651 INFO L273 TraceCheckUtils]: 132: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,651 INFO L273 TraceCheckUtils]: 133: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,651 INFO L273 TraceCheckUtils]: 134: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,651 INFO L273 TraceCheckUtils]: 135: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,652 INFO L273 TraceCheckUtils]: 136: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,652 INFO L273 TraceCheckUtils]: 137: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,652 INFO L273 TraceCheckUtils]: 138: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,652 INFO L273 TraceCheckUtils]: 139: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,652 INFO L273 TraceCheckUtils]: 140: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,652 INFO L273 TraceCheckUtils]: 141: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,652 INFO L273 TraceCheckUtils]: 142: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,652 INFO L273 TraceCheckUtils]: 143: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,652 INFO L273 TraceCheckUtils]: 144: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,653 INFO L273 TraceCheckUtils]: 145: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,653 INFO L273 TraceCheckUtils]: 146: Hoare triple {23317#true} assume !(~i~0 < 20); {23317#true} is VALID [2018-11-23 12:17:43,653 INFO L273 TraceCheckUtils]: 147: Hoare triple {23317#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {23317#true} is VALID [2018-11-23 12:17:43,653 INFO L273 TraceCheckUtils]: 148: Hoare triple {23317#true} assume true; {23317#true} is VALID [2018-11-23 12:17:43,653 INFO L268 TraceCheckUtils]: 149: Hoare quadruple {23317#true} {23318#false} #77#return; {23318#false} is VALID [2018-11-23 12:17:43,653 INFO L273 TraceCheckUtils]: 150: Hoare triple {23318#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {23318#false} is VALID [2018-11-23 12:17:43,653 INFO L273 TraceCheckUtils]: 151: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:43,653 INFO L273 TraceCheckUtils]: 152: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:43,653 INFO L273 TraceCheckUtils]: 153: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:43,653 INFO L273 TraceCheckUtils]: 154: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:43,654 INFO L273 TraceCheckUtils]: 155: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:43,654 INFO L273 TraceCheckUtils]: 156: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:43,654 INFO L273 TraceCheckUtils]: 157: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:43,654 INFO L273 TraceCheckUtils]: 158: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:43,654 INFO L273 TraceCheckUtils]: 159: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:43,654 INFO L273 TraceCheckUtils]: 160: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:43,654 INFO L273 TraceCheckUtils]: 161: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:43,654 INFO L273 TraceCheckUtils]: 162: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:43,654 INFO L273 TraceCheckUtils]: 163: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:43,654 INFO L273 TraceCheckUtils]: 164: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:43,655 INFO L273 TraceCheckUtils]: 165: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:43,655 INFO L273 TraceCheckUtils]: 166: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:43,655 INFO L273 TraceCheckUtils]: 167: Hoare triple {23318#false} assume !(~i~2 < 19); {23318#false} is VALID [2018-11-23 12:17:43,655 INFO L273 TraceCheckUtils]: 168: Hoare triple {23318#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {23318#false} is VALID [2018-11-23 12:17:43,655 INFO L256 TraceCheckUtils]: 169: Hoare triple {23318#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {23317#true} is VALID [2018-11-23 12:17:43,655 INFO L273 TraceCheckUtils]: 170: Hoare triple {23317#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {23317#true} is VALID [2018-11-23 12:17:43,655 INFO L273 TraceCheckUtils]: 171: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,655 INFO L273 TraceCheckUtils]: 172: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,655 INFO L273 TraceCheckUtils]: 173: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,655 INFO L273 TraceCheckUtils]: 174: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,656 INFO L273 TraceCheckUtils]: 175: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,656 INFO L273 TraceCheckUtils]: 176: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,656 INFO L273 TraceCheckUtils]: 177: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,656 INFO L273 TraceCheckUtils]: 178: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,656 INFO L273 TraceCheckUtils]: 179: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,656 INFO L273 TraceCheckUtils]: 180: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,656 INFO L273 TraceCheckUtils]: 181: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,656 INFO L273 TraceCheckUtils]: 182: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,656 INFO L273 TraceCheckUtils]: 183: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,656 INFO L273 TraceCheckUtils]: 184: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,657 INFO L273 TraceCheckUtils]: 185: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,657 INFO L273 TraceCheckUtils]: 186: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,657 INFO L273 TraceCheckUtils]: 187: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,657 INFO L273 TraceCheckUtils]: 188: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,657 INFO L273 TraceCheckUtils]: 189: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,657 INFO L273 TraceCheckUtils]: 190: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,657 INFO L273 TraceCheckUtils]: 191: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,657 INFO L273 TraceCheckUtils]: 192: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,657 INFO L273 TraceCheckUtils]: 193: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,657 INFO L273 TraceCheckUtils]: 194: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,658 INFO L273 TraceCheckUtils]: 195: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,658 INFO L273 TraceCheckUtils]: 196: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,658 INFO L273 TraceCheckUtils]: 197: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,658 INFO L273 TraceCheckUtils]: 198: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,658 INFO L273 TraceCheckUtils]: 199: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,658 INFO L273 TraceCheckUtils]: 200: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,658 INFO L273 TraceCheckUtils]: 201: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,658 INFO L273 TraceCheckUtils]: 202: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,658 INFO L273 TraceCheckUtils]: 203: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,658 INFO L273 TraceCheckUtils]: 204: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,659 INFO L273 TraceCheckUtils]: 205: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,659 INFO L273 TraceCheckUtils]: 206: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,659 INFO L273 TraceCheckUtils]: 207: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,659 INFO L273 TraceCheckUtils]: 208: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,659 INFO L273 TraceCheckUtils]: 209: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,659 INFO L273 TraceCheckUtils]: 210: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,659 INFO L273 TraceCheckUtils]: 211: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,659 INFO L273 TraceCheckUtils]: 212: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,659 INFO L273 TraceCheckUtils]: 213: Hoare triple {23317#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23317#true} is VALID [2018-11-23 12:17:43,660 INFO L273 TraceCheckUtils]: 214: Hoare triple {23317#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23317#true} is VALID [2018-11-23 12:17:43,660 INFO L273 TraceCheckUtils]: 215: Hoare triple {23317#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23317#true} is VALID [2018-11-23 12:17:43,660 INFO L273 TraceCheckUtils]: 216: Hoare triple {23317#true} assume !(~i~0 < 20); {23317#true} is VALID [2018-11-23 12:17:43,660 INFO L273 TraceCheckUtils]: 217: Hoare triple {23317#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {23317#true} is VALID [2018-11-23 12:17:43,660 INFO L273 TraceCheckUtils]: 218: Hoare triple {23317#true} assume true; {23317#true} is VALID [2018-11-23 12:17:43,660 INFO L268 TraceCheckUtils]: 219: Hoare quadruple {23317#true} {23318#false} #79#return; {23318#false} is VALID [2018-11-23 12:17:43,660 INFO L273 TraceCheckUtils]: 220: Hoare triple {23318#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {23318#false} is VALID [2018-11-23 12:17:43,660 INFO L273 TraceCheckUtils]: 221: Hoare triple {23318#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {23318#false} is VALID [2018-11-23 12:17:43,660 INFO L273 TraceCheckUtils]: 222: Hoare triple {23318#false} assume !false; {23318#false} is VALID [2018-11-23 12:17:43,680 INFO L134 CoverageAnalysis]: Checked inductivity of 3584 backedges. 0 proven. 1748 refuted. 0 times theorem prover too weak. 1836 trivial. 0 not checked. [2018-11-23 12:17:43,681 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:43,681 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:43,690 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:17:52,188 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 31 check-sat command(s) [2018-11-23 12:17:52,188 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:52,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:52,245 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:52,492 INFO L256 TraceCheckUtils]: 0: Hoare triple {23317#true} call ULTIMATE.init(); {23317#true} is VALID [2018-11-23 12:17:52,492 INFO L273 TraceCheckUtils]: 1: Hoare triple {23317#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {23317#true} is VALID [2018-11-23 12:17:52,492 INFO L273 TraceCheckUtils]: 2: Hoare triple {23317#true} assume true; {23317#true} is VALID [2018-11-23 12:17:52,493 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {23317#true} {23317#true} #71#return; {23317#true} is VALID [2018-11-23 12:17:52,493 INFO L256 TraceCheckUtils]: 4: Hoare triple {23317#true} call #t~ret14 := main(); {23317#true} is VALID [2018-11-23 12:17:52,493 INFO L273 TraceCheckUtils]: 5: Hoare triple {23317#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {23317#true} is VALID [2018-11-23 12:17:52,493 INFO L273 TraceCheckUtils]: 6: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,493 INFO L273 TraceCheckUtils]: 7: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,493 INFO L273 TraceCheckUtils]: 8: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,494 INFO L273 TraceCheckUtils]: 9: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,494 INFO L273 TraceCheckUtils]: 10: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,494 INFO L273 TraceCheckUtils]: 11: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,494 INFO L273 TraceCheckUtils]: 12: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,494 INFO L273 TraceCheckUtils]: 13: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,494 INFO L273 TraceCheckUtils]: 14: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,494 INFO L273 TraceCheckUtils]: 15: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,494 INFO L273 TraceCheckUtils]: 16: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,494 INFO L273 TraceCheckUtils]: 17: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,495 INFO L273 TraceCheckUtils]: 18: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,495 INFO L273 TraceCheckUtils]: 19: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,495 INFO L273 TraceCheckUtils]: 20: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,495 INFO L273 TraceCheckUtils]: 21: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,495 INFO L273 TraceCheckUtils]: 22: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,495 INFO L273 TraceCheckUtils]: 23: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,495 INFO L273 TraceCheckUtils]: 24: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,495 INFO L273 TraceCheckUtils]: 25: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,495 INFO L273 TraceCheckUtils]: 26: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,495 INFO L273 TraceCheckUtils]: 27: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,496 INFO L273 TraceCheckUtils]: 28: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,496 INFO L273 TraceCheckUtils]: 29: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,496 INFO L273 TraceCheckUtils]: 30: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,496 INFO L273 TraceCheckUtils]: 31: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,496 INFO L273 TraceCheckUtils]: 32: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,496 INFO L273 TraceCheckUtils]: 33: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,496 INFO L273 TraceCheckUtils]: 34: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,497 INFO L273 TraceCheckUtils]: 35: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,497 INFO L273 TraceCheckUtils]: 36: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,497 INFO L273 TraceCheckUtils]: 37: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,497 INFO L273 TraceCheckUtils]: 38: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,497 INFO L273 TraceCheckUtils]: 39: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,497 INFO L273 TraceCheckUtils]: 40: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,497 INFO L273 TraceCheckUtils]: 41: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,497 INFO L273 TraceCheckUtils]: 42: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,497 INFO L273 TraceCheckUtils]: 43: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,498 INFO L273 TraceCheckUtils]: 44: Hoare triple {23317#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23317#true} is VALID [2018-11-23 12:17:52,498 INFO L273 TraceCheckUtils]: 45: Hoare triple {23317#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23317#true} is VALID [2018-11-23 12:17:52,523 INFO L273 TraceCheckUtils]: 46: Hoare triple {23317#true} assume !(~i~1 < 20); {23317#true} is VALID [2018-11-23 12:17:52,523 INFO L256 TraceCheckUtils]: 47: Hoare triple {23317#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {23317#true} is VALID [2018-11-23 12:17:52,527 INFO L273 TraceCheckUtils]: 48: Hoare triple {23317#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {23482#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:52,528 INFO L273 TraceCheckUtils]: 49: Hoare triple {23482#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23482#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:52,528 INFO L273 TraceCheckUtils]: 50: Hoare triple {23482#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23482#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:52,530 INFO L273 TraceCheckUtils]: 51: Hoare triple {23482#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23320#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:52,530 INFO L273 TraceCheckUtils]: 52: Hoare triple {23320#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23320#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:52,532 INFO L273 TraceCheckUtils]: 53: Hoare triple {23320#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23320#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:52,532 INFO L273 TraceCheckUtils]: 54: Hoare triple {23320#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23321#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:52,535 INFO L273 TraceCheckUtils]: 55: Hoare triple {23321#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23321#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:52,535 INFO L273 TraceCheckUtils]: 56: Hoare triple {23321#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23321#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:52,538 INFO L273 TraceCheckUtils]: 57: Hoare triple {23321#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23322#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:52,538 INFO L273 TraceCheckUtils]: 58: Hoare triple {23322#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23322#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:52,538 INFO L273 TraceCheckUtils]: 59: Hoare triple {23322#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23322#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:52,539 INFO L273 TraceCheckUtils]: 60: Hoare triple {23322#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23323#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:52,539 INFO L273 TraceCheckUtils]: 61: Hoare triple {23323#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23323#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:52,539 INFO L273 TraceCheckUtils]: 62: Hoare triple {23323#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23323#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:52,540 INFO L273 TraceCheckUtils]: 63: Hoare triple {23323#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23324#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:52,540 INFO L273 TraceCheckUtils]: 64: Hoare triple {23324#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23324#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:52,545 INFO L273 TraceCheckUtils]: 65: Hoare triple {23324#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23324#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:52,545 INFO L273 TraceCheckUtils]: 66: Hoare triple {23324#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23325#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:52,545 INFO L273 TraceCheckUtils]: 67: Hoare triple {23325#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23325#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:52,546 INFO L273 TraceCheckUtils]: 68: Hoare triple {23325#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23325#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:52,546 INFO L273 TraceCheckUtils]: 69: Hoare triple {23325#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23326#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:52,546 INFO L273 TraceCheckUtils]: 70: Hoare triple {23326#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23326#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:52,547 INFO L273 TraceCheckUtils]: 71: Hoare triple {23326#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23326#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:52,547 INFO L273 TraceCheckUtils]: 72: Hoare triple {23326#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23327#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:52,547 INFO L273 TraceCheckUtils]: 73: Hoare triple {23327#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23327#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:52,548 INFO L273 TraceCheckUtils]: 74: Hoare triple {23327#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23327#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:52,548 INFO L273 TraceCheckUtils]: 75: Hoare triple {23327#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23328#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:52,549 INFO L273 TraceCheckUtils]: 76: Hoare triple {23328#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23328#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:52,549 INFO L273 TraceCheckUtils]: 77: Hoare triple {23328#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23328#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:52,550 INFO L273 TraceCheckUtils]: 78: Hoare triple {23328#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23329#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:52,550 INFO L273 TraceCheckUtils]: 79: Hoare triple {23329#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23329#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:52,551 INFO L273 TraceCheckUtils]: 80: Hoare triple {23329#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23329#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:52,552 INFO L273 TraceCheckUtils]: 81: Hoare triple {23329#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23330#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:52,552 INFO L273 TraceCheckUtils]: 82: Hoare triple {23330#(<= sep_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23330#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:52,553 INFO L273 TraceCheckUtils]: 83: Hoare triple {23330#(<= sep_~i~0 11)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23330#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:52,553 INFO L273 TraceCheckUtils]: 84: Hoare triple {23330#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23331#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:52,554 INFO L273 TraceCheckUtils]: 85: Hoare triple {23331#(<= sep_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23331#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:52,554 INFO L273 TraceCheckUtils]: 86: Hoare triple {23331#(<= sep_~i~0 12)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23331#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:52,555 INFO L273 TraceCheckUtils]: 87: Hoare triple {23331#(<= sep_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23332#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:52,555 INFO L273 TraceCheckUtils]: 88: Hoare triple {23332#(<= sep_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23332#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:52,556 INFO L273 TraceCheckUtils]: 89: Hoare triple {23332#(<= sep_~i~0 13)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23332#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:52,557 INFO L273 TraceCheckUtils]: 90: Hoare triple {23332#(<= sep_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23333#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:52,557 INFO L273 TraceCheckUtils]: 91: Hoare triple {23333#(<= sep_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23333#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:52,558 INFO L273 TraceCheckUtils]: 92: Hoare triple {23333#(<= sep_~i~0 14)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23333#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:52,558 INFO L273 TraceCheckUtils]: 93: Hoare triple {23333#(<= sep_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23334#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:52,559 INFO L273 TraceCheckUtils]: 94: Hoare triple {23334#(<= sep_~i~0 15)} assume !(~i~0 < 20); {23318#false} is VALID [2018-11-23 12:17:52,559 INFO L273 TraceCheckUtils]: 95: Hoare triple {23318#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {23318#false} is VALID [2018-11-23 12:17:52,559 INFO L273 TraceCheckUtils]: 96: Hoare triple {23318#false} assume true; {23318#false} is VALID [2018-11-23 12:17:52,559 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {23318#false} {23317#true} #75#return; {23318#false} is VALID [2018-11-23 12:17:52,560 INFO L273 TraceCheckUtils]: 98: Hoare triple {23318#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {23318#false} is VALID [2018-11-23 12:17:52,560 INFO L256 TraceCheckUtils]: 99: Hoare triple {23318#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {23318#false} is VALID [2018-11-23 12:17:52,560 INFO L273 TraceCheckUtils]: 100: Hoare triple {23318#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {23318#false} is VALID [2018-11-23 12:17:52,560 INFO L273 TraceCheckUtils]: 101: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,560 INFO L273 TraceCheckUtils]: 102: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,560 INFO L273 TraceCheckUtils]: 103: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,561 INFO L273 TraceCheckUtils]: 104: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,561 INFO L273 TraceCheckUtils]: 105: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,561 INFO L273 TraceCheckUtils]: 106: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,561 INFO L273 TraceCheckUtils]: 107: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,561 INFO L273 TraceCheckUtils]: 108: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,562 INFO L273 TraceCheckUtils]: 109: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,562 INFO L273 TraceCheckUtils]: 110: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,562 INFO L273 TraceCheckUtils]: 111: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,562 INFO L273 TraceCheckUtils]: 112: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,562 INFO L273 TraceCheckUtils]: 113: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,562 INFO L273 TraceCheckUtils]: 114: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,562 INFO L273 TraceCheckUtils]: 115: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,562 INFO L273 TraceCheckUtils]: 116: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,562 INFO L273 TraceCheckUtils]: 117: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,563 INFO L273 TraceCheckUtils]: 118: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,563 INFO L273 TraceCheckUtils]: 119: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,563 INFO L273 TraceCheckUtils]: 120: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,563 INFO L273 TraceCheckUtils]: 121: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,563 INFO L273 TraceCheckUtils]: 122: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,563 INFO L273 TraceCheckUtils]: 123: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,563 INFO L273 TraceCheckUtils]: 124: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,563 INFO L273 TraceCheckUtils]: 125: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,563 INFO L273 TraceCheckUtils]: 126: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,563 INFO L273 TraceCheckUtils]: 127: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,564 INFO L273 TraceCheckUtils]: 128: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,564 INFO L273 TraceCheckUtils]: 129: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,564 INFO L273 TraceCheckUtils]: 130: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,564 INFO L273 TraceCheckUtils]: 131: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,564 INFO L273 TraceCheckUtils]: 132: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,564 INFO L273 TraceCheckUtils]: 133: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,564 INFO L273 TraceCheckUtils]: 134: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,564 INFO L273 TraceCheckUtils]: 135: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,564 INFO L273 TraceCheckUtils]: 136: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,564 INFO L273 TraceCheckUtils]: 137: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,565 INFO L273 TraceCheckUtils]: 138: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,565 INFO L273 TraceCheckUtils]: 139: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,565 INFO L273 TraceCheckUtils]: 140: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,565 INFO L273 TraceCheckUtils]: 141: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,565 INFO L273 TraceCheckUtils]: 142: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,565 INFO L273 TraceCheckUtils]: 143: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,565 INFO L273 TraceCheckUtils]: 144: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,565 INFO L273 TraceCheckUtils]: 145: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,565 INFO L273 TraceCheckUtils]: 146: Hoare triple {23318#false} assume !(~i~0 < 20); {23318#false} is VALID [2018-11-23 12:17:52,566 INFO L273 TraceCheckUtils]: 147: Hoare triple {23318#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {23318#false} is VALID [2018-11-23 12:17:52,566 INFO L273 TraceCheckUtils]: 148: Hoare triple {23318#false} assume true; {23318#false} is VALID [2018-11-23 12:17:52,566 INFO L268 TraceCheckUtils]: 149: Hoare quadruple {23318#false} {23318#false} #77#return; {23318#false} is VALID [2018-11-23 12:17:52,566 INFO L273 TraceCheckUtils]: 150: Hoare triple {23318#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {23318#false} is VALID [2018-11-23 12:17:52,566 INFO L273 TraceCheckUtils]: 151: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:52,566 INFO L273 TraceCheckUtils]: 152: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:52,566 INFO L273 TraceCheckUtils]: 153: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:52,566 INFO L273 TraceCheckUtils]: 154: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:52,566 INFO L273 TraceCheckUtils]: 155: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:52,566 INFO L273 TraceCheckUtils]: 156: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:52,566 INFO L273 TraceCheckUtils]: 157: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:52,567 INFO L273 TraceCheckUtils]: 158: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:52,567 INFO L273 TraceCheckUtils]: 159: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:52,567 INFO L273 TraceCheckUtils]: 160: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:52,567 INFO L273 TraceCheckUtils]: 161: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:52,567 INFO L273 TraceCheckUtils]: 162: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:52,567 INFO L273 TraceCheckUtils]: 163: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:52,567 INFO L273 TraceCheckUtils]: 164: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:52,567 INFO L273 TraceCheckUtils]: 165: Hoare triple {23318#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23318#false} is VALID [2018-11-23 12:17:52,567 INFO L273 TraceCheckUtils]: 166: Hoare triple {23318#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23318#false} is VALID [2018-11-23 12:17:52,567 INFO L273 TraceCheckUtils]: 167: Hoare triple {23318#false} assume !(~i~2 < 19); {23318#false} is VALID [2018-11-23 12:17:52,568 INFO L273 TraceCheckUtils]: 168: Hoare triple {23318#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {23318#false} is VALID [2018-11-23 12:17:52,568 INFO L256 TraceCheckUtils]: 169: Hoare triple {23318#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {23318#false} is VALID [2018-11-23 12:17:52,568 INFO L273 TraceCheckUtils]: 170: Hoare triple {23318#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {23318#false} is VALID [2018-11-23 12:17:52,568 INFO L273 TraceCheckUtils]: 171: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,568 INFO L273 TraceCheckUtils]: 172: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,568 INFO L273 TraceCheckUtils]: 173: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,568 INFO L273 TraceCheckUtils]: 174: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,568 INFO L273 TraceCheckUtils]: 175: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,568 INFO L273 TraceCheckUtils]: 176: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,568 INFO L273 TraceCheckUtils]: 177: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,568 INFO L273 TraceCheckUtils]: 178: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,569 INFO L273 TraceCheckUtils]: 179: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,569 INFO L273 TraceCheckUtils]: 180: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,569 INFO L273 TraceCheckUtils]: 181: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,569 INFO L273 TraceCheckUtils]: 182: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,569 INFO L273 TraceCheckUtils]: 183: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,569 INFO L273 TraceCheckUtils]: 184: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,569 INFO L273 TraceCheckUtils]: 185: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,569 INFO L273 TraceCheckUtils]: 186: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,569 INFO L273 TraceCheckUtils]: 187: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,569 INFO L273 TraceCheckUtils]: 188: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,569 INFO L273 TraceCheckUtils]: 189: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,570 INFO L273 TraceCheckUtils]: 190: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,570 INFO L273 TraceCheckUtils]: 191: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,570 INFO L273 TraceCheckUtils]: 192: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,570 INFO L273 TraceCheckUtils]: 193: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,570 INFO L273 TraceCheckUtils]: 194: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,570 INFO L273 TraceCheckUtils]: 195: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,570 INFO L273 TraceCheckUtils]: 196: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,570 INFO L273 TraceCheckUtils]: 197: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,570 INFO L273 TraceCheckUtils]: 198: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,570 INFO L273 TraceCheckUtils]: 199: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,571 INFO L273 TraceCheckUtils]: 200: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,571 INFO L273 TraceCheckUtils]: 201: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,571 INFO L273 TraceCheckUtils]: 202: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,571 INFO L273 TraceCheckUtils]: 203: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,571 INFO L273 TraceCheckUtils]: 204: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,571 INFO L273 TraceCheckUtils]: 205: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,571 INFO L273 TraceCheckUtils]: 206: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,571 INFO L273 TraceCheckUtils]: 207: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,571 INFO L273 TraceCheckUtils]: 208: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,571 INFO L273 TraceCheckUtils]: 209: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,571 INFO L273 TraceCheckUtils]: 210: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,572 INFO L273 TraceCheckUtils]: 211: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,572 INFO L273 TraceCheckUtils]: 212: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,572 INFO L273 TraceCheckUtils]: 213: Hoare triple {23318#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23318#false} is VALID [2018-11-23 12:17:52,572 INFO L273 TraceCheckUtils]: 214: Hoare triple {23318#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23318#false} is VALID [2018-11-23 12:17:52,572 INFO L273 TraceCheckUtils]: 215: Hoare triple {23318#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23318#false} is VALID [2018-11-23 12:17:52,572 INFO L273 TraceCheckUtils]: 216: Hoare triple {23318#false} assume !(~i~0 < 20); {23318#false} is VALID [2018-11-23 12:17:52,572 INFO L273 TraceCheckUtils]: 217: Hoare triple {23318#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {23318#false} is VALID [2018-11-23 12:17:52,572 INFO L273 TraceCheckUtils]: 218: Hoare triple {23318#false} assume true; {23318#false} is VALID [2018-11-23 12:17:52,572 INFO L268 TraceCheckUtils]: 219: Hoare quadruple {23318#false} {23318#false} #79#return; {23318#false} is VALID [2018-11-23 12:17:52,572 INFO L273 TraceCheckUtils]: 220: Hoare triple {23318#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {23318#false} is VALID [2018-11-23 12:17:52,572 INFO L273 TraceCheckUtils]: 221: Hoare triple {23318#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {23318#false} is VALID [2018-11-23 12:17:52,573 INFO L273 TraceCheckUtils]: 222: Hoare triple {23318#false} assume !false; {23318#false} is VALID [2018-11-23 12:17:52,591 INFO L134 CoverageAnalysis]: Checked inductivity of 3584 backedges. 1414 proven. 330 refuted. 0 times theorem prover too weak. 1840 trivial. 0 not checked. [2018-11-23 12:17:52,613 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:52,614 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 19 [2018-11-23 12:17:52,614 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 223 [2018-11-23 12:17:52,615 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:52,615 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:17:52,715 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:52,716 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:17:52,716 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:17:52,716 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=171, Invalid=171, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:17:52,717 INFO L87 Difference]: Start difference. First operand 124 states and 143 transitions. Second operand 19 states. [2018-11-23 12:17:53,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:53,062 INFO L93 Difference]: Finished difference Result 205 states and 247 transitions. [2018-11-23 12:17:53,062 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 12:17:53,062 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 223 [2018-11-23 12:17:53,063 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:53,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:17:53,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 121 transitions. [2018-11-23 12:17:53,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:17:53,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 121 transitions. [2018-11-23 12:17:53,065 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 121 transitions. [2018-11-23 12:17:53,276 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:53,279 INFO L225 Difference]: With dead ends: 205 [2018-11-23 12:17:53,279 INFO L226 Difference]: Without dead ends: 129 [2018-11-23 12:17:53,280 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 240 GetRequests, 223 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=171, Invalid=171, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:17:53,280 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2018-11-23 12:17:53,323 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 127. [2018-11-23 12:17:53,323 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:53,323 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand 127 states. [2018-11-23 12:17:53,323 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand 127 states. [2018-11-23 12:17:53,324 INFO L87 Difference]: Start difference. First operand 129 states. Second operand 127 states. [2018-11-23 12:17:53,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:53,326 INFO L93 Difference]: Finished difference Result 129 states and 150 transitions. [2018-11-23 12:17:53,326 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 150 transitions. [2018-11-23 12:17:53,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:53,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:53,327 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand 129 states. [2018-11-23 12:17:53,327 INFO L87 Difference]: Start difference. First operand 127 states. Second operand 129 states. [2018-11-23 12:17:53,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:53,329 INFO L93 Difference]: Finished difference Result 129 states and 150 transitions. [2018-11-23 12:17:53,330 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 150 transitions. [2018-11-23 12:17:53,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:53,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:53,330 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:53,330 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:53,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 127 states. [2018-11-23 12:17:53,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 147 transitions. [2018-11-23 12:17:53,333 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 147 transitions. Word has length 223 [2018-11-23 12:17:53,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:53,333 INFO L480 AbstractCegarLoop]: Abstraction has 127 states and 147 transitions. [2018-11-23 12:17:53,333 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:17:53,333 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 147 transitions. [2018-11-23 12:17:53,334 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 233 [2018-11-23 12:17:53,334 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:53,335 INFO L402 BasicCegarLoop]: trace histogram [48, 48, 48, 20, 20, 8, 8, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:53,335 INFO L423 AbstractCegarLoop]: === Iteration 34 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:53,335 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:53,335 INFO L82 PathProgramCache]: Analyzing trace with hash 387729806, now seen corresponding path program 30 times [2018-11-23 12:17:53,335 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:53,335 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:53,336 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:53,336 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:53,336 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:53,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:53,830 INFO L256 TraceCheckUtils]: 0: Hoare triple {24732#true} call ULTIMATE.init(); {24732#true} is VALID [2018-11-23 12:17:53,830 INFO L273 TraceCheckUtils]: 1: Hoare triple {24732#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {24732#true} is VALID [2018-11-23 12:17:53,830 INFO L273 TraceCheckUtils]: 2: Hoare triple {24732#true} assume true; {24732#true} is VALID [2018-11-23 12:17:53,830 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {24732#true} {24732#true} #71#return; {24732#true} is VALID [2018-11-23 12:17:53,830 INFO L256 TraceCheckUtils]: 4: Hoare triple {24732#true} call #t~ret14 := main(); {24732#true} is VALID [2018-11-23 12:17:53,830 INFO L273 TraceCheckUtils]: 5: Hoare triple {24732#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {24732#true} is VALID [2018-11-23 12:17:53,831 INFO L273 TraceCheckUtils]: 6: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,831 INFO L273 TraceCheckUtils]: 7: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,831 INFO L273 TraceCheckUtils]: 8: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,831 INFO L273 TraceCheckUtils]: 9: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,831 INFO L273 TraceCheckUtils]: 10: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,831 INFO L273 TraceCheckUtils]: 11: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,831 INFO L273 TraceCheckUtils]: 12: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,831 INFO L273 TraceCheckUtils]: 13: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,832 INFO L273 TraceCheckUtils]: 14: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,832 INFO L273 TraceCheckUtils]: 15: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,832 INFO L273 TraceCheckUtils]: 16: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,832 INFO L273 TraceCheckUtils]: 17: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,832 INFO L273 TraceCheckUtils]: 18: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,832 INFO L273 TraceCheckUtils]: 19: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,833 INFO L273 TraceCheckUtils]: 20: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,833 INFO L273 TraceCheckUtils]: 21: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,833 INFO L273 TraceCheckUtils]: 22: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,833 INFO L273 TraceCheckUtils]: 23: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,833 INFO L273 TraceCheckUtils]: 24: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,833 INFO L273 TraceCheckUtils]: 25: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,833 INFO L273 TraceCheckUtils]: 26: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,834 INFO L273 TraceCheckUtils]: 27: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,834 INFO L273 TraceCheckUtils]: 28: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,834 INFO L273 TraceCheckUtils]: 29: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,834 INFO L273 TraceCheckUtils]: 30: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,834 INFO L273 TraceCheckUtils]: 31: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,834 INFO L273 TraceCheckUtils]: 32: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,834 INFO L273 TraceCheckUtils]: 33: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,834 INFO L273 TraceCheckUtils]: 34: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,834 INFO L273 TraceCheckUtils]: 35: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,834 INFO L273 TraceCheckUtils]: 36: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,835 INFO L273 TraceCheckUtils]: 37: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,835 INFO L273 TraceCheckUtils]: 38: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,835 INFO L273 TraceCheckUtils]: 39: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,835 INFO L273 TraceCheckUtils]: 40: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,835 INFO L273 TraceCheckUtils]: 41: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,835 INFO L273 TraceCheckUtils]: 42: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,835 INFO L273 TraceCheckUtils]: 43: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,835 INFO L273 TraceCheckUtils]: 44: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:53,835 INFO L273 TraceCheckUtils]: 45: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:53,835 INFO L273 TraceCheckUtils]: 46: Hoare triple {24732#true} assume !(~i~1 < 20); {24732#true} is VALID [2018-11-23 12:17:53,836 INFO L256 TraceCheckUtils]: 47: Hoare triple {24732#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {24732#true} is VALID [2018-11-23 12:17:53,836 INFO L273 TraceCheckUtils]: 48: Hoare triple {24732#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {24734#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:53,836 INFO L273 TraceCheckUtils]: 49: Hoare triple {24734#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24734#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:53,837 INFO L273 TraceCheckUtils]: 50: Hoare triple {24734#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24734#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:53,837 INFO L273 TraceCheckUtils]: 51: Hoare triple {24734#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24735#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:53,837 INFO L273 TraceCheckUtils]: 52: Hoare triple {24735#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24735#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:53,838 INFO L273 TraceCheckUtils]: 53: Hoare triple {24735#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24735#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:53,838 INFO L273 TraceCheckUtils]: 54: Hoare triple {24735#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24736#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:53,838 INFO L273 TraceCheckUtils]: 55: Hoare triple {24736#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24736#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:53,839 INFO L273 TraceCheckUtils]: 56: Hoare triple {24736#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24736#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:53,839 INFO L273 TraceCheckUtils]: 57: Hoare triple {24736#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24737#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:53,839 INFO L273 TraceCheckUtils]: 58: Hoare triple {24737#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24737#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:53,840 INFO L273 TraceCheckUtils]: 59: Hoare triple {24737#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24737#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:53,841 INFO L273 TraceCheckUtils]: 60: Hoare triple {24737#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24738#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:53,841 INFO L273 TraceCheckUtils]: 61: Hoare triple {24738#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24738#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:53,842 INFO L273 TraceCheckUtils]: 62: Hoare triple {24738#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24738#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:53,842 INFO L273 TraceCheckUtils]: 63: Hoare triple {24738#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24739#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:53,843 INFO L273 TraceCheckUtils]: 64: Hoare triple {24739#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24739#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:53,843 INFO L273 TraceCheckUtils]: 65: Hoare triple {24739#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24739#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:53,844 INFO L273 TraceCheckUtils]: 66: Hoare triple {24739#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24740#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:53,844 INFO L273 TraceCheckUtils]: 67: Hoare triple {24740#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24740#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:53,845 INFO L273 TraceCheckUtils]: 68: Hoare triple {24740#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24740#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:53,845 INFO L273 TraceCheckUtils]: 69: Hoare triple {24740#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24741#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:53,846 INFO L273 TraceCheckUtils]: 70: Hoare triple {24741#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24741#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:53,846 INFO L273 TraceCheckUtils]: 71: Hoare triple {24741#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24741#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:53,847 INFO L273 TraceCheckUtils]: 72: Hoare triple {24741#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24742#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:53,848 INFO L273 TraceCheckUtils]: 73: Hoare triple {24742#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24742#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:53,848 INFO L273 TraceCheckUtils]: 74: Hoare triple {24742#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24742#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:53,849 INFO L273 TraceCheckUtils]: 75: Hoare triple {24742#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24743#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:53,849 INFO L273 TraceCheckUtils]: 76: Hoare triple {24743#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24743#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:53,850 INFO L273 TraceCheckUtils]: 77: Hoare triple {24743#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24743#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:53,850 INFO L273 TraceCheckUtils]: 78: Hoare triple {24743#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24744#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:53,851 INFO L273 TraceCheckUtils]: 79: Hoare triple {24744#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24744#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:53,851 INFO L273 TraceCheckUtils]: 80: Hoare triple {24744#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24744#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:53,852 INFO L273 TraceCheckUtils]: 81: Hoare triple {24744#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24745#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:53,853 INFO L273 TraceCheckUtils]: 82: Hoare triple {24745#(<= sep_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24745#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:53,853 INFO L273 TraceCheckUtils]: 83: Hoare triple {24745#(<= sep_~i~0 11)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24745#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:53,854 INFO L273 TraceCheckUtils]: 84: Hoare triple {24745#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24746#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:53,854 INFO L273 TraceCheckUtils]: 85: Hoare triple {24746#(<= sep_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24746#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:53,855 INFO L273 TraceCheckUtils]: 86: Hoare triple {24746#(<= sep_~i~0 12)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24746#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:53,855 INFO L273 TraceCheckUtils]: 87: Hoare triple {24746#(<= sep_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24747#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:53,856 INFO L273 TraceCheckUtils]: 88: Hoare triple {24747#(<= sep_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24747#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:53,856 INFO L273 TraceCheckUtils]: 89: Hoare triple {24747#(<= sep_~i~0 13)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24747#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:53,857 INFO L273 TraceCheckUtils]: 90: Hoare triple {24747#(<= sep_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24748#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:53,857 INFO L273 TraceCheckUtils]: 91: Hoare triple {24748#(<= sep_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24748#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:53,858 INFO L273 TraceCheckUtils]: 92: Hoare triple {24748#(<= sep_~i~0 14)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24748#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:53,858 INFO L273 TraceCheckUtils]: 93: Hoare triple {24748#(<= sep_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24749#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:53,859 INFO L273 TraceCheckUtils]: 94: Hoare triple {24749#(<= sep_~i~0 15)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24749#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:53,859 INFO L273 TraceCheckUtils]: 95: Hoare triple {24749#(<= sep_~i~0 15)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24749#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:53,860 INFO L273 TraceCheckUtils]: 96: Hoare triple {24749#(<= sep_~i~0 15)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24750#(<= sep_~i~0 16)} is VALID [2018-11-23 12:17:53,861 INFO L273 TraceCheckUtils]: 97: Hoare triple {24750#(<= sep_~i~0 16)} assume !(~i~0 < 20); {24733#false} is VALID [2018-11-23 12:17:53,861 INFO L273 TraceCheckUtils]: 98: Hoare triple {24733#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {24733#false} is VALID [2018-11-23 12:17:53,861 INFO L273 TraceCheckUtils]: 99: Hoare triple {24733#false} assume true; {24733#false} is VALID [2018-11-23 12:17:53,861 INFO L268 TraceCheckUtils]: 100: Hoare quadruple {24733#false} {24732#true} #75#return; {24733#false} is VALID [2018-11-23 12:17:53,861 INFO L273 TraceCheckUtils]: 101: Hoare triple {24733#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {24733#false} is VALID [2018-11-23 12:17:53,862 INFO L256 TraceCheckUtils]: 102: Hoare triple {24733#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {24732#true} is VALID [2018-11-23 12:17:53,862 INFO L273 TraceCheckUtils]: 103: Hoare triple {24732#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {24732#true} is VALID [2018-11-23 12:17:53,862 INFO L273 TraceCheckUtils]: 104: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,862 INFO L273 TraceCheckUtils]: 105: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,862 INFO L273 TraceCheckUtils]: 106: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,863 INFO L273 TraceCheckUtils]: 107: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,863 INFO L273 TraceCheckUtils]: 108: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,863 INFO L273 TraceCheckUtils]: 109: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,863 INFO L273 TraceCheckUtils]: 110: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,863 INFO L273 TraceCheckUtils]: 111: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,863 INFO L273 TraceCheckUtils]: 112: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,864 INFO L273 TraceCheckUtils]: 113: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,864 INFO L273 TraceCheckUtils]: 114: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,864 INFO L273 TraceCheckUtils]: 115: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,864 INFO L273 TraceCheckUtils]: 116: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,864 INFO L273 TraceCheckUtils]: 117: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,864 INFO L273 TraceCheckUtils]: 118: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,865 INFO L273 TraceCheckUtils]: 119: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,865 INFO L273 TraceCheckUtils]: 120: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,865 INFO L273 TraceCheckUtils]: 121: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,865 INFO L273 TraceCheckUtils]: 122: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,865 INFO L273 TraceCheckUtils]: 123: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,865 INFO L273 TraceCheckUtils]: 124: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,865 INFO L273 TraceCheckUtils]: 125: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,865 INFO L273 TraceCheckUtils]: 126: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,866 INFO L273 TraceCheckUtils]: 127: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,866 INFO L273 TraceCheckUtils]: 128: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,866 INFO L273 TraceCheckUtils]: 129: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,866 INFO L273 TraceCheckUtils]: 130: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,866 INFO L273 TraceCheckUtils]: 131: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,866 INFO L273 TraceCheckUtils]: 132: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,866 INFO L273 TraceCheckUtils]: 133: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,866 INFO L273 TraceCheckUtils]: 134: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,866 INFO L273 TraceCheckUtils]: 135: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,867 INFO L273 TraceCheckUtils]: 136: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,867 INFO L273 TraceCheckUtils]: 137: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,867 INFO L273 TraceCheckUtils]: 138: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,867 INFO L273 TraceCheckUtils]: 139: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,867 INFO L273 TraceCheckUtils]: 140: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,867 INFO L273 TraceCheckUtils]: 141: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,867 INFO L273 TraceCheckUtils]: 142: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,867 INFO L273 TraceCheckUtils]: 143: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,867 INFO L273 TraceCheckUtils]: 144: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,867 INFO L273 TraceCheckUtils]: 145: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,868 INFO L273 TraceCheckUtils]: 146: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,868 INFO L273 TraceCheckUtils]: 147: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,868 INFO L273 TraceCheckUtils]: 148: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,868 INFO L273 TraceCheckUtils]: 149: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,868 INFO L273 TraceCheckUtils]: 150: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,868 INFO L273 TraceCheckUtils]: 151: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,868 INFO L273 TraceCheckUtils]: 152: Hoare triple {24732#true} assume !(~i~0 < 20); {24732#true} is VALID [2018-11-23 12:17:53,868 INFO L273 TraceCheckUtils]: 153: Hoare triple {24732#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {24732#true} is VALID [2018-11-23 12:17:53,868 INFO L273 TraceCheckUtils]: 154: Hoare triple {24732#true} assume true; {24732#true} is VALID [2018-11-23 12:17:53,868 INFO L268 TraceCheckUtils]: 155: Hoare quadruple {24732#true} {24733#false} #77#return; {24733#false} is VALID [2018-11-23 12:17:53,869 INFO L273 TraceCheckUtils]: 156: Hoare triple {24733#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {24733#false} is VALID [2018-11-23 12:17:53,869 INFO L273 TraceCheckUtils]: 157: Hoare triple {24733#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24733#false} is VALID [2018-11-23 12:17:53,869 INFO L273 TraceCheckUtils]: 158: Hoare triple {24733#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24733#false} is VALID [2018-11-23 12:17:53,869 INFO L273 TraceCheckUtils]: 159: Hoare triple {24733#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24733#false} is VALID [2018-11-23 12:17:53,869 INFO L273 TraceCheckUtils]: 160: Hoare triple {24733#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24733#false} is VALID [2018-11-23 12:17:53,869 INFO L273 TraceCheckUtils]: 161: Hoare triple {24733#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24733#false} is VALID [2018-11-23 12:17:53,869 INFO L273 TraceCheckUtils]: 162: Hoare triple {24733#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24733#false} is VALID [2018-11-23 12:17:53,869 INFO L273 TraceCheckUtils]: 163: Hoare triple {24733#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24733#false} is VALID [2018-11-23 12:17:53,869 INFO L273 TraceCheckUtils]: 164: Hoare triple {24733#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24733#false} is VALID [2018-11-23 12:17:53,869 INFO L273 TraceCheckUtils]: 165: Hoare triple {24733#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24733#false} is VALID [2018-11-23 12:17:53,870 INFO L273 TraceCheckUtils]: 166: Hoare triple {24733#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24733#false} is VALID [2018-11-23 12:17:53,870 INFO L273 TraceCheckUtils]: 167: Hoare triple {24733#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24733#false} is VALID [2018-11-23 12:17:53,870 INFO L273 TraceCheckUtils]: 168: Hoare triple {24733#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24733#false} is VALID [2018-11-23 12:17:53,870 INFO L273 TraceCheckUtils]: 169: Hoare triple {24733#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24733#false} is VALID [2018-11-23 12:17:53,870 INFO L273 TraceCheckUtils]: 170: Hoare triple {24733#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24733#false} is VALID [2018-11-23 12:17:53,870 INFO L273 TraceCheckUtils]: 171: Hoare triple {24733#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24733#false} is VALID [2018-11-23 12:17:53,870 INFO L273 TraceCheckUtils]: 172: Hoare triple {24733#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24733#false} is VALID [2018-11-23 12:17:53,870 INFO L273 TraceCheckUtils]: 173: Hoare triple {24733#false} assume !(~i~2 < 19); {24733#false} is VALID [2018-11-23 12:17:53,870 INFO L273 TraceCheckUtils]: 174: Hoare triple {24733#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {24733#false} is VALID [2018-11-23 12:17:53,870 INFO L256 TraceCheckUtils]: 175: Hoare triple {24733#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {24732#true} is VALID [2018-11-23 12:17:53,871 INFO L273 TraceCheckUtils]: 176: Hoare triple {24732#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {24732#true} is VALID [2018-11-23 12:17:53,871 INFO L273 TraceCheckUtils]: 177: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,871 INFO L273 TraceCheckUtils]: 178: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,871 INFO L273 TraceCheckUtils]: 179: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,871 INFO L273 TraceCheckUtils]: 180: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,871 INFO L273 TraceCheckUtils]: 181: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,871 INFO L273 TraceCheckUtils]: 182: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,871 INFO L273 TraceCheckUtils]: 183: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,871 INFO L273 TraceCheckUtils]: 184: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,871 INFO L273 TraceCheckUtils]: 185: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,872 INFO L273 TraceCheckUtils]: 186: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,872 INFO L273 TraceCheckUtils]: 187: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,872 INFO L273 TraceCheckUtils]: 188: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,872 INFO L273 TraceCheckUtils]: 189: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,872 INFO L273 TraceCheckUtils]: 190: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,872 INFO L273 TraceCheckUtils]: 191: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,872 INFO L273 TraceCheckUtils]: 192: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,872 INFO L273 TraceCheckUtils]: 193: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,872 INFO L273 TraceCheckUtils]: 194: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,873 INFO L273 TraceCheckUtils]: 195: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,873 INFO L273 TraceCheckUtils]: 196: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,873 INFO L273 TraceCheckUtils]: 197: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,873 INFO L273 TraceCheckUtils]: 198: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,873 INFO L273 TraceCheckUtils]: 199: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,873 INFO L273 TraceCheckUtils]: 200: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,873 INFO L273 TraceCheckUtils]: 201: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,873 INFO L273 TraceCheckUtils]: 202: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,873 INFO L273 TraceCheckUtils]: 203: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,873 INFO L273 TraceCheckUtils]: 204: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,874 INFO L273 TraceCheckUtils]: 205: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,874 INFO L273 TraceCheckUtils]: 206: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,874 INFO L273 TraceCheckUtils]: 207: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,874 INFO L273 TraceCheckUtils]: 208: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,874 INFO L273 TraceCheckUtils]: 209: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,874 INFO L273 TraceCheckUtils]: 210: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,874 INFO L273 TraceCheckUtils]: 211: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,874 INFO L273 TraceCheckUtils]: 212: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,874 INFO L273 TraceCheckUtils]: 213: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,874 INFO L273 TraceCheckUtils]: 214: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,875 INFO L273 TraceCheckUtils]: 215: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,875 INFO L273 TraceCheckUtils]: 216: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,875 INFO L273 TraceCheckUtils]: 217: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,875 INFO L273 TraceCheckUtils]: 218: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,875 INFO L273 TraceCheckUtils]: 219: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,875 INFO L273 TraceCheckUtils]: 220: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,875 INFO L273 TraceCheckUtils]: 221: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,875 INFO L273 TraceCheckUtils]: 222: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:53,875 INFO L273 TraceCheckUtils]: 223: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:53,875 INFO L273 TraceCheckUtils]: 224: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:53,876 INFO L273 TraceCheckUtils]: 225: Hoare triple {24732#true} assume !(~i~0 < 20); {24732#true} is VALID [2018-11-23 12:17:53,876 INFO L273 TraceCheckUtils]: 226: Hoare triple {24732#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {24732#true} is VALID [2018-11-23 12:17:53,876 INFO L273 TraceCheckUtils]: 227: Hoare triple {24732#true} assume true; {24732#true} is VALID [2018-11-23 12:17:53,876 INFO L268 TraceCheckUtils]: 228: Hoare quadruple {24732#true} {24733#false} #79#return; {24733#false} is VALID [2018-11-23 12:17:53,876 INFO L273 TraceCheckUtils]: 229: Hoare triple {24733#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {24733#false} is VALID [2018-11-23 12:17:53,876 INFO L273 TraceCheckUtils]: 230: Hoare triple {24733#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {24733#false} is VALID [2018-11-23 12:17:53,876 INFO L273 TraceCheckUtils]: 231: Hoare triple {24733#false} assume !false; {24733#false} is VALID [2018-11-23 12:17:53,898 INFO L134 CoverageAnalysis]: Checked inductivity of 4007 backedges. 0 proven. 1984 refuted. 0 times theorem prover too weak. 2023 trivial. 0 not checked. [2018-11-23 12:17:53,898 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:53,898 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:53,908 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:17:54,370 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 19 check-sat command(s) [2018-11-23 12:17:54,370 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:54,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:54,415 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:55,000 INFO L256 TraceCheckUtils]: 0: Hoare triple {24732#true} call ULTIMATE.init(); {24732#true} is VALID [2018-11-23 12:17:55,000 INFO L273 TraceCheckUtils]: 1: Hoare triple {24732#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {24732#true} is VALID [2018-11-23 12:17:55,000 INFO L273 TraceCheckUtils]: 2: Hoare triple {24732#true} assume true; {24732#true} is VALID [2018-11-23 12:17:55,001 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {24732#true} {24732#true} #71#return; {24732#true} is VALID [2018-11-23 12:17:55,001 INFO L256 TraceCheckUtils]: 4: Hoare triple {24732#true} call #t~ret14 := main(); {24732#true} is VALID [2018-11-23 12:17:55,001 INFO L273 TraceCheckUtils]: 5: Hoare triple {24732#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {24732#true} is VALID [2018-11-23 12:17:55,001 INFO L273 TraceCheckUtils]: 6: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,001 INFO L273 TraceCheckUtils]: 7: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,001 INFO L273 TraceCheckUtils]: 8: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,002 INFO L273 TraceCheckUtils]: 9: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,002 INFO L273 TraceCheckUtils]: 10: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,002 INFO L273 TraceCheckUtils]: 11: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,002 INFO L273 TraceCheckUtils]: 12: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,002 INFO L273 TraceCheckUtils]: 13: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,002 INFO L273 TraceCheckUtils]: 14: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,002 INFO L273 TraceCheckUtils]: 15: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,002 INFO L273 TraceCheckUtils]: 16: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,002 INFO L273 TraceCheckUtils]: 17: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,002 INFO L273 TraceCheckUtils]: 18: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,003 INFO L273 TraceCheckUtils]: 19: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,003 INFO L273 TraceCheckUtils]: 20: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,003 INFO L273 TraceCheckUtils]: 21: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,003 INFO L273 TraceCheckUtils]: 22: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,003 INFO L273 TraceCheckUtils]: 23: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,003 INFO L273 TraceCheckUtils]: 24: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,003 INFO L273 TraceCheckUtils]: 25: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,003 INFO L273 TraceCheckUtils]: 26: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,003 INFO L273 TraceCheckUtils]: 27: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,003 INFO L273 TraceCheckUtils]: 28: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,004 INFO L273 TraceCheckUtils]: 29: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,004 INFO L273 TraceCheckUtils]: 30: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,004 INFO L273 TraceCheckUtils]: 31: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,004 INFO L273 TraceCheckUtils]: 32: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,004 INFO L273 TraceCheckUtils]: 33: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,004 INFO L273 TraceCheckUtils]: 34: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,004 INFO L273 TraceCheckUtils]: 35: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,004 INFO L273 TraceCheckUtils]: 36: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,004 INFO L273 TraceCheckUtils]: 37: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,005 INFO L273 TraceCheckUtils]: 38: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,005 INFO L273 TraceCheckUtils]: 39: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,005 INFO L273 TraceCheckUtils]: 40: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,005 INFO L273 TraceCheckUtils]: 41: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,005 INFO L273 TraceCheckUtils]: 42: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,005 INFO L273 TraceCheckUtils]: 43: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,005 INFO L273 TraceCheckUtils]: 44: Hoare triple {24732#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24732#true} is VALID [2018-11-23 12:17:55,005 INFO L273 TraceCheckUtils]: 45: Hoare triple {24732#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24732#true} is VALID [2018-11-23 12:17:55,005 INFO L273 TraceCheckUtils]: 46: Hoare triple {24732#true} assume !(~i~1 < 20); {24732#true} is VALID [2018-11-23 12:17:55,005 INFO L256 TraceCheckUtils]: 47: Hoare triple {24732#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {24732#true} is VALID [2018-11-23 12:17:55,006 INFO L273 TraceCheckUtils]: 48: Hoare triple {24732#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {24732#true} is VALID [2018-11-23 12:17:55,006 INFO L273 TraceCheckUtils]: 49: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,006 INFO L273 TraceCheckUtils]: 50: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,006 INFO L273 TraceCheckUtils]: 51: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,006 INFO L273 TraceCheckUtils]: 52: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,006 INFO L273 TraceCheckUtils]: 53: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,006 INFO L273 TraceCheckUtils]: 54: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,006 INFO L273 TraceCheckUtils]: 55: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,006 INFO L273 TraceCheckUtils]: 56: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,006 INFO L273 TraceCheckUtils]: 57: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,007 INFO L273 TraceCheckUtils]: 58: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,007 INFO L273 TraceCheckUtils]: 59: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,007 INFO L273 TraceCheckUtils]: 60: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,007 INFO L273 TraceCheckUtils]: 61: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,007 INFO L273 TraceCheckUtils]: 62: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,007 INFO L273 TraceCheckUtils]: 63: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,007 INFO L273 TraceCheckUtils]: 64: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,007 INFO L273 TraceCheckUtils]: 65: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,007 INFO L273 TraceCheckUtils]: 66: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,007 INFO L273 TraceCheckUtils]: 67: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,008 INFO L273 TraceCheckUtils]: 68: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,008 INFO L273 TraceCheckUtils]: 69: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,008 INFO L273 TraceCheckUtils]: 70: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,008 INFO L273 TraceCheckUtils]: 71: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,008 INFO L273 TraceCheckUtils]: 72: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,008 INFO L273 TraceCheckUtils]: 73: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,008 INFO L273 TraceCheckUtils]: 74: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,008 INFO L273 TraceCheckUtils]: 75: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,008 INFO L273 TraceCheckUtils]: 76: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,008 INFO L273 TraceCheckUtils]: 77: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,009 INFO L273 TraceCheckUtils]: 78: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,009 INFO L273 TraceCheckUtils]: 79: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,009 INFO L273 TraceCheckUtils]: 80: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,009 INFO L273 TraceCheckUtils]: 81: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,009 INFO L273 TraceCheckUtils]: 82: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,009 INFO L273 TraceCheckUtils]: 83: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,009 INFO L273 TraceCheckUtils]: 84: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,009 INFO L273 TraceCheckUtils]: 85: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,009 INFO L273 TraceCheckUtils]: 86: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,010 INFO L273 TraceCheckUtils]: 87: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,010 INFO L273 TraceCheckUtils]: 88: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,010 INFO L273 TraceCheckUtils]: 89: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,010 INFO L273 TraceCheckUtils]: 90: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,010 INFO L273 TraceCheckUtils]: 91: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,010 INFO L273 TraceCheckUtils]: 92: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,010 INFO L273 TraceCheckUtils]: 93: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,010 INFO L273 TraceCheckUtils]: 94: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,010 INFO L273 TraceCheckUtils]: 95: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,010 INFO L273 TraceCheckUtils]: 96: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,011 INFO L273 TraceCheckUtils]: 97: Hoare triple {24732#true} assume !(~i~0 < 20); {24732#true} is VALID [2018-11-23 12:17:55,011 INFO L273 TraceCheckUtils]: 98: Hoare triple {24732#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {24732#true} is VALID [2018-11-23 12:17:55,011 INFO L273 TraceCheckUtils]: 99: Hoare triple {24732#true} assume true; {24732#true} is VALID [2018-11-23 12:17:55,011 INFO L268 TraceCheckUtils]: 100: Hoare quadruple {24732#true} {24732#true} #75#return; {24732#true} is VALID [2018-11-23 12:17:55,011 INFO L273 TraceCheckUtils]: 101: Hoare triple {24732#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {24732#true} is VALID [2018-11-23 12:17:55,011 INFO L256 TraceCheckUtils]: 102: Hoare triple {24732#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {24732#true} is VALID [2018-11-23 12:17:55,011 INFO L273 TraceCheckUtils]: 103: Hoare triple {24732#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {24732#true} is VALID [2018-11-23 12:17:55,011 INFO L273 TraceCheckUtils]: 104: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,011 INFO L273 TraceCheckUtils]: 105: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,011 INFO L273 TraceCheckUtils]: 106: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,012 INFO L273 TraceCheckUtils]: 107: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,012 INFO L273 TraceCheckUtils]: 108: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,012 INFO L273 TraceCheckUtils]: 109: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,012 INFO L273 TraceCheckUtils]: 110: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,012 INFO L273 TraceCheckUtils]: 111: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,012 INFO L273 TraceCheckUtils]: 112: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,012 INFO L273 TraceCheckUtils]: 113: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,012 INFO L273 TraceCheckUtils]: 114: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,012 INFO L273 TraceCheckUtils]: 115: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,012 INFO L273 TraceCheckUtils]: 116: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,013 INFO L273 TraceCheckUtils]: 117: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,013 INFO L273 TraceCheckUtils]: 118: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,013 INFO L273 TraceCheckUtils]: 119: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,013 INFO L273 TraceCheckUtils]: 120: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,013 INFO L273 TraceCheckUtils]: 121: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,013 INFO L273 TraceCheckUtils]: 122: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,013 INFO L273 TraceCheckUtils]: 123: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,013 INFO L273 TraceCheckUtils]: 124: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,013 INFO L273 TraceCheckUtils]: 125: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,013 INFO L273 TraceCheckUtils]: 126: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,014 INFO L273 TraceCheckUtils]: 127: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,014 INFO L273 TraceCheckUtils]: 128: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,014 INFO L273 TraceCheckUtils]: 129: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,014 INFO L273 TraceCheckUtils]: 130: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,014 INFO L273 TraceCheckUtils]: 131: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,014 INFO L273 TraceCheckUtils]: 132: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,014 INFO L273 TraceCheckUtils]: 133: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,014 INFO L273 TraceCheckUtils]: 134: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,014 INFO L273 TraceCheckUtils]: 135: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,015 INFO L273 TraceCheckUtils]: 136: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,015 INFO L273 TraceCheckUtils]: 137: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,015 INFO L273 TraceCheckUtils]: 138: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,015 INFO L273 TraceCheckUtils]: 139: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,015 INFO L273 TraceCheckUtils]: 140: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,015 INFO L273 TraceCheckUtils]: 141: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,015 INFO L273 TraceCheckUtils]: 142: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,015 INFO L273 TraceCheckUtils]: 143: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,015 INFO L273 TraceCheckUtils]: 144: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,015 INFO L273 TraceCheckUtils]: 145: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,016 INFO L273 TraceCheckUtils]: 146: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,016 INFO L273 TraceCheckUtils]: 147: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,016 INFO L273 TraceCheckUtils]: 148: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,016 INFO L273 TraceCheckUtils]: 149: Hoare triple {24732#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24732#true} is VALID [2018-11-23 12:17:55,016 INFO L273 TraceCheckUtils]: 150: Hoare triple {24732#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24732#true} is VALID [2018-11-23 12:17:55,016 INFO L273 TraceCheckUtils]: 151: Hoare triple {24732#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24732#true} is VALID [2018-11-23 12:17:55,016 INFO L273 TraceCheckUtils]: 152: Hoare triple {24732#true} assume !(~i~0 < 20); {24732#true} is VALID [2018-11-23 12:17:55,016 INFO L273 TraceCheckUtils]: 153: Hoare triple {24732#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {24732#true} is VALID [2018-11-23 12:17:55,016 INFO L273 TraceCheckUtils]: 154: Hoare triple {24732#true} assume true; {24732#true} is VALID [2018-11-23 12:17:55,016 INFO L268 TraceCheckUtils]: 155: Hoare quadruple {24732#true} {24732#true} #77#return; {24732#true} is VALID [2018-11-23 12:17:55,017 INFO L273 TraceCheckUtils]: 156: Hoare triple {24732#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {25222#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:55,017 INFO L273 TraceCheckUtils]: 157: Hoare triple {25222#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25222#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:55,018 INFO L273 TraceCheckUtils]: 158: Hoare triple {25222#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25229#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:55,018 INFO L273 TraceCheckUtils]: 159: Hoare triple {25229#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25229#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:55,018 INFO L273 TraceCheckUtils]: 160: Hoare triple {25229#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25236#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:55,019 INFO L273 TraceCheckUtils]: 161: Hoare triple {25236#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25236#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:55,019 INFO L273 TraceCheckUtils]: 162: Hoare triple {25236#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25243#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:55,019 INFO L273 TraceCheckUtils]: 163: Hoare triple {25243#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25243#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:55,020 INFO L273 TraceCheckUtils]: 164: Hoare triple {25243#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25250#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:55,020 INFO L273 TraceCheckUtils]: 165: Hoare triple {25250#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25250#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:55,021 INFO L273 TraceCheckUtils]: 166: Hoare triple {25250#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25257#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:55,021 INFO L273 TraceCheckUtils]: 167: Hoare triple {25257#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25257#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:55,022 INFO L273 TraceCheckUtils]: 168: Hoare triple {25257#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25264#(<= main_~i~2 6)} is VALID [2018-11-23 12:17:55,022 INFO L273 TraceCheckUtils]: 169: Hoare triple {25264#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25264#(<= main_~i~2 6)} is VALID [2018-11-23 12:17:55,023 INFO L273 TraceCheckUtils]: 170: Hoare triple {25264#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25271#(<= main_~i~2 7)} is VALID [2018-11-23 12:17:55,024 INFO L273 TraceCheckUtils]: 171: Hoare triple {25271#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25271#(<= main_~i~2 7)} is VALID [2018-11-23 12:17:55,024 INFO L273 TraceCheckUtils]: 172: Hoare triple {25271#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25278#(<= main_~i~2 8)} is VALID [2018-11-23 12:17:55,025 INFO L273 TraceCheckUtils]: 173: Hoare triple {25278#(<= main_~i~2 8)} assume !(~i~2 < 19); {24733#false} is VALID [2018-11-23 12:17:55,025 INFO L273 TraceCheckUtils]: 174: Hoare triple {24733#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {24733#false} is VALID [2018-11-23 12:17:55,025 INFO L256 TraceCheckUtils]: 175: Hoare triple {24733#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {24733#false} is VALID [2018-11-23 12:17:55,026 INFO L273 TraceCheckUtils]: 176: Hoare triple {24733#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {24733#false} is VALID [2018-11-23 12:17:55,026 INFO L273 TraceCheckUtils]: 177: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,026 INFO L273 TraceCheckUtils]: 178: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,026 INFO L273 TraceCheckUtils]: 179: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,026 INFO L273 TraceCheckUtils]: 180: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,027 INFO L273 TraceCheckUtils]: 181: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,027 INFO L273 TraceCheckUtils]: 182: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,027 INFO L273 TraceCheckUtils]: 183: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,027 INFO L273 TraceCheckUtils]: 184: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,027 INFO L273 TraceCheckUtils]: 185: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,027 INFO L273 TraceCheckUtils]: 186: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,027 INFO L273 TraceCheckUtils]: 187: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,028 INFO L273 TraceCheckUtils]: 188: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,028 INFO L273 TraceCheckUtils]: 189: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,028 INFO L273 TraceCheckUtils]: 190: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,028 INFO L273 TraceCheckUtils]: 191: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,028 INFO L273 TraceCheckUtils]: 192: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,028 INFO L273 TraceCheckUtils]: 193: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,028 INFO L273 TraceCheckUtils]: 194: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,028 INFO L273 TraceCheckUtils]: 195: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,028 INFO L273 TraceCheckUtils]: 196: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,028 INFO L273 TraceCheckUtils]: 197: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,029 INFO L273 TraceCheckUtils]: 198: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,029 INFO L273 TraceCheckUtils]: 199: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,029 INFO L273 TraceCheckUtils]: 200: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,029 INFO L273 TraceCheckUtils]: 201: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,029 INFO L273 TraceCheckUtils]: 202: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,029 INFO L273 TraceCheckUtils]: 203: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,029 INFO L273 TraceCheckUtils]: 204: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,029 INFO L273 TraceCheckUtils]: 205: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,029 INFO L273 TraceCheckUtils]: 206: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,029 INFO L273 TraceCheckUtils]: 207: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,030 INFO L273 TraceCheckUtils]: 208: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,030 INFO L273 TraceCheckUtils]: 209: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,030 INFO L273 TraceCheckUtils]: 210: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,030 INFO L273 TraceCheckUtils]: 211: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,030 INFO L273 TraceCheckUtils]: 212: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,030 INFO L273 TraceCheckUtils]: 213: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,030 INFO L273 TraceCheckUtils]: 214: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,030 INFO L273 TraceCheckUtils]: 215: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,030 INFO L273 TraceCheckUtils]: 216: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,031 INFO L273 TraceCheckUtils]: 217: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,031 INFO L273 TraceCheckUtils]: 218: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,031 INFO L273 TraceCheckUtils]: 219: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,031 INFO L273 TraceCheckUtils]: 220: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,031 INFO L273 TraceCheckUtils]: 221: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,031 INFO L273 TraceCheckUtils]: 222: Hoare triple {24733#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24733#false} is VALID [2018-11-23 12:17:55,031 INFO L273 TraceCheckUtils]: 223: Hoare triple {24733#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24733#false} is VALID [2018-11-23 12:17:55,031 INFO L273 TraceCheckUtils]: 224: Hoare triple {24733#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24733#false} is VALID [2018-11-23 12:17:55,031 INFO L273 TraceCheckUtils]: 225: Hoare triple {24733#false} assume !(~i~0 < 20); {24733#false} is VALID [2018-11-23 12:17:55,031 INFO L273 TraceCheckUtils]: 226: Hoare triple {24733#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {24733#false} is VALID [2018-11-23 12:17:55,032 INFO L273 TraceCheckUtils]: 227: Hoare triple {24733#false} assume true; {24733#false} is VALID [2018-11-23 12:17:55,032 INFO L268 TraceCheckUtils]: 228: Hoare quadruple {24733#false} {24733#false} #79#return; {24733#false} is VALID [2018-11-23 12:17:55,032 INFO L273 TraceCheckUtils]: 229: Hoare triple {24733#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {24733#false} is VALID [2018-11-23 12:17:55,032 INFO L273 TraceCheckUtils]: 230: Hoare triple {24733#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {24733#false} is VALID [2018-11-23 12:17:55,032 INFO L273 TraceCheckUtils]: 231: Hoare triple {24733#false} assume !false; {24733#false} is VALID [2018-11-23 12:17:55,051 INFO L134 CoverageAnalysis]: Checked inductivity of 4007 backedges. 1610 proven. 64 refuted. 0 times theorem prover too weak. 2333 trivial. 0 not checked. [2018-11-23 12:17:55,070 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:55,071 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 11] total 28 [2018-11-23 12:17:55,071 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 232 [2018-11-23 12:17:55,072 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:55,072 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states. [2018-11-23 12:17:55,176 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:55,176 INFO L459 AbstractCegarLoop]: Interpolant automaton has 28 states [2018-11-23 12:17:55,176 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2018-11-23 12:17:55,177 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=225, Invalid=531, Unknown=0, NotChecked=0, Total=756 [2018-11-23 12:17:55,177 INFO L87 Difference]: Start difference. First operand 127 states and 147 transitions. Second operand 28 states. [2018-11-23 12:17:56,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:56,552 INFO L93 Difference]: Finished difference Result 214 states and 259 transitions. [2018-11-23 12:17:56,553 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2018-11-23 12:17:56,553 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 232 [2018-11-23 12:17:56,553 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:56,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:17:56,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 144 transitions. [2018-11-23 12:17:56,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:17:56,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 144 transitions. [2018-11-23 12:17:56,556 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states and 144 transitions. [2018-11-23 12:17:56,738 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:56,741 INFO L225 Difference]: With dead ends: 214 [2018-11-23 12:17:56,741 INFO L226 Difference]: Without dead ends: 135 [2018-11-23 12:17:56,742 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 250 GetRequests, 224 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 144 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=225, Invalid=531, Unknown=0, NotChecked=0, Total=756 [2018-11-23 12:17:56,742 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2018-11-23 12:17:56,793 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 132. [2018-11-23 12:17:56,794 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:56,794 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand 132 states. [2018-11-23 12:17:56,794 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 132 states. [2018-11-23 12:17:56,794 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 132 states. [2018-11-23 12:17:56,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:56,797 INFO L93 Difference]: Finished difference Result 135 states and 157 transitions. [2018-11-23 12:17:56,797 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 157 transitions. [2018-11-23 12:17:56,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:56,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:56,797 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 135 states. [2018-11-23 12:17:56,798 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 135 states. [2018-11-23 12:17:56,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:56,800 INFO L93 Difference]: Finished difference Result 135 states and 157 transitions. [2018-11-23 12:17:56,800 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 157 transitions. [2018-11-23 12:17:56,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:56,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:56,801 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:56,801 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:56,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 132 states. [2018-11-23 12:17:56,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 153 transitions. [2018-11-23 12:17:56,803 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 153 transitions. Word has length 232 [2018-11-23 12:17:56,803 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:56,803 INFO L480 AbstractCegarLoop]: Abstraction has 132 states and 153 transitions. [2018-11-23 12:17:56,803 INFO L481 AbstractCegarLoop]: Interpolant automaton has 28 states. [2018-11-23 12:17:56,804 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 153 transitions. [2018-11-23 12:17:56,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 244 [2018-11-23 12:17:56,805 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:56,805 INFO L402 BasicCegarLoop]: trace histogram [51, 51, 51, 20, 20, 9, 9, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:56,805 INFO L423 AbstractCegarLoop]: === Iteration 35 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:56,805 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:56,805 INFO L82 PathProgramCache]: Analyzing trace with hash -1966696055, now seen corresponding path program 31 times [2018-11-23 12:17:56,805 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:56,805 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:56,806 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:56,806 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:56,806 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:56,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:57,453 INFO L256 TraceCheckUtils]: 0: Hoare triple {26214#true} call ULTIMATE.init(); {26214#true} is VALID [2018-11-23 12:17:57,454 INFO L273 TraceCheckUtils]: 1: Hoare triple {26214#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {26214#true} is VALID [2018-11-23 12:17:57,454 INFO L273 TraceCheckUtils]: 2: Hoare triple {26214#true} assume true; {26214#true} is VALID [2018-11-23 12:17:57,454 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {26214#true} {26214#true} #71#return; {26214#true} is VALID [2018-11-23 12:17:57,454 INFO L256 TraceCheckUtils]: 4: Hoare triple {26214#true} call #t~ret14 := main(); {26214#true} is VALID [2018-11-23 12:17:57,454 INFO L273 TraceCheckUtils]: 5: Hoare triple {26214#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {26214#true} is VALID [2018-11-23 12:17:57,454 INFO L273 TraceCheckUtils]: 6: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,454 INFO L273 TraceCheckUtils]: 7: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,455 INFO L273 TraceCheckUtils]: 8: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,455 INFO L273 TraceCheckUtils]: 9: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,455 INFO L273 TraceCheckUtils]: 10: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,455 INFO L273 TraceCheckUtils]: 11: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,455 INFO L273 TraceCheckUtils]: 12: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,455 INFO L273 TraceCheckUtils]: 13: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,456 INFO L273 TraceCheckUtils]: 14: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,456 INFO L273 TraceCheckUtils]: 15: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,456 INFO L273 TraceCheckUtils]: 16: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,456 INFO L273 TraceCheckUtils]: 17: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,456 INFO L273 TraceCheckUtils]: 18: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,456 INFO L273 TraceCheckUtils]: 19: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,456 INFO L273 TraceCheckUtils]: 20: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,457 INFO L273 TraceCheckUtils]: 21: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,457 INFO L273 TraceCheckUtils]: 22: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,457 INFO L273 TraceCheckUtils]: 23: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,457 INFO L273 TraceCheckUtils]: 24: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,457 INFO L273 TraceCheckUtils]: 25: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,457 INFO L273 TraceCheckUtils]: 26: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,457 INFO L273 TraceCheckUtils]: 27: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,457 INFO L273 TraceCheckUtils]: 28: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,457 INFO L273 TraceCheckUtils]: 29: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,457 INFO L273 TraceCheckUtils]: 30: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,458 INFO L273 TraceCheckUtils]: 31: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,458 INFO L273 TraceCheckUtils]: 32: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,458 INFO L273 TraceCheckUtils]: 33: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,458 INFO L273 TraceCheckUtils]: 34: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,458 INFO L273 TraceCheckUtils]: 35: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,458 INFO L273 TraceCheckUtils]: 36: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,458 INFO L273 TraceCheckUtils]: 37: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,458 INFO L273 TraceCheckUtils]: 38: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,458 INFO L273 TraceCheckUtils]: 39: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,458 INFO L273 TraceCheckUtils]: 40: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,459 INFO L273 TraceCheckUtils]: 41: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,459 INFO L273 TraceCheckUtils]: 42: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,459 INFO L273 TraceCheckUtils]: 43: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,459 INFO L273 TraceCheckUtils]: 44: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:57,459 INFO L273 TraceCheckUtils]: 45: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:57,459 INFO L273 TraceCheckUtils]: 46: Hoare triple {26214#true} assume !(~i~1 < 20); {26214#true} is VALID [2018-11-23 12:17:57,459 INFO L256 TraceCheckUtils]: 47: Hoare triple {26214#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {26214#true} is VALID [2018-11-23 12:17:57,459 INFO L273 TraceCheckUtils]: 48: Hoare triple {26214#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {26216#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:57,460 INFO L273 TraceCheckUtils]: 49: Hoare triple {26216#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26216#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:57,460 INFO L273 TraceCheckUtils]: 50: Hoare triple {26216#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26216#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:57,461 INFO L273 TraceCheckUtils]: 51: Hoare triple {26216#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26217#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:57,461 INFO L273 TraceCheckUtils]: 52: Hoare triple {26217#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26217#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:57,461 INFO L273 TraceCheckUtils]: 53: Hoare triple {26217#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26217#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:57,462 INFO L273 TraceCheckUtils]: 54: Hoare triple {26217#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26218#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:57,462 INFO L273 TraceCheckUtils]: 55: Hoare triple {26218#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26218#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:57,462 INFO L273 TraceCheckUtils]: 56: Hoare triple {26218#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26218#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:57,463 INFO L273 TraceCheckUtils]: 57: Hoare triple {26218#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26219#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:57,463 INFO L273 TraceCheckUtils]: 58: Hoare triple {26219#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26219#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:57,463 INFO L273 TraceCheckUtils]: 59: Hoare triple {26219#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26219#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:57,464 INFO L273 TraceCheckUtils]: 60: Hoare triple {26219#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26220#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:57,465 INFO L273 TraceCheckUtils]: 61: Hoare triple {26220#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26220#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:57,465 INFO L273 TraceCheckUtils]: 62: Hoare triple {26220#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26220#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:57,466 INFO L273 TraceCheckUtils]: 63: Hoare triple {26220#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26221#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:57,466 INFO L273 TraceCheckUtils]: 64: Hoare triple {26221#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26221#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:57,467 INFO L273 TraceCheckUtils]: 65: Hoare triple {26221#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26221#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:57,468 INFO L273 TraceCheckUtils]: 66: Hoare triple {26221#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26222#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:57,468 INFO L273 TraceCheckUtils]: 67: Hoare triple {26222#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26222#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:57,469 INFO L273 TraceCheckUtils]: 68: Hoare triple {26222#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26222#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:57,469 INFO L273 TraceCheckUtils]: 69: Hoare triple {26222#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26223#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:57,470 INFO L273 TraceCheckUtils]: 70: Hoare triple {26223#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26223#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:57,470 INFO L273 TraceCheckUtils]: 71: Hoare triple {26223#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26223#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:57,471 INFO L273 TraceCheckUtils]: 72: Hoare triple {26223#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26224#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:57,471 INFO L273 TraceCheckUtils]: 73: Hoare triple {26224#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26224#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:57,472 INFO L273 TraceCheckUtils]: 74: Hoare triple {26224#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26224#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:57,473 INFO L273 TraceCheckUtils]: 75: Hoare triple {26224#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26225#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:57,473 INFO L273 TraceCheckUtils]: 76: Hoare triple {26225#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26225#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:57,474 INFO L273 TraceCheckUtils]: 77: Hoare triple {26225#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26225#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:57,474 INFO L273 TraceCheckUtils]: 78: Hoare triple {26225#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26226#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:57,475 INFO L273 TraceCheckUtils]: 79: Hoare triple {26226#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26226#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:57,475 INFO L273 TraceCheckUtils]: 80: Hoare triple {26226#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26226#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:57,476 INFO L273 TraceCheckUtils]: 81: Hoare triple {26226#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26227#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:57,477 INFO L273 TraceCheckUtils]: 82: Hoare triple {26227#(<= sep_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26227#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:57,477 INFO L273 TraceCheckUtils]: 83: Hoare triple {26227#(<= sep_~i~0 11)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26227#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:57,478 INFO L273 TraceCheckUtils]: 84: Hoare triple {26227#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26228#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:57,478 INFO L273 TraceCheckUtils]: 85: Hoare triple {26228#(<= sep_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26228#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:57,479 INFO L273 TraceCheckUtils]: 86: Hoare triple {26228#(<= sep_~i~0 12)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26228#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:57,480 INFO L273 TraceCheckUtils]: 87: Hoare triple {26228#(<= sep_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26229#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:57,480 INFO L273 TraceCheckUtils]: 88: Hoare triple {26229#(<= sep_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26229#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:57,481 INFO L273 TraceCheckUtils]: 89: Hoare triple {26229#(<= sep_~i~0 13)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26229#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:57,481 INFO L273 TraceCheckUtils]: 90: Hoare triple {26229#(<= sep_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26230#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:57,482 INFO L273 TraceCheckUtils]: 91: Hoare triple {26230#(<= sep_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26230#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:57,482 INFO L273 TraceCheckUtils]: 92: Hoare triple {26230#(<= sep_~i~0 14)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26230#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:57,483 INFO L273 TraceCheckUtils]: 93: Hoare triple {26230#(<= sep_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26231#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:57,483 INFO L273 TraceCheckUtils]: 94: Hoare triple {26231#(<= sep_~i~0 15)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26231#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:57,484 INFO L273 TraceCheckUtils]: 95: Hoare triple {26231#(<= sep_~i~0 15)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26231#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:57,485 INFO L273 TraceCheckUtils]: 96: Hoare triple {26231#(<= sep_~i~0 15)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26232#(<= sep_~i~0 16)} is VALID [2018-11-23 12:17:57,485 INFO L273 TraceCheckUtils]: 97: Hoare triple {26232#(<= sep_~i~0 16)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26232#(<= sep_~i~0 16)} is VALID [2018-11-23 12:17:57,486 INFO L273 TraceCheckUtils]: 98: Hoare triple {26232#(<= sep_~i~0 16)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26232#(<= sep_~i~0 16)} is VALID [2018-11-23 12:17:57,486 INFO L273 TraceCheckUtils]: 99: Hoare triple {26232#(<= sep_~i~0 16)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26233#(<= sep_~i~0 17)} is VALID [2018-11-23 12:17:57,487 INFO L273 TraceCheckUtils]: 100: Hoare triple {26233#(<= sep_~i~0 17)} assume !(~i~0 < 20); {26215#false} is VALID [2018-11-23 12:17:57,487 INFO L273 TraceCheckUtils]: 101: Hoare triple {26215#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {26215#false} is VALID [2018-11-23 12:17:57,487 INFO L273 TraceCheckUtils]: 102: Hoare triple {26215#false} assume true; {26215#false} is VALID [2018-11-23 12:17:57,488 INFO L268 TraceCheckUtils]: 103: Hoare quadruple {26215#false} {26214#true} #75#return; {26215#false} is VALID [2018-11-23 12:17:57,488 INFO L273 TraceCheckUtils]: 104: Hoare triple {26215#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {26215#false} is VALID [2018-11-23 12:17:57,488 INFO L256 TraceCheckUtils]: 105: Hoare triple {26215#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {26214#true} is VALID [2018-11-23 12:17:57,488 INFO L273 TraceCheckUtils]: 106: Hoare triple {26214#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {26214#true} is VALID [2018-11-23 12:17:57,488 INFO L273 TraceCheckUtils]: 107: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,489 INFO L273 TraceCheckUtils]: 108: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,489 INFO L273 TraceCheckUtils]: 109: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,489 INFO L273 TraceCheckUtils]: 110: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,489 INFO L273 TraceCheckUtils]: 111: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,489 INFO L273 TraceCheckUtils]: 112: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,489 INFO L273 TraceCheckUtils]: 113: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,490 INFO L273 TraceCheckUtils]: 114: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,490 INFO L273 TraceCheckUtils]: 115: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,490 INFO L273 TraceCheckUtils]: 116: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,490 INFO L273 TraceCheckUtils]: 117: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,490 INFO L273 TraceCheckUtils]: 118: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,491 INFO L273 TraceCheckUtils]: 119: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,491 INFO L273 TraceCheckUtils]: 120: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,491 INFO L273 TraceCheckUtils]: 121: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,491 INFO L273 TraceCheckUtils]: 122: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,491 INFO L273 TraceCheckUtils]: 123: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,491 INFO L273 TraceCheckUtils]: 124: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,491 INFO L273 TraceCheckUtils]: 125: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,491 INFO L273 TraceCheckUtils]: 126: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,492 INFO L273 TraceCheckUtils]: 127: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,492 INFO L273 TraceCheckUtils]: 128: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,492 INFO L273 TraceCheckUtils]: 129: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,492 INFO L273 TraceCheckUtils]: 130: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,492 INFO L273 TraceCheckUtils]: 131: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,492 INFO L273 TraceCheckUtils]: 132: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,492 INFO L273 TraceCheckUtils]: 133: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,492 INFO L273 TraceCheckUtils]: 134: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,492 INFO L273 TraceCheckUtils]: 135: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,492 INFO L273 TraceCheckUtils]: 136: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,493 INFO L273 TraceCheckUtils]: 137: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,493 INFO L273 TraceCheckUtils]: 138: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,493 INFO L273 TraceCheckUtils]: 139: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,493 INFO L273 TraceCheckUtils]: 140: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,493 INFO L273 TraceCheckUtils]: 141: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,493 INFO L273 TraceCheckUtils]: 142: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,493 INFO L273 TraceCheckUtils]: 143: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,493 INFO L273 TraceCheckUtils]: 144: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,493 INFO L273 TraceCheckUtils]: 145: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,494 INFO L273 TraceCheckUtils]: 146: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,494 INFO L273 TraceCheckUtils]: 147: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,494 INFO L273 TraceCheckUtils]: 148: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,494 INFO L273 TraceCheckUtils]: 149: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,494 INFO L273 TraceCheckUtils]: 150: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,494 INFO L273 TraceCheckUtils]: 151: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,494 INFO L273 TraceCheckUtils]: 152: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,494 INFO L273 TraceCheckUtils]: 153: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,494 INFO L273 TraceCheckUtils]: 154: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,494 INFO L273 TraceCheckUtils]: 155: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,495 INFO L273 TraceCheckUtils]: 156: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,495 INFO L273 TraceCheckUtils]: 157: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,495 INFO L273 TraceCheckUtils]: 158: Hoare triple {26214#true} assume !(~i~0 < 20); {26214#true} is VALID [2018-11-23 12:17:57,495 INFO L273 TraceCheckUtils]: 159: Hoare triple {26214#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {26214#true} is VALID [2018-11-23 12:17:57,495 INFO L273 TraceCheckUtils]: 160: Hoare triple {26214#true} assume true; {26214#true} is VALID [2018-11-23 12:17:57,495 INFO L268 TraceCheckUtils]: 161: Hoare quadruple {26214#true} {26215#false} #77#return; {26215#false} is VALID [2018-11-23 12:17:57,495 INFO L273 TraceCheckUtils]: 162: Hoare triple {26215#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {26215#false} is VALID [2018-11-23 12:17:57,495 INFO L273 TraceCheckUtils]: 163: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:57,495 INFO L273 TraceCheckUtils]: 164: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:57,495 INFO L273 TraceCheckUtils]: 165: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:57,496 INFO L273 TraceCheckUtils]: 166: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:57,496 INFO L273 TraceCheckUtils]: 167: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:57,496 INFO L273 TraceCheckUtils]: 168: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:57,496 INFO L273 TraceCheckUtils]: 169: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:57,496 INFO L273 TraceCheckUtils]: 170: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:57,496 INFO L273 TraceCheckUtils]: 171: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:57,496 INFO L273 TraceCheckUtils]: 172: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:57,496 INFO L273 TraceCheckUtils]: 173: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:57,496 INFO L273 TraceCheckUtils]: 174: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:57,496 INFO L273 TraceCheckUtils]: 175: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:57,497 INFO L273 TraceCheckUtils]: 176: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:57,497 INFO L273 TraceCheckUtils]: 177: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:57,497 INFO L273 TraceCheckUtils]: 178: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:57,497 INFO L273 TraceCheckUtils]: 179: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:57,497 INFO L273 TraceCheckUtils]: 180: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:57,497 INFO L273 TraceCheckUtils]: 181: Hoare triple {26215#false} assume !(~i~2 < 19); {26215#false} is VALID [2018-11-23 12:17:57,497 INFO L273 TraceCheckUtils]: 182: Hoare triple {26215#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {26215#false} is VALID [2018-11-23 12:17:57,497 INFO L256 TraceCheckUtils]: 183: Hoare triple {26215#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {26214#true} is VALID [2018-11-23 12:17:57,497 INFO L273 TraceCheckUtils]: 184: Hoare triple {26214#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {26214#true} is VALID [2018-11-23 12:17:57,498 INFO L273 TraceCheckUtils]: 185: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,498 INFO L273 TraceCheckUtils]: 186: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,498 INFO L273 TraceCheckUtils]: 187: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,498 INFO L273 TraceCheckUtils]: 188: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,498 INFO L273 TraceCheckUtils]: 189: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,498 INFO L273 TraceCheckUtils]: 190: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,498 INFO L273 TraceCheckUtils]: 191: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,498 INFO L273 TraceCheckUtils]: 192: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,498 INFO L273 TraceCheckUtils]: 193: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,498 INFO L273 TraceCheckUtils]: 194: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,499 INFO L273 TraceCheckUtils]: 195: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,499 INFO L273 TraceCheckUtils]: 196: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,499 INFO L273 TraceCheckUtils]: 197: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,499 INFO L273 TraceCheckUtils]: 198: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,499 INFO L273 TraceCheckUtils]: 199: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,499 INFO L273 TraceCheckUtils]: 200: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,499 INFO L273 TraceCheckUtils]: 201: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,499 INFO L273 TraceCheckUtils]: 202: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,499 INFO L273 TraceCheckUtils]: 203: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,499 INFO L273 TraceCheckUtils]: 204: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,500 INFO L273 TraceCheckUtils]: 205: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,500 INFO L273 TraceCheckUtils]: 206: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,500 INFO L273 TraceCheckUtils]: 207: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,500 INFO L273 TraceCheckUtils]: 208: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,500 INFO L273 TraceCheckUtils]: 209: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,500 INFO L273 TraceCheckUtils]: 210: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,500 INFO L273 TraceCheckUtils]: 211: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,500 INFO L273 TraceCheckUtils]: 212: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,500 INFO L273 TraceCheckUtils]: 213: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,501 INFO L273 TraceCheckUtils]: 214: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,501 INFO L273 TraceCheckUtils]: 215: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,501 INFO L273 TraceCheckUtils]: 216: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,501 INFO L273 TraceCheckUtils]: 217: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,501 INFO L273 TraceCheckUtils]: 218: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,501 INFO L273 TraceCheckUtils]: 219: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,501 INFO L273 TraceCheckUtils]: 220: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,501 INFO L273 TraceCheckUtils]: 221: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,501 INFO L273 TraceCheckUtils]: 222: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,501 INFO L273 TraceCheckUtils]: 223: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,502 INFO L273 TraceCheckUtils]: 224: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,502 INFO L273 TraceCheckUtils]: 225: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,502 INFO L273 TraceCheckUtils]: 226: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,502 INFO L273 TraceCheckUtils]: 227: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,502 INFO L273 TraceCheckUtils]: 228: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,502 INFO L273 TraceCheckUtils]: 229: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,502 INFO L273 TraceCheckUtils]: 230: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,502 INFO L273 TraceCheckUtils]: 231: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,502 INFO L273 TraceCheckUtils]: 232: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,502 INFO L273 TraceCheckUtils]: 233: Hoare triple {26214#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26214#true} is VALID [2018-11-23 12:17:57,503 INFO L273 TraceCheckUtils]: 234: Hoare triple {26214#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26214#true} is VALID [2018-11-23 12:17:57,503 INFO L273 TraceCheckUtils]: 235: Hoare triple {26214#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26214#true} is VALID [2018-11-23 12:17:57,503 INFO L273 TraceCheckUtils]: 236: Hoare triple {26214#true} assume !(~i~0 < 20); {26214#true} is VALID [2018-11-23 12:17:57,503 INFO L273 TraceCheckUtils]: 237: Hoare triple {26214#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {26214#true} is VALID [2018-11-23 12:17:57,503 INFO L273 TraceCheckUtils]: 238: Hoare triple {26214#true} assume true; {26214#true} is VALID [2018-11-23 12:17:57,503 INFO L268 TraceCheckUtils]: 239: Hoare quadruple {26214#true} {26215#false} #79#return; {26215#false} is VALID [2018-11-23 12:17:57,503 INFO L273 TraceCheckUtils]: 240: Hoare triple {26215#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {26215#false} is VALID [2018-11-23 12:17:57,503 INFO L273 TraceCheckUtils]: 241: Hoare triple {26215#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {26215#false} is VALID [2018-11-23 12:17:57,503 INFO L273 TraceCheckUtils]: 242: Hoare triple {26215#false} assume !false; {26215#false} is VALID [2018-11-23 12:17:57,526 INFO L134 CoverageAnalysis]: Checked inductivity of 4474 backedges. 0 proven. 2235 refuted. 0 times theorem prover too weak. 2239 trivial. 0 not checked. [2018-11-23 12:17:57,526 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:57,527 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:57,534 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:57,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:57,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:57,712 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:58,015 INFO L256 TraceCheckUtils]: 0: Hoare triple {26214#true} call ULTIMATE.init(); {26214#true} is VALID [2018-11-23 12:17:58,016 INFO L273 TraceCheckUtils]: 1: Hoare triple {26214#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {26214#true} is VALID [2018-11-23 12:17:58,016 INFO L273 TraceCheckUtils]: 2: Hoare triple {26214#true} assume true; {26214#true} is VALID [2018-11-23 12:17:58,016 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {26214#true} {26214#true} #71#return; {26214#true} is VALID [2018-11-23 12:17:58,016 INFO L256 TraceCheckUtils]: 4: Hoare triple {26214#true} call #t~ret14 := main(); {26214#true} is VALID [2018-11-23 12:17:58,017 INFO L273 TraceCheckUtils]: 5: Hoare triple {26214#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {26214#true} is VALID [2018-11-23 12:17:58,017 INFO L273 TraceCheckUtils]: 6: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,017 INFO L273 TraceCheckUtils]: 7: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,017 INFO L273 TraceCheckUtils]: 8: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,017 INFO L273 TraceCheckUtils]: 9: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,017 INFO L273 TraceCheckUtils]: 10: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,017 INFO L273 TraceCheckUtils]: 11: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,017 INFO L273 TraceCheckUtils]: 12: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,018 INFO L273 TraceCheckUtils]: 13: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,018 INFO L273 TraceCheckUtils]: 14: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,018 INFO L273 TraceCheckUtils]: 15: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,018 INFO L273 TraceCheckUtils]: 16: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,018 INFO L273 TraceCheckUtils]: 17: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,018 INFO L273 TraceCheckUtils]: 18: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,018 INFO L273 TraceCheckUtils]: 19: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,018 INFO L273 TraceCheckUtils]: 20: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,018 INFO L273 TraceCheckUtils]: 21: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,019 INFO L273 TraceCheckUtils]: 22: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,019 INFO L273 TraceCheckUtils]: 23: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,019 INFO L273 TraceCheckUtils]: 24: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,019 INFO L273 TraceCheckUtils]: 25: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,019 INFO L273 TraceCheckUtils]: 26: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,019 INFO L273 TraceCheckUtils]: 27: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,019 INFO L273 TraceCheckUtils]: 28: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,019 INFO L273 TraceCheckUtils]: 29: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,019 INFO L273 TraceCheckUtils]: 30: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,019 INFO L273 TraceCheckUtils]: 31: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,020 INFO L273 TraceCheckUtils]: 32: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,020 INFO L273 TraceCheckUtils]: 33: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,020 INFO L273 TraceCheckUtils]: 34: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,020 INFO L273 TraceCheckUtils]: 35: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,020 INFO L273 TraceCheckUtils]: 36: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,020 INFO L273 TraceCheckUtils]: 37: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,020 INFO L273 TraceCheckUtils]: 38: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,020 INFO L273 TraceCheckUtils]: 39: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,020 INFO L273 TraceCheckUtils]: 40: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,020 INFO L273 TraceCheckUtils]: 41: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,021 INFO L273 TraceCheckUtils]: 42: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,021 INFO L273 TraceCheckUtils]: 43: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,021 INFO L273 TraceCheckUtils]: 44: Hoare triple {26214#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {26214#true} is VALID [2018-11-23 12:17:58,021 INFO L273 TraceCheckUtils]: 45: Hoare triple {26214#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {26214#true} is VALID [2018-11-23 12:17:58,021 INFO L273 TraceCheckUtils]: 46: Hoare triple {26214#true} assume !(~i~1 < 20); {26214#true} is VALID [2018-11-23 12:17:58,021 INFO L256 TraceCheckUtils]: 47: Hoare triple {26214#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {26214#true} is VALID [2018-11-23 12:17:58,021 INFO L273 TraceCheckUtils]: 48: Hoare triple {26214#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {26381#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:58,022 INFO L273 TraceCheckUtils]: 49: Hoare triple {26381#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26381#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:58,022 INFO L273 TraceCheckUtils]: 50: Hoare triple {26381#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26381#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:58,023 INFO L273 TraceCheckUtils]: 51: Hoare triple {26381#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26217#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:58,023 INFO L273 TraceCheckUtils]: 52: Hoare triple {26217#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26217#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:58,023 INFO L273 TraceCheckUtils]: 53: Hoare triple {26217#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26217#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:58,024 INFO L273 TraceCheckUtils]: 54: Hoare triple {26217#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26218#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:58,024 INFO L273 TraceCheckUtils]: 55: Hoare triple {26218#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26218#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:58,024 INFO L273 TraceCheckUtils]: 56: Hoare triple {26218#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26218#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:58,025 INFO L273 TraceCheckUtils]: 57: Hoare triple {26218#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26219#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:58,025 INFO L273 TraceCheckUtils]: 58: Hoare triple {26219#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26219#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:58,025 INFO L273 TraceCheckUtils]: 59: Hoare triple {26219#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26219#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:58,026 INFO L273 TraceCheckUtils]: 60: Hoare triple {26219#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26220#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:58,027 INFO L273 TraceCheckUtils]: 61: Hoare triple {26220#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26220#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:58,027 INFO L273 TraceCheckUtils]: 62: Hoare triple {26220#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26220#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:58,028 INFO L273 TraceCheckUtils]: 63: Hoare triple {26220#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26221#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:58,028 INFO L273 TraceCheckUtils]: 64: Hoare triple {26221#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26221#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:58,029 INFO L273 TraceCheckUtils]: 65: Hoare triple {26221#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26221#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:58,029 INFO L273 TraceCheckUtils]: 66: Hoare triple {26221#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26222#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:58,030 INFO L273 TraceCheckUtils]: 67: Hoare triple {26222#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26222#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:58,030 INFO L273 TraceCheckUtils]: 68: Hoare triple {26222#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26222#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:58,031 INFO L273 TraceCheckUtils]: 69: Hoare triple {26222#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26223#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:58,032 INFO L273 TraceCheckUtils]: 70: Hoare triple {26223#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26223#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:58,032 INFO L273 TraceCheckUtils]: 71: Hoare triple {26223#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26223#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:58,033 INFO L273 TraceCheckUtils]: 72: Hoare triple {26223#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26224#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:58,033 INFO L273 TraceCheckUtils]: 73: Hoare triple {26224#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26224#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:58,034 INFO L273 TraceCheckUtils]: 74: Hoare triple {26224#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26224#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:58,035 INFO L273 TraceCheckUtils]: 75: Hoare triple {26224#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26225#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:58,035 INFO L273 TraceCheckUtils]: 76: Hoare triple {26225#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26225#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:58,036 INFO L273 TraceCheckUtils]: 77: Hoare triple {26225#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26225#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:58,036 INFO L273 TraceCheckUtils]: 78: Hoare triple {26225#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26226#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:58,037 INFO L273 TraceCheckUtils]: 79: Hoare triple {26226#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26226#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:58,037 INFO L273 TraceCheckUtils]: 80: Hoare triple {26226#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26226#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:58,038 INFO L273 TraceCheckUtils]: 81: Hoare triple {26226#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26227#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:58,038 INFO L273 TraceCheckUtils]: 82: Hoare triple {26227#(<= sep_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26227#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:58,039 INFO L273 TraceCheckUtils]: 83: Hoare triple {26227#(<= sep_~i~0 11)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26227#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:58,040 INFO L273 TraceCheckUtils]: 84: Hoare triple {26227#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26228#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:58,040 INFO L273 TraceCheckUtils]: 85: Hoare triple {26228#(<= sep_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26228#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:58,041 INFO L273 TraceCheckUtils]: 86: Hoare triple {26228#(<= sep_~i~0 12)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26228#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:58,041 INFO L273 TraceCheckUtils]: 87: Hoare triple {26228#(<= sep_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26229#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:58,042 INFO L273 TraceCheckUtils]: 88: Hoare triple {26229#(<= sep_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26229#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:58,042 INFO L273 TraceCheckUtils]: 89: Hoare triple {26229#(<= sep_~i~0 13)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26229#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:58,043 INFO L273 TraceCheckUtils]: 90: Hoare triple {26229#(<= sep_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26230#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:58,044 INFO L273 TraceCheckUtils]: 91: Hoare triple {26230#(<= sep_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26230#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:58,044 INFO L273 TraceCheckUtils]: 92: Hoare triple {26230#(<= sep_~i~0 14)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26230#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:58,045 INFO L273 TraceCheckUtils]: 93: Hoare triple {26230#(<= sep_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26231#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:58,045 INFO L273 TraceCheckUtils]: 94: Hoare triple {26231#(<= sep_~i~0 15)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26231#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:58,046 INFO L273 TraceCheckUtils]: 95: Hoare triple {26231#(<= sep_~i~0 15)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26231#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:58,047 INFO L273 TraceCheckUtils]: 96: Hoare triple {26231#(<= sep_~i~0 15)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26232#(<= sep_~i~0 16)} is VALID [2018-11-23 12:17:58,047 INFO L273 TraceCheckUtils]: 97: Hoare triple {26232#(<= sep_~i~0 16)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26232#(<= sep_~i~0 16)} is VALID [2018-11-23 12:17:58,048 INFO L273 TraceCheckUtils]: 98: Hoare triple {26232#(<= sep_~i~0 16)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26232#(<= sep_~i~0 16)} is VALID [2018-11-23 12:17:58,048 INFO L273 TraceCheckUtils]: 99: Hoare triple {26232#(<= sep_~i~0 16)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26233#(<= sep_~i~0 17)} is VALID [2018-11-23 12:17:58,049 INFO L273 TraceCheckUtils]: 100: Hoare triple {26233#(<= sep_~i~0 17)} assume !(~i~0 < 20); {26215#false} is VALID [2018-11-23 12:17:58,049 INFO L273 TraceCheckUtils]: 101: Hoare triple {26215#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {26215#false} is VALID [2018-11-23 12:17:58,049 INFO L273 TraceCheckUtils]: 102: Hoare triple {26215#false} assume true; {26215#false} is VALID [2018-11-23 12:17:58,050 INFO L268 TraceCheckUtils]: 103: Hoare quadruple {26215#false} {26214#true} #75#return; {26215#false} is VALID [2018-11-23 12:17:58,050 INFO L273 TraceCheckUtils]: 104: Hoare triple {26215#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {26215#false} is VALID [2018-11-23 12:17:58,050 INFO L256 TraceCheckUtils]: 105: Hoare triple {26215#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {26215#false} is VALID [2018-11-23 12:17:58,050 INFO L273 TraceCheckUtils]: 106: Hoare triple {26215#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {26215#false} is VALID [2018-11-23 12:17:58,050 INFO L273 TraceCheckUtils]: 107: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,050 INFO L273 TraceCheckUtils]: 108: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,051 INFO L273 TraceCheckUtils]: 109: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,051 INFO L273 TraceCheckUtils]: 110: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,051 INFO L273 TraceCheckUtils]: 111: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,051 INFO L273 TraceCheckUtils]: 112: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,051 INFO L273 TraceCheckUtils]: 113: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,052 INFO L273 TraceCheckUtils]: 114: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,052 INFO L273 TraceCheckUtils]: 115: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,052 INFO L273 TraceCheckUtils]: 116: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,052 INFO L273 TraceCheckUtils]: 117: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,052 INFO L273 TraceCheckUtils]: 118: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,052 INFO L273 TraceCheckUtils]: 119: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,053 INFO L273 TraceCheckUtils]: 120: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,053 INFO L273 TraceCheckUtils]: 121: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,053 INFO L273 TraceCheckUtils]: 122: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,053 INFO L273 TraceCheckUtils]: 123: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,053 INFO L273 TraceCheckUtils]: 124: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,053 INFO L273 TraceCheckUtils]: 125: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,053 INFO L273 TraceCheckUtils]: 126: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,054 INFO L273 TraceCheckUtils]: 127: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,054 INFO L273 TraceCheckUtils]: 128: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,054 INFO L273 TraceCheckUtils]: 129: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,054 INFO L273 TraceCheckUtils]: 130: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,054 INFO L273 TraceCheckUtils]: 131: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,054 INFO L273 TraceCheckUtils]: 132: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,054 INFO L273 TraceCheckUtils]: 133: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,054 INFO L273 TraceCheckUtils]: 134: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,054 INFO L273 TraceCheckUtils]: 135: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,054 INFO L273 TraceCheckUtils]: 136: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,055 INFO L273 TraceCheckUtils]: 137: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,055 INFO L273 TraceCheckUtils]: 138: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,055 INFO L273 TraceCheckUtils]: 139: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,055 INFO L273 TraceCheckUtils]: 140: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,055 INFO L273 TraceCheckUtils]: 141: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,055 INFO L273 TraceCheckUtils]: 142: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,055 INFO L273 TraceCheckUtils]: 143: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,055 INFO L273 TraceCheckUtils]: 144: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,055 INFO L273 TraceCheckUtils]: 145: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,056 INFO L273 TraceCheckUtils]: 146: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,056 INFO L273 TraceCheckUtils]: 147: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,056 INFO L273 TraceCheckUtils]: 148: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,056 INFO L273 TraceCheckUtils]: 149: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,056 INFO L273 TraceCheckUtils]: 150: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,056 INFO L273 TraceCheckUtils]: 151: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,056 INFO L273 TraceCheckUtils]: 152: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,056 INFO L273 TraceCheckUtils]: 153: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,056 INFO L273 TraceCheckUtils]: 154: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,056 INFO L273 TraceCheckUtils]: 155: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,057 INFO L273 TraceCheckUtils]: 156: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,057 INFO L273 TraceCheckUtils]: 157: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,057 INFO L273 TraceCheckUtils]: 158: Hoare triple {26215#false} assume !(~i~0 < 20); {26215#false} is VALID [2018-11-23 12:17:58,057 INFO L273 TraceCheckUtils]: 159: Hoare triple {26215#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {26215#false} is VALID [2018-11-23 12:17:58,057 INFO L273 TraceCheckUtils]: 160: Hoare triple {26215#false} assume true; {26215#false} is VALID [2018-11-23 12:17:58,057 INFO L268 TraceCheckUtils]: 161: Hoare quadruple {26215#false} {26215#false} #77#return; {26215#false} is VALID [2018-11-23 12:17:58,057 INFO L273 TraceCheckUtils]: 162: Hoare triple {26215#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {26215#false} is VALID [2018-11-23 12:17:58,057 INFO L273 TraceCheckUtils]: 163: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:58,057 INFO L273 TraceCheckUtils]: 164: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:58,058 INFO L273 TraceCheckUtils]: 165: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:58,058 INFO L273 TraceCheckUtils]: 166: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:58,058 INFO L273 TraceCheckUtils]: 167: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:58,058 INFO L273 TraceCheckUtils]: 168: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:58,058 INFO L273 TraceCheckUtils]: 169: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:58,058 INFO L273 TraceCheckUtils]: 170: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:58,058 INFO L273 TraceCheckUtils]: 171: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:58,058 INFO L273 TraceCheckUtils]: 172: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:58,058 INFO L273 TraceCheckUtils]: 173: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:58,058 INFO L273 TraceCheckUtils]: 174: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:58,059 INFO L273 TraceCheckUtils]: 175: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:58,059 INFO L273 TraceCheckUtils]: 176: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:58,059 INFO L273 TraceCheckUtils]: 177: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:58,059 INFO L273 TraceCheckUtils]: 178: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:58,059 INFO L273 TraceCheckUtils]: 179: Hoare triple {26215#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {26215#false} is VALID [2018-11-23 12:17:58,059 INFO L273 TraceCheckUtils]: 180: Hoare triple {26215#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {26215#false} is VALID [2018-11-23 12:17:58,059 INFO L273 TraceCheckUtils]: 181: Hoare triple {26215#false} assume !(~i~2 < 19); {26215#false} is VALID [2018-11-23 12:17:58,059 INFO L273 TraceCheckUtils]: 182: Hoare triple {26215#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {26215#false} is VALID [2018-11-23 12:17:58,059 INFO L256 TraceCheckUtils]: 183: Hoare triple {26215#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {26215#false} is VALID [2018-11-23 12:17:58,059 INFO L273 TraceCheckUtils]: 184: Hoare triple {26215#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {26215#false} is VALID [2018-11-23 12:17:58,060 INFO L273 TraceCheckUtils]: 185: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,060 INFO L273 TraceCheckUtils]: 186: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,060 INFO L273 TraceCheckUtils]: 187: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,060 INFO L273 TraceCheckUtils]: 188: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,060 INFO L273 TraceCheckUtils]: 189: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,060 INFO L273 TraceCheckUtils]: 190: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,060 INFO L273 TraceCheckUtils]: 191: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,060 INFO L273 TraceCheckUtils]: 192: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,060 INFO L273 TraceCheckUtils]: 193: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,061 INFO L273 TraceCheckUtils]: 194: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,061 INFO L273 TraceCheckUtils]: 195: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,061 INFO L273 TraceCheckUtils]: 196: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,061 INFO L273 TraceCheckUtils]: 197: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,061 INFO L273 TraceCheckUtils]: 198: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,061 INFO L273 TraceCheckUtils]: 199: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,061 INFO L273 TraceCheckUtils]: 200: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,061 INFO L273 TraceCheckUtils]: 201: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,061 INFO L273 TraceCheckUtils]: 202: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,061 INFO L273 TraceCheckUtils]: 203: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,062 INFO L273 TraceCheckUtils]: 204: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,062 INFO L273 TraceCheckUtils]: 205: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,062 INFO L273 TraceCheckUtils]: 206: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,062 INFO L273 TraceCheckUtils]: 207: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,062 INFO L273 TraceCheckUtils]: 208: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,062 INFO L273 TraceCheckUtils]: 209: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,062 INFO L273 TraceCheckUtils]: 210: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,062 INFO L273 TraceCheckUtils]: 211: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,062 INFO L273 TraceCheckUtils]: 212: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,062 INFO L273 TraceCheckUtils]: 213: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,063 INFO L273 TraceCheckUtils]: 214: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,063 INFO L273 TraceCheckUtils]: 215: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,063 INFO L273 TraceCheckUtils]: 216: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,063 INFO L273 TraceCheckUtils]: 217: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,063 INFO L273 TraceCheckUtils]: 218: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,063 INFO L273 TraceCheckUtils]: 219: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,063 INFO L273 TraceCheckUtils]: 220: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,063 INFO L273 TraceCheckUtils]: 221: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,063 INFO L273 TraceCheckUtils]: 222: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,063 INFO L273 TraceCheckUtils]: 223: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,064 INFO L273 TraceCheckUtils]: 224: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,064 INFO L273 TraceCheckUtils]: 225: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,064 INFO L273 TraceCheckUtils]: 226: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,064 INFO L273 TraceCheckUtils]: 227: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,064 INFO L273 TraceCheckUtils]: 228: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,064 INFO L273 TraceCheckUtils]: 229: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,064 INFO L273 TraceCheckUtils]: 230: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,064 INFO L273 TraceCheckUtils]: 231: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,064 INFO L273 TraceCheckUtils]: 232: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,065 INFO L273 TraceCheckUtils]: 233: Hoare triple {26215#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {26215#false} is VALID [2018-11-23 12:17:58,065 INFO L273 TraceCheckUtils]: 234: Hoare triple {26215#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {26215#false} is VALID [2018-11-23 12:17:58,065 INFO L273 TraceCheckUtils]: 235: Hoare triple {26215#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26215#false} is VALID [2018-11-23 12:17:58,065 INFO L273 TraceCheckUtils]: 236: Hoare triple {26215#false} assume !(~i~0 < 20); {26215#false} is VALID [2018-11-23 12:17:58,065 INFO L273 TraceCheckUtils]: 237: Hoare triple {26215#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {26215#false} is VALID [2018-11-23 12:17:58,065 INFO L273 TraceCheckUtils]: 238: Hoare triple {26215#false} assume true; {26215#false} is VALID [2018-11-23 12:17:58,065 INFO L268 TraceCheckUtils]: 239: Hoare quadruple {26215#false} {26215#false} #79#return; {26215#false} is VALID [2018-11-23 12:17:58,065 INFO L273 TraceCheckUtils]: 240: Hoare triple {26215#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {26215#false} is VALID [2018-11-23 12:17:58,065 INFO L273 TraceCheckUtils]: 241: Hoare triple {26215#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {26215#false} is VALID [2018-11-23 12:17:58,065 INFO L273 TraceCheckUtils]: 242: Hoare triple {26215#false} assume !false; {26215#false} is VALID [2018-11-23 12:17:58,089 INFO L134 CoverageAnalysis]: Checked inductivity of 4474 backedges. 1806 proven. 425 refuted. 0 times theorem prover too weak. 2243 trivial. 0 not checked. [2018-11-23 12:17:58,108 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:58,108 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 21 [2018-11-23 12:17:58,108 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 243 [2018-11-23 12:17:58,110 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:58,110 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 12:17:58,264 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:58,265 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 12:17:58,265 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 12:17:58,265 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=210, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:17:58,266 INFO L87 Difference]: Start difference. First operand 132 states and 153 transitions. Second operand 21 states. [2018-11-23 12:17:58,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:58,975 INFO L93 Difference]: Finished difference Result 221 states and 267 transitions. [2018-11-23 12:17:58,975 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-11-23 12:17:58,975 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 243 [2018-11-23 12:17:58,975 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:58,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:17:58,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 129 transitions. [2018-11-23 12:17:58,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:17:58,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 129 transitions. [2018-11-23 12:17:58,978 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 129 transitions. [2018-11-23 12:17:59,101 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:59,104 INFO L225 Difference]: With dead ends: 221 [2018-11-23 12:17:59,104 INFO L226 Difference]: Without dead ends: 137 [2018-11-23 12:17:59,105 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 262 GetRequests, 243 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=210, Invalid=210, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:17:59,105 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2018-11-23 12:17:59,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 135. [2018-11-23 12:17:59,182 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:59,183 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand 135 states. [2018-11-23 12:17:59,183 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 135 states. [2018-11-23 12:17:59,183 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 135 states. [2018-11-23 12:17:59,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:59,185 INFO L93 Difference]: Finished difference Result 137 states and 160 transitions. [2018-11-23 12:17:59,185 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 160 transitions. [2018-11-23 12:17:59,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:59,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:59,186 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 137 states. [2018-11-23 12:17:59,186 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 137 states. [2018-11-23 12:17:59,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:59,188 INFO L93 Difference]: Finished difference Result 137 states and 160 transitions. [2018-11-23 12:17:59,188 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 160 transitions. [2018-11-23 12:17:59,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:59,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:59,189 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:59,189 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:59,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 135 states. [2018-11-23 12:17:59,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 157 transitions. [2018-11-23 12:17:59,191 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 157 transitions. Word has length 243 [2018-11-23 12:17:59,191 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:59,191 INFO L480 AbstractCegarLoop]: Abstraction has 135 states and 157 transitions. [2018-11-23 12:17:59,191 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 12:17:59,191 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 157 transitions. [2018-11-23 12:17:59,192 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 253 [2018-11-23 12:17:59,192 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:59,192 INFO L402 BasicCegarLoop]: trace histogram [54, 54, 54, 20, 20, 9, 9, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:17:59,192 INFO L423 AbstractCegarLoop]: === Iteration 36 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:59,193 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:59,193 INFO L82 PathProgramCache]: Analyzing trace with hash 1127341036, now seen corresponding path program 32 times [2018-11-23 12:17:59,193 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:59,193 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:59,193 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:59,194 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:59,194 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:59,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:59,914 INFO L256 TraceCheckUtils]: 0: Hoare triple {27740#true} call ULTIMATE.init(); {27740#true} is VALID [2018-11-23 12:17:59,914 INFO L273 TraceCheckUtils]: 1: Hoare triple {27740#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {27740#true} is VALID [2018-11-23 12:17:59,914 INFO L273 TraceCheckUtils]: 2: Hoare triple {27740#true} assume true; {27740#true} is VALID [2018-11-23 12:17:59,914 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {27740#true} {27740#true} #71#return; {27740#true} is VALID [2018-11-23 12:17:59,914 INFO L256 TraceCheckUtils]: 4: Hoare triple {27740#true} call #t~ret14 := main(); {27740#true} is VALID [2018-11-23 12:17:59,915 INFO L273 TraceCheckUtils]: 5: Hoare triple {27740#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {27740#true} is VALID [2018-11-23 12:17:59,915 INFO L273 TraceCheckUtils]: 6: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,915 INFO L273 TraceCheckUtils]: 7: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,915 INFO L273 TraceCheckUtils]: 8: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,915 INFO L273 TraceCheckUtils]: 9: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,915 INFO L273 TraceCheckUtils]: 10: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,916 INFO L273 TraceCheckUtils]: 11: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,916 INFO L273 TraceCheckUtils]: 12: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,916 INFO L273 TraceCheckUtils]: 13: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,916 INFO L273 TraceCheckUtils]: 14: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,916 INFO L273 TraceCheckUtils]: 15: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,916 INFO L273 TraceCheckUtils]: 16: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,917 INFO L273 TraceCheckUtils]: 17: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,917 INFO L273 TraceCheckUtils]: 18: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,917 INFO L273 TraceCheckUtils]: 19: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,917 INFO L273 TraceCheckUtils]: 20: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,917 INFO L273 TraceCheckUtils]: 21: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,917 INFO L273 TraceCheckUtils]: 22: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,917 INFO L273 TraceCheckUtils]: 23: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,917 INFO L273 TraceCheckUtils]: 24: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,917 INFO L273 TraceCheckUtils]: 25: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,918 INFO L273 TraceCheckUtils]: 26: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,918 INFO L273 TraceCheckUtils]: 27: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,918 INFO L273 TraceCheckUtils]: 28: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,918 INFO L273 TraceCheckUtils]: 29: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,918 INFO L273 TraceCheckUtils]: 30: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,918 INFO L273 TraceCheckUtils]: 31: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,918 INFO L273 TraceCheckUtils]: 32: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,918 INFO L273 TraceCheckUtils]: 33: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,918 INFO L273 TraceCheckUtils]: 34: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,919 INFO L273 TraceCheckUtils]: 35: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,919 INFO L273 TraceCheckUtils]: 36: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,919 INFO L273 TraceCheckUtils]: 37: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,919 INFO L273 TraceCheckUtils]: 38: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,919 INFO L273 TraceCheckUtils]: 39: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,919 INFO L273 TraceCheckUtils]: 40: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,919 INFO L273 TraceCheckUtils]: 41: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,919 INFO L273 TraceCheckUtils]: 42: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,919 INFO L273 TraceCheckUtils]: 43: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,919 INFO L273 TraceCheckUtils]: 44: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:17:59,920 INFO L273 TraceCheckUtils]: 45: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:17:59,920 INFO L273 TraceCheckUtils]: 46: Hoare triple {27740#true} assume !(~i~1 < 20); {27740#true} is VALID [2018-11-23 12:17:59,920 INFO L256 TraceCheckUtils]: 47: Hoare triple {27740#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {27740#true} is VALID [2018-11-23 12:17:59,920 INFO L273 TraceCheckUtils]: 48: Hoare triple {27740#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {27742#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:59,920 INFO L273 TraceCheckUtils]: 49: Hoare triple {27742#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27742#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:59,921 INFO L273 TraceCheckUtils]: 50: Hoare triple {27742#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27742#(= sep_~i~0 0)} is VALID [2018-11-23 12:17:59,921 INFO L273 TraceCheckUtils]: 51: Hoare triple {27742#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27743#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:59,921 INFO L273 TraceCheckUtils]: 52: Hoare triple {27743#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27743#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:59,922 INFO L273 TraceCheckUtils]: 53: Hoare triple {27743#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27743#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:59,922 INFO L273 TraceCheckUtils]: 54: Hoare triple {27743#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27744#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:59,922 INFO L273 TraceCheckUtils]: 55: Hoare triple {27744#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27744#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:59,923 INFO L273 TraceCheckUtils]: 56: Hoare triple {27744#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27744#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:59,923 INFO L273 TraceCheckUtils]: 57: Hoare triple {27744#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27745#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:59,923 INFO L273 TraceCheckUtils]: 58: Hoare triple {27745#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27745#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:59,924 INFO L273 TraceCheckUtils]: 59: Hoare triple {27745#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27745#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:59,924 INFO L273 TraceCheckUtils]: 60: Hoare triple {27745#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27746#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:59,925 INFO L273 TraceCheckUtils]: 61: Hoare triple {27746#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27746#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:59,925 INFO L273 TraceCheckUtils]: 62: Hoare triple {27746#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27746#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:59,926 INFO L273 TraceCheckUtils]: 63: Hoare triple {27746#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27747#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:59,927 INFO L273 TraceCheckUtils]: 64: Hoare triple {27747#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27747#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:59,927 INFO L273 TraceCheckUtils]: 65: Hoare triple {27747#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27747#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:59,928 INFO L273 TraceCheckUtils]: 66: Hoare triple {27747#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27748#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:59,928 INFO L273 TraceCheckUtils]: 67: Hoare triple {27748#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27748#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:59,929 INFO L273 TraceCheckUtils]: 68: Hoare triple {27748#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27748#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:59,929 INFO L273 TraceCheckUtils]: 69: Hoare triple {27748#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27749#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:59,930 INFO L273 TraceCheckUtils]: 70: Hoare triple {27749#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27749#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:59,930 INFO L273 TraceCheckUtils]: 71: Hoare triple {27749#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27749#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:59,931 INFO L273 TraceCheckUtils]: 72: Hoare triple {27749#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27750#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:59,931 INFO L273 TraceCheckUtils]: 73: Hoare triple {27750#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27750#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:59,932 INFO L273 TraceCheckUtils]: 74: Hoare triple {27750#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27750#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:59,932 INFO L273 TraceCheckUtils]: 75: Hoare triple {27750#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27751#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:59,933 INFO L273 TraceCheckUtils]: 76: Hoare triple {27751#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27751#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:59,933 INFO L273 TraceCheckUtils]: 77: Hoare triple {27751#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27751#(<= sep_~i~0 9)} is VALID [2018-11-23 12:17:59,934 INFO L273 TraceCheckUtils]: 78: Hoare triple {27751#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27752#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:59,935 INFO L273 TraceCheckUtils]: 79: Hoare triple {27752#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27752#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:59,935 INFO L273 TraceCheckUtils]: 80: Hoare triple {27752#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27752#(<= sep_~i~0 10)} is VALID [2018-11-23 12:17:59,936 INFO L273 TraceCheckUtils]: 81: Hoare triple {27752#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27753#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:59,936 INFO L273 TraceCheckUtils]: 82: Hoare triple {27753#(<= sep_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27753#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:59,937 INFO L273 TraceCheckUtils]: 83: Hoare triple {27753#(<= sep_~i~0 11)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27753#(<= sep_~i~0 11)} is VALID [2018-11-23 12:17:59,937 INFO L273 TraceCheckUtils]: 84: Hoare triple {27753#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27754#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:59,938 INFO L273 TraceCheckUtils]: 85: Hoare triple {27754#(<= sep_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27754#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:59,938 INFO L273 TraceCheckUtils]: 86: Hoare triple {27754#(<= sep_~i~0 12)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27754#(<= sep_~i~0 12)} is VALID [2018-11-23 12:17:59,939 INFO L273 TraceCheckUtils]: 87: Hoare triple {27754#(<= sep_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27755#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:59,939 INFO L273 TraceCheckUtils]: 88: Hoare triple {27755#(<= sep_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27755#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:59,940 INFO L273 TraceCheckUtils]: 89: Hoare triple {27755#(<= sep_~i~0 13)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27755#(<= sep_~i~0 13)} is VALID [2018-11-23 12:17:59,941 INFO L273 TraceCheckUtils]: 90: Hoare triple {27755#(<= sep_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27756#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:59,941 INFO L273 TraceCheckUtils]: 91: Hoare triple {27756#(<= sep_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27756#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:59,941 INFO L273 TraceCheckUtils]: 92: Hoare triple {27756#(<= sep_~i~0 14)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27756#(<= sep_~i~0 14)} is VALID [2018-11-23 12:17:59,942 INFO L273 TraceCheckUtils]: 93: Hoare triple {27756#(<= sep_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27757#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:59,943 INFO L273 TraceCheckUtils]: 94: Hoare triple {27757#(<= sep_~i~0 15)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27757#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:59,943 INFO L273 TraceCheckUtils]: 95: Hoare triple {27757#(<= sep_~i~0 15)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27757#(<= sep_~i~0 15)} is VALID [2018-11-23 12:17:59,944 INFO L273 TraceCheckUtils]: 96: Hoare triple {27757#(<= sep_~i~0 15)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27758#(<= sep_~i~0 16)} is VALID [2018-11-23 12:17:59,944 INFO L273 TraceCheckUtils]: 97: Hoare triple {27758#(<= sep_~i~0 16)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27758#(<= sep_~i~0 16)} is VALID [2018-11-23 12:17:59,945 INFO L273 TraceCheckUtils]: 98: Hoare triple {27758#(<= sep_~i~0 16)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27758#(<= sep_~i~0 16)} is VALID [2018-11-23 12:17:59,945 INFO L273 TraceCheckUtils]: 99: Hoare triple {27758#(<= sep_~i~0 16)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27759#(<= sep_~i~0 17)} is VALID [2018-11-23 12:17:59,946 INFO L273 TraceCheckUtils]: 100: Hoare triple {27759#(<= sep_~i~0 17)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27759#(<= sep_~i~0 17)} is VALID [2018-11-23 12:17:59,946 INFO L273 TraceCheckUtils]: 101: Hoare triple {27759#(<= sep_~i~0 17)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27759#(<= sep_~i~0 17)} is VALID [2018-11-23 12:17:59,947 INFO L273 TraceCheckUtils]: 102: Hoare triple {27759#(<= sep_~i~0 17)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27760#(<= sep_~i~0 18)} is VALID [2018-11-23 12:17:59,948 INFO L273 TraceCheckUtils]: 103: Hoare triple {27760#(<= sep_~i~0 18)} assume !(~i~0 < 20); {27741#false} is VALID [2018-11-23 12:17:59,948 INFO L273 TraceCheckUtils]: 104: Hoare triple {27741#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {27741#false} is VALID [2018-11-23 12:17:59,948 INFO L273 TraceCheckUtils]: 105: Hoare triple {27741#false} assume true; {27741#false} is VALID [2018-11-23 12:17:59,948 INFO L268 TraceCheckUtils]: 106: Hoare quadruple {27741#false} {27740#true} #75#return; {27741#false} is VALID [2018-11-23 12:17:59,948 INFO L273 TraceCheckUtils]: 107: Hoare triple {27741#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {27741#false} is VALID [2018-11-23 12:17:59,948 INFO L256 TraceCheckUtils]: 108: Hoare triple {27741#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {27740#true} is VALID [2018-11-23 12:17:59,949 INFO L273 TraceCheckUtils]: 109: Hoare triple {27740#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {27740#true} is VALID [2018-11-23 12:17:59,949 INFO L273 TraceCheckUtils]: 110: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,949 INFO L273 TraceCheckUtils]: 111: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,949 INFO L273 TraceCheckUtils]: 112: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,949 INFO L273 TraceCheckUtils]: 113: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,949 INFO L273 TraceCheckUtils]: 114: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,950 INFO L273 TraceCheckUtils]: 115: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,950 INFO L273 TraceCheckUtils]: 116: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,950 INFO L273 TraceCheckUtils]: 117: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,950 INFO L273 TraceCheckUtils]: 118: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,950 INFO L273 TraceCheckUtils]: 119: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,950 INFO L273 TraceCheckUtils]: 120: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,951 INFO L273 TraceCheckUtils]: 121: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,951 INFO L273 TraceCheckUtils]: 122: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,951 INFO L273 TraceCheckUtils]: 123: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,951 INFO L273 TraceCheckUtils]: 124: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,951 INFO L273 TraceCheckUtils]: 125: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,951 INFO L273 TraceCheckUtils]: 126: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,951 INFO L273 TraceCheckUtils]: 127: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,951 INFO L273 TraceCheckUtils]: 128: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,951 INFO L273 TraceCheckUtils]: 129: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,952 INFO L273 TraceCheckUtils]: 130: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,952 INFO L273 TraceCheckUtils]: 131: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,952 INFO L273 TraceCheckUtils]: 132: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,952 INFO L273 TraceCheckUtils]: 133: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,952 INFO L273 TraceCheckUtils]: 134: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,952 INFO L273 TraceCheckUtils]: 135: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,952 INFO L273 TraceCheckUtils]: 136: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,952 INFO L273 TraceCheckUtils]: 137: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,952 INFO L273 TraceCheckUtils]: 138: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,952 INFO L273 TraceCheckUtils]: 139: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,953 INFO L273 TraceCheckUtils]: 140: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,953 INFO L273 TraceCheckUtils]: 141: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,953 INFO L273 TraceCheckUtils]: 142: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,953 INFO L273 TraceCheckUtils]: 143: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,953 INFO L273 TraceCheckUtils]: 144: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,953 INFO L273 TraceCheckUtils]: 145: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,953 INFO L273 TraceCheckUtils]: 146: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,953 INFO L273 TraceCheckUtils]: 147: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,953 INFO L273 TraceCheckUtils]: 148: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,954 INFO L273 TraceCheckUtils]: 149: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,954 INFO L273 TraceCheckUtils]: 150: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,954 INFO L273 TraceCheckUtils]: 151: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,954 INFO L273 TraceCheckUtils]: 152: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,954 INFO L273 TraceCheckUtils]: 153: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,954 INFO L273 TraceCheckUtils]: 154: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,954 INFO L273 TraceCheckUtils]: 155: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,954 INFO L273 TraceCheckUtils]: 156: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,954 INFO L273 TraceCheckUtils]: 157: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,954 INFO L273 TraceCheckUtils]: 158: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,955 INFO L273 TraceCheckUtils]: 159: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,955 INFO L273 TraceCheckUtils]: 160: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,955 INFO L273 TraceCheckUtils]: 161: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,955 INFO L273 TraceCheckUtils]: 162: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,955 INFO L273 TraceCheckUtils]: 163: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,955 INFO L273 TraceCheckUtils]: 164: Hoare triple {27740#true} assume !(~i~0 < 20); {27740#true} is VALID [2018-11-23 12:17:59,955 INFO L273 TraceCheckUtils]: 165: Hoare triple {27740#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {27740#true} is VALID [2018-11-23 12:17:59,955 INFO L273 TraceCheckUtils]: 166: Hoare triple {27740#true} assume true; {27740#true} is VALID [2018-11-23 12:17:59,955 INFO L268 TraceCheckUtils]: 167: Hoare quadruple {27740#true} {27741#false} #77#return; {27741#false} is VALID [2018-11-23 12:17:59,955 INFO L273 TraceCheckUtils]: 168: Hoare triple {27741#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {27741#false} is VALID [2018-11-23 12:17:59,956 INFO L273 TraceCheckUtils]: 169: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:17:59,956 INFO L273 TraceCheckUtils]: 170: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:17:59,956 INFO L273 TraceCheckUtils]: 171: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:17:59,956 INFO L273 TraceCheckUtils]: 172: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:17:59,956 INFO L273 TraceCheckUtils]: 173: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:17:59,956 INFO L273 TraceCheckUtils]: 174: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:17:59,956 INFO L273 TraceCheckUtils]: 175: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:17:59,956 INFO L273 TraceCheckUtils]: 176: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:17:59,956 INFO L273 TraceCheckUtils]: 177: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:17:59,956 INFO L273 TraceCheckUtils]: 178: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:17:59,957 INFO L273 TraceCheckUtils]: 179: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:17:59,957 INFO L273 TraceCheckUtils]: 180: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:17:59,957 INFO L273 TraceCheckUtils]: 181: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:17:59,957 INFO L273 TraceCheckUtils]: 182: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:17:59,957 INFO L273 TraceCheckUtils]: 183: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:17:59,957 INFO L273 TraceCheckUtils]: 184: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:17:59,957 INFO L273 TraceCheckUtils]: 185: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:17:59,957 INFO L273 TraceCheckUtils]: 186: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:17:59,957 INFO L273 TraceCheckUtils]: 187: Hoare triple {27741#false} assume !(~i~2 < 19); {27741#false} is VALID [2018-11-23 12:17:59,958 INFO L273 TraceCheckUtils]: 188: Hoare triple {27741#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {27741#false} is VALID [2018-11-23 12:17:59,958 INFO L256 TraceCheckUtils]: 189: Hoare triple {27741#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {27740#true} is VALID [2018-11-23 12:17:59,958 INFO L273 TraceCheckUtils]: 190: Hoare triple {27740#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {27740#true} is VALID [2018-11-23 12:17:59,958 INFO L273 TraceCheckUtils]: 191: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,958 INFO L273 TraceCheckUtils]: 192: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,958 INFO L273 TraceCheckUtils]: 193: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,958 INFO L273 TraceCheckUtils]: 194: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,958 INFO L273 TraceCheckUtils]: 195: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,958 INFO L273 TraceCheckUtils]: 196: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,958 INFO L273 TraceCheckUtils]: 197: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,959 INFO L273 TraceCheckUtils]: 198: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,959 INFO L273 TraceCheckUtils]: 199: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,959 INFO L273 TraceCheckUtils]: 200: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,959 INFO L273 TraceCheckUtils]: 201: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,959 INFO L273 TraceCheckUtils]: 202: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,959 INFO L273 TraceCheckUtils]: 203: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,959 INFO L273 TraceCheckUtils]: 204: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,959 INFO L273 TraceCheckUtils]: 205: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,959 INFO L273 TraceCheckUtils]: 206: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,959 INFO L273 TraceCheckUtils]: 207: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,960 INFO L273 TraceCheckUtils]: 208: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,960 INFO L273 TraceCheckUtils]: 209: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,960 INFO L273 TraceCheckUtils]: 210: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,960 INFO L273 TraceCheckUtils]: 211: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,960 INFO L273 TraceCheckUtils]: 212: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,960 INFO L273 TraceCheckUtils]: 213: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,960 INFO L273 TraceCheckUtils]: 214: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,960 INFO L273 TraceCheckUtils]: 215: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,960 INFO L273 TraceCheckUtils]: 216: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,960 INFO L273 TraceCheckUtils]: 217: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,961 INFO L273 TraceCheckUtils]: 218: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,961 INFO L273 TraceCheckUtils]: 219: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,961 INFO L273 TraceCheckUtils]: 220: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,961 INFO L273 TraceCheckUtils]: 221: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,961 INFO L273 TraceCheckUtils]: 222: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,961 INFO L273 TraceCheckUtils]: 223: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,961 INFO L273 TraceCheckUtils]: 224: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,961 INFO L273 TraceCheckUtils]: 225: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,961 INFO L273 TraceCheckUtils]: 226: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,961 INFO L273 TraceCheckUtils]: 227: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,962 INFO L273 TraceCheckUtils]: 228: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,962 INFO L273 TraceCheckUtils]: 229: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,962 INFO L273 TraceCheckUtils]: 230: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,962 INFO L273 TraceCheckUtils]: 231: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,962 INFO L273 TraceCheckUtils]: 232: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,962 INFO L273 TraceCheckUtils]: 233: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,962 INFO L273 TraceCheckUtils]: 234: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,962 INFO L273 TraceCheckUtils]: 235: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,962 INFO L273 TraceCheckUtils]: 236: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,962 INFO L273 TraceCheckUtils]: 237: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,963 INFO L273 TraceCheckUtils]: 238: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,963 INFO L273 TraceCheckUtils]: 239: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,963 INFO L273 TraceCheckUtils]: 240: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,963 INFO L273 TraceCheckUtils]: 241: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,963 INFO L273 TraceCheckUtils]: 242: Hoare triple {27740#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27740#true} is VALID [2018-11-23 12:17:59,963 INFO L273 TraceCheckUtils]: 243: Hoare triple {27740#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27740#true} is VALID [2018-11-23 12:17:59,963 INFO L273 TraceCheckUtils]: 244: Hoare triple {27740#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27740#true} is VALID [2018-11-23 12:17:59,963 INFO L273 TraceCheckUtils]: 245: Hoare triple {27740#true} assume !(~i~0 < 20); {27740#true} is VALID [2018-11-23 12:17:59,963 INFO L273 TraceCheckUtils]: 246: Hoare triple {27740#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {27740#true} is VALID [2018-11-23 12:17:59,964 INFO L273 TraceCheckUtils]: 247: Hoare triple {27740#true} assume true; {27740#true} is VALID [2018-11-23 12:17:59,964 INFO L268 TraceCheckUtils]: 248: Hoare quadruple {27740#true} {27741#false} #79#return; {27741#false} is VALID [2018-11-23 12:17:59,964 INFO L273 TraceCheckUtils]: 249: Hoare triple {27741#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {27741#false} is VALID [2018-11-23 12:17:59,964 INFO L273 TraceCheckUtils]: 250: Hoare triple {27741#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {27741#false} is VALID [2018-11-23 12:17:59,964 INFO L273 TraceCheckUtils]: 251: Hoare triple {27741#false} assume !false; {27741#false} is VALID [2018-11-23 12:17:59,986 INFO L134 CoverageAnalysis]: Checked inductivity of 4951 backedges. 0 proven. 2501 refuted. 0 times theorem prover too weak. 2450 trivial. 0 not checked. [2018-11-23 12:17:59,986 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:59,986 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:59,995 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:18:00,133 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:18:00,133 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:00,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:00,179 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:00,522 INFO L256 TraceCheckUtils]: 0: Hoare triple {27740#true} call ULTIMATE.init(); {27740#true} is VALID [2018-11-23 12:18:00,522 INFO L273 TraceCheckUtils]: 1: Hoare triple {27740#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {27740#true} is VALID [2018-11-23 12:18:00,522 INFO L273 TraceCheckUtils]: 2: Hoare triple {27740#true} assume true; {27740#true} is VALID [2018-11-23 12:18:00,522 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {27740#true} {27740#true} #71#return; {27740#true} is VALID [2018-11-23 12:18:00,522 INFO L256 TraceCheckUtils]: 4: Hoare triple {27740#true} call #t~ret14 := main(); {27740#true} is VALID [2018-11-23 12:18:00,523 INFO L273 TraceCheckUtils]: 5: Hoare triple {27740#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {27740#true} is VALID [2018-11-23 12:18:00,523 INFO L273 TraceCheckUtils]: 6: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,523 INFO L273 TraceCheckUtils]: 7: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,523 INFO L273 TraceCheckUtils]: 8: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,523 INFO L273 TraceCheckUtils]: 9: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,524 INFO L273 TraceCheckUtils]: 10: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,524 INFO L273 TraceCheckUtils]: 11: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,524 INFO L273 TraceCheckUtils]: 12: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,524 INFO L273 TraceCheckUtils]: 13: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,524 INFO L273 TraceCheckUtils]: 14: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,524 INFO L273 TraceCheckUtils]: 15: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,525 INFO L273 TraceCheckUtils]: 16: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,525 INFO L273 TraceCheckUtils]: 17: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,525 INFO L273 TraceCheckUtils]: 18: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,525 INFO L273 TraceCheckUtils]: 19: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,525 INFO L273 TraceCheckUtils]: 20: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,525 INFO L273 TraceCheckUtils]: 21: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,525 INFO L273 TraceCheckUtils]: 22: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,525 INFO L273 TraceCheckUtils]: 23: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,526 INFO L273 TraceCheckUtils]: 24: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,526 INFO L273 TraceCheckUtils]: 25: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,526 INFO L273 TraceCheckUtils]: 26: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,526 INFO L273 TraceCheckUtils]: 27: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,526 INFO L273 TraceCheckUtils]: 28: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,526 INFO L273 TraceCheckUtils]: 29: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,526 INFO L273 TraceCheckUtils]: 30: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,526 INFO L273 TraceCheckUtils]: 31: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,526 INFO L273 TraceCheckUtils]: 32: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,527 INFO L273 TraceCheckUtils]: 33: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,527 INFO L273 TraceCheckUtils]: 34: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,527 INFO L273 TraceCheckUtils]: 35: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,527 INFO L273 TraceCheckUtils]: 36: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,527 INFO L273 TraceCheckUtils]: 37: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,527 INFO L273 TraceCheckUtils]: 38: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,527 INFO L273 TraceCheckUtils]: 39: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,527 INFO L273 TraceCheckUtils]: 40: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,527 INFO L273 TraceCheckUtils]: 41: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,527 INFO L273 TraceCheckUtils]: 42: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,528 INFO L273 TraceCheckUtils]: 43: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,528 INFO L273 TraceCheckUtils]: 44: Hoare triple {27740#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27740#true} is VALID [2018-11-23 12:18:00,528 INFO L273 TraceCheckUtils]: 45: Hoare triple {27740#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27740#true} is VALID [2018-11-23 12:18:00,528 INFO L273 TraceCheckUtils]: 46: Hoare triple {27740#true} assume !(~i~1 < 20); {27740#true} is VALID [2018-11-23 12:18:00,528 INFO L256 TraceCheckUtils]: 47: Hoare triple {27740#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {27740#true} is VALID [2018-11-23 12:18:00,528 INFO L273 TraceCheckUtils]: 48: Hoare triple {27740#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {27908#(<= sep_~i~0 0)} is VALID [2018-11-23 12:18:00,529 INFO L273 TraceCheckUtils]: 49: Hoare triple {27908#(<= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27908#(<= sep_~i~0 0)} is VALID [2018-11-23 12:18:00,529 INFO L273 TraceCheckUtils]: 50: Hoare triple {27908#(<= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27908#(<= sep_~i~0 0)} is VALID [2018-11-23 12:18:00,529 INFO L273 TraceCheckUtils]: 51: Hoare triple {27908#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27743#(<= sep_~i~0 1)} is VALID [2018-11-23 12:18:00,530 INFO L273 TraceCheckUtils]: 52: Hoare triple {27743#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27743#(<= sep_~i~0 1)} is VALID [2018-11-23 12:18:00,530 INFO L273 TraceCheckUtils]: 53: Hoare triple {27743#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27743#(<= sep_~i~0 1)} is VALID [2018-11-23 12:18:00,531 INFO L273 TraceCheckUtils]: 54: Hoare triple {27743#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27744#(<= sep_~i~0 2)} is VALID [2018-11-23 12:18:00,531 INFO L273 TraceCheckUtils]: 55: Hoare triple {27744#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27744#(<= sep_~i~0 2)} is VALID [2018-11-23 12:18:00,531 INFO L273 TraceCheckUtils]: 56: Hoare triple {27744#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27744#(<= sep_~i~0 2)} is VALID [2018-11-23 12:18:00,532 INFO L273 TraceCheckUtils]: 57: Hoare triple {27744#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27745#(<= sep_~i~0 3)} is VALID [2018-11-23 12:18:00,532 INFO L273 TraceCheckUtils]: 58: Hoare triple {27745#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27745#(<= sep_~i~0 3)} is VALID [2018-11-23 12:18:00,532 INFO L273 TraceCheckUtils]: 59: Hoare triple {27745#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27745#(<= sep_~i~0 3)} is VALID [2018-11-23 12:18:00,533 INFO L273 TraceCheckUtils]: 60: Hoare triple {27745#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27746#(<= sep_~i~0 4)} is VALID [2018-11-23 12:18:00,534 INFO L273 TraceCheckUtils]: 61: Hoare triple {27746#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27746#(<= sep_~i~0 4)} is VALID [2018-11-23 12:18:00,534 INFO L273 TraceCheckUtils]: 62: Hoare triple {27746#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27746#(<= sep_~i~0 4)} is VALID [2018-11-23 12:18:00,535 INFO L273 TraceCheckUtils]: 63: Hoare triple {27746#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27747#(<= sep_~i~0 5)} is VALID [2018-11-23 12:18:00,535 INFO L273 TraceCheckUtils]: 64: Hoare triple {27747#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27747#(<= sep_~i~0 5)} is VALID [2018-11-23 12:18:00,536 INFO L273 TraceCheckUtils]: 65: Hoare triple {27747#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27747#(<= sep_~i~0 5)} is VALID [2018-11-23 12:18:00,536 INFO L273 TraceCheckUtils]: 66: Hoare triple {27747#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27748#(<= sep_~i~0 6)} is VALID [2018-11-23 12:18:00,537 INFO L273 TraceCheckUtils]: 67: Hoare triple {27748#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27748#(<= sep_~i~0 6)} is VALID [2018-11-23 12:18:00,537 INFO L273 TraceCheckUtils]: 68: Hoare triple {27748#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27748#(<= sep_~i~0 6)} is VALID [2018-11-23 12:18:00,538 INFO L273 TraceCheckUtils]: 69: Hoare triple {27748#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27749#(<= sep_~i~0 7)} is VALID [2018-11-23 12:18:00,539 INFO L273 TraceCheckUtils]: 70: Hoare triple {27749#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27749#(<= sep_~i~0 7)} is VALID [2018-11-23 12:18:00,539 INFO L273 TraceCheckUtils]: 71: Hoare triple {27749#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27749#(<= sep_~i~0 7)} is VALID [2018-11-23 12:18:00,540 INFO L273 TraceCheckUtils]: 72: Hoare triple {27749#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27750#(<= sep_~i~0 8)} is VALID [2018-11-23 12:18:00,540 INFO L273 TraceCheckUtils]: 73: Hoare triple {27750#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27750#(<= sep_~i~0 8)} is VALID [2018-11-23 12:18:00,541 INFO L273 TraceCheckUtils]: 74: Hoare triple {27750#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27750#(<= sep_~i~0 8)} is VALID [2018-11-23 12:18:00,542 INFO L273 TraceCheckUtils]: 75: Hoare triple {27750#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27751#(<= sep_~i~0 9)} is VALID [2018-11-23 12:18:00,542 INFO L273 TraceCheckUtils]: 76: Hoare triple {27751#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27751#(<= sep_~i~0 9)} is VALID [2018-11-23 12:18:00,543 INFO L273 TraceCheckUtils]: 77: Hoare triple {27751#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27751#(<= sep_~i~0 9)} is VALID [2018-11-23 12:18:00,543 INFO L273 TraceCheckUtils]: 78: Hoare triple {27751#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27752#(<= sep_~i~0 10)} is VALID [2018-11-23 12:18:00,544 INFO L273 TraceCheckUtils]: 79: Hoare triple {27752#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27752#(<= sep_~i~0 10)} is VALID [2018-11-23 12:18:00,544 INFO L273 TraceCheckUtils]: 80: Hoare triple {27752#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27752#(<= sep_~i~0 10)} is VALID [2018-11-23 12:18:00,545 INFO L273 TraceCheckUtils]: 81: Hoare triple {27752#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27753#(<= sep_~i~0 11)} is VALID [2018-11-23 12:18:00,546 INFO L273 TraceCheckUtils]: 82: Hoare triple {27753#(<= sep_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27753#(<= sep_~i~0 11)} is VALID [2018-11-23 12:18:00,546 INFO L273 TraceCheckUtils]: 83: Hoare triple {27753#(<= sep_~i~0 11)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27753#(<= sep_~i~0 11)} is VALID [2018-11-23 12:18:00,547 INFO L273 TraceCheckUtils]: 84: Hoare triple {27753#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27754#(<= sep_~i~0 12)} is VALID [2018-11-23 12:18:00,547 INFO L273 TraceCheckUtils]: 85: Hoare triple {27754#(<= sep_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27754#(<= sep_~i~0 12)} is VALID [2018-11-23 12:18:00,548 INFO L273 TraceCheckUtils]: 86: Hoare triple {27754#(<= sep_~i~0 12)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27754#(<= sep_~i~0 12)} is VALID [2018-11-23 12:18:00,548 INFO L273 TraceCheckUtils]: 87: Hoare triple {27754#(<= sep_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27755#(<= sep_~i~0 13)} is VALID [2018-11-23 12:18:00,549 INFO L273 TraceCheckUtils]: 88: Hoare triple {27755#(<= sep_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27755#(<= sep_~i~0 13)} is VALID [2018-11-23 12:18:00,549 INFO L273 TraceCheckUtils]: 89: Hoare triple {27755#(<= sep_~i~0 13)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27755#(<= sep_~i~0 13)} is VALID [2018-11-23 12:18:00,550 INFO L273 TraceCheckUtils]: 90: Hoare triple {27755#(<= sep_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27756#(<= sep_~i~0 14)} is VALID [2018-11-23 12:18:00,551 INFO L273 TraceCheckUtils]: 91: Hoare triple {27756#(<= sep_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27756#(<= sep_~i~0 14)} is VALID [2018-11-23 12:18:00,551 INFO L273 TraceCheckUtils]: 92: Hoare triple {27756#(<= sep_~i~0 14)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27756#(<= sep_~i~0 14)} is VALID [2018-11-23 12:18:00,552 INFO L273 TraceCheckUtils]: 93: Hoare triple {27756#(<= sep_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27757#(<= sep_~i~0 15)} is VALID [2018-11-23 12:18:00,552 INFO L273 TraceCheckUtils]: 94: Hoare triple {27757#(<= sep_~i~0 15)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27757#(<= sep_~i~0 15)} is VALID [2018-11-23 12:18:00,553 INFO L273 TraceCheckUtils]: 95: Hoare triple {27757#(<= sep_~i~0 15)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27757#(<= sep_~i~0 15)} is VALID [2018-11-23 12:18:00,554 INFO L273 TraceCheckUtils]: 96: Hoare triple {27757#(<= sep_~i~0 15)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27758#(<= sep_~i~0 16)} is VALID [2018-11-23 12:18:00,554 INFO L273 TraceCheckUtils]: 97: Hoare triple {27758#(<= sep_~i~0 16)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27758#(<= sep_~i~0 16)} is VALID [2018-11-23 12:18:00,555 INFO L273 TraceCheckUtils]: 98: Hoare triple {27758#(<= sep_~i~0 16)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27758#(<= sep_~i~0 16)} is VALID [2018-11-23 12:18:00,555 INFO L273 TraceCheckUtils]: 99: Hoare triple {27758#(<= sep_~i~0 16)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27759#(<= sep_~i~0 17)} is VALID [2018-11-23 12:18:00,556 INFO L273 TraceCheckUtils]: 100: Hoare triple {27759#(<= sep_~i~0 17)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27759#(<= sep_~i~0 17)} is VALID [2018-11-23 12:18:00,556 INFO L273 TraceCheckUtils]: 101: Hoare triple {27759#(<= sep_~i~0 17)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27759#(<= sep_~i~0 17)} is VALID [2018-11-23 12:18:00,557 INFO L273 TraceCheckUtils]: 102: Hoare triple {27759#(<= sep_~i~0 17)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27760#(<= sep_~i~0 18)} is VALID [2018-11-23 12:18:00,558 INFO L273 TraceCheckUtils]: 103: Hoare triple {27760#(<= sep_~i~0 18)} assume !(~i~0 < 20); {27741#false} is VALID [2018-11-23 12:18:00,558 INFO L273 TraceCheckUtils]: 104: Hoare triple {27741#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {27741#false} is VALID [2018-11-23 12:18:00,558 INFO L273 TraceCheckUtils]: 105: Hoare triple {27741#false} assume true; {27741#false} is VALID [2018-11-23 12:18:00,558 INFO L268 TraceCheckUtils]: 106: Hoare quadruple {27741#false} {27740#true} #75#return; {27741#false} is VALID [2018-11-23 12:18:00,558 INFO L273 TraceCheckUtils]: 107: Hoare triple {27741#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {27741#false} is VALID [2018-11-23 12:18:00,559 INFO L256 TraceCheckUtils]: 108: Hoare triple {27741#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {27741#false} is VALID [2018-11-23 12:18:00,559 INFO L273 TraceCheckUtils]: 109: Hoare triple {27741#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {27741#false} is VALID [2018-11-23 12:18:00,559 INFO L273 TraceCheckUtils]: 110: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,559 INFO L273 TraceCheckUtils]: 111: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,559 INFO L273 TraceCheckUtils]: 112: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,560 INFO L273 TraceCheckUtils]: 113: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,560 INFO L273 TraceCheckUtils]: 114: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,560 INFO L273 TraceCheckUtils]: 115: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,560 INFO L273 TraceCheckUtils]: 116: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,560 INFO L273 TraceCheckUtils]: 117: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,560 INFO L273 TraceCheckUtils]: 118: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,561 INFO L273 TraceCheckUtils]: 119: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,561 INFO L273 TraceCheckUtils]: 120: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,561 INFO L273 TraceCheckUtils]: 121: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,561 INFO L273 TraceCheckUtils]: 122: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,561 INFO L273 TraceCheckUtils]: 123: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,562 INFO L273 TraceCheckUtils]: 124: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,562 INFO L273 TraceCheckUtils]: 125: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,562 INFO L273 TraceCheckUtils]: 126: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,562 INFO L273 TraceCheckUtils]: 127: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,562 INFO L273 TraceCheckUtils]: 128: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,562 INFO L273 TraceCheckUtils]: 129: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,563 INFO L273 TraceCheckUtils]: 130: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,563 INFO L273 TraceCheckUtils]: 131: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,563 INFO L273 TraceCheckUtils]: 132: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,563 INFO L273 TraceCheckUtils]: 133: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,563 INFO L273 TraceCheckUtils]: 134: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,563 INFO L273 TraceCheckUtils]: 135: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,563 INFO L273 TraceCheckUtils]: 136: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,563 INFO L273 TraceCheckUtils]: 137: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,563 INFO L273 TraceCheckUtils]: 138: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,564 INFO L273 TraceCheckUtils]: 139: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,564 INFO L273 TraceCheckUtils]: 140: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,564 INFO L273 TraceCheckUtils]: 141: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,564 INFO L273 TraceCheckUtils]: 142: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,564 INFO L273 TraceCheckUtils]: 143: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,564 INFO L273 TraceCheckUtils]: 144: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,564 INFO L273 TraceCheckUtils]: 145: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,564 INFO L273 TraceCheckUtils]: 146: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,564 INFO L273 TraceCheckUtils]: 147: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,565 INFO L273 TraceCheckUtils]: 148: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,565 INFO L273 TraceCheckUtils]: 149: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,565 INFO L273 TraceCheckUtils]: 150: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,565 INFO L273 TraceCheckUtils]: 151: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,565 INFO L273 TraceCheckUtils]: 152: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,565 INFO L273 TraceCheckUtils]: 153: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,565 INFO L273 TraceCheckUtils]: 154: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,565 INFO L273 TraceCheckUtils]: 155: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,565 INFO L273 TraceCheckUtils]: 156: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,565 INFO L273 TraceCheckUtils]: 157: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,566 INFO L273 TraceCheckUtils]: 158: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,566 INFO L273 TraceCheckUtils]: 159: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,566 INFO L273 TraceCheckUtils]: 160: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,566 INFO L273 TraceCheckUtils]: 161: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,566 INFO L273 TraceCheckUtils]: 162: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,566 INFO L273 TraceCheckUtils]: 163: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,566 INFO L273 TraceCheckUtils]: 164: Hoare triple {27741#false} assume !(~i~0 < 20); {27741#false} is VALID [2018-11-23 12:18:00,566 INFO L273 TraceCheckUtils]: 165: Hoare triple {27741#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {27741#false} is VALID [2018-11-23 12:18:00,566 INFO L273 TraceCheckUtils]: 166: Hoare triple {27741#false} assume true; {27741#false} is VALID [2018-11-23 12:18:00,566 INFO L268 TraceCheckUtils]: 167: Hoare quadruple {27741#false} {27741#false} #77#return; {27741#false} is VALID [2018-11-23 12:18:00,567 INFO L273 TraceCheckUtils]: 168: Hoare triple {27741#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {27741#false} is VALID [2018-11-23 12:18:00,567 INFO L273 TraceCheckUtils]: 169: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:18:00,567 INFO L273 TraceCheckUtils]: 170: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:18:00,567 INFO L273 TraceCheckUtils]: 171: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:18:00,567 INFO L273 TraceCheckUtils]: 172: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:18:00,567 INFO L273 TraceCheckUtils]: 173: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:18:00,567 INFO L273 TraceCheckUtils]: 174: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:18:00,567 INFO L273 TraceCheckUtils]: 175: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:18:00,567 INFO L273 TraceCheckUtils]: 176: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:18:00,568 INFO L273 TraceCheckUtils]: 177: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:18:00,568 INFO L273 TraceCheckUtils]: 178: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:18:00,568 INFO L273 TraceCheckUtils]: 179: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:18:00,568 INFO L273 TraceCheckUtils]: 180: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:18:00,568 INFO L273 TraceCheckUtils]: 181: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:18:00,568 INFO L273 TraceCheckUtils]: 182: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:18:00,568 INFO L273 TraceCheckUtils]: 183: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:18:00,568 INFO L273 TraceCheckUtils]: 184: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:18:00,568 INFO L273 TraceCheckUtils]: 185: Hoare triple {27741#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27741#false} is VALID [2018-11-23 12:18:00,568 INFO L273 TraceCheckUtils]: 186: Hoare triple {27741#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27741#false} is VALID [2018-11-23 12:18:00,569 INFO L273 TraceCheckUtils]: 187: Hoare triple {27741#false} assume !(~i~2 < 19); {27741#false} is VALID [2018-11-23 12:18:00,569 INFO L273 TraceCheckUtils]: 188: Hoare triple {27741#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {27741#false} is VALID [2018-11-23 12:18:00,569 INFO L256 TraceCheckUtils]: 189: Hoare triple {27741#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {27741#false} is VALID [2018-11-23 12:18:00,569 INFO L273 TraceCheckUtils]: 190: Hoare triple {27741#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {27741#false} is VALID [2018-11-23 12:18:00,569 INFO L273 TraceCheckUtils]: 191: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,569 INFO L273 TraceCheckUtils]: 192: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,569 INFO L273 TraceCheckUtils]: 193: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,569 INFO L273 TraceCheckUtils]: 194: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,569 INFO L273 TraceCheckUtils]: 195: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,569 INFO L273 TraceCheckUtils]: 196: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,570 INFO L273 TraceCheckUtils]: 197: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,570 INFO L273 TraceCheckUtils]: 198: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,570 INFO L273 TraceCheckUtils]: 199: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,570 INFO L273 TraceCheckUtils]: 200: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,570 INFO L273 TraceCheckUtils]: 201: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,570 INFO L273 TraceCheckUtils]: 202: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,570 INFO L273 TraceCheckUtils]: 203: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,570 INFO L273 TraceCheckUtils]: 204: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,570 INFO L273 TraceCheckUtils]: 205: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,570 INFO L273 TraceCheckUtils]: 206: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,571 INFO L273 TraceCheckUtils]: 207: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,571 INFO L273 TraceCheckUtils]: 208: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,571 INFO L273 TraceCheckUtils]: 209: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,571 INFO L273 TraceCheckUtils]: 210: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,571 INFO L273 TraceCheckUtils]: 211: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,571 INFO L273 TraceCheckUtils]: 212: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,571 INFO L273 TraceCheckUtils]: 213: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,571 INFO L273 TraceCheckUtils]: 214: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,571 INFO L273 TraceCheckUtils]: 215: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,571 INFO L273 TraceCheckUtils]: 216: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,572 INFO L273 TraceCheckUtils]: 217: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,572 INFO L273 TraceCheckUtils]: 218: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,572 INFO L273 TraceCheckUtils]: 219: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,572 INFO L273 TraceCheckUtils]: 220: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,572 INFO L273 TraceCheckUtils]: 221: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,572 INFO L273 TraceCheckUtils]: 222: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,572 INFO L273 TraceCheckUtils]: 223: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,572 INFO L273 TraceCheckUtils]: 224: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,572 INFO L273 TraceCheckUtils]: 225: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,572 INFO L273 TraceCheckUtils]: 226: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,573 INFO L273 TraceCheckUtils]: 227: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,573 INFO L273 TraceCheckUtils]: 228: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,573 INFO L273 TraceCheckUtils]: 229: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,573 INFO L273 TraceCheckUtils]: 230: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,573 INFO L273 TraceCheckUtils]: 231: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,573 INFO L273 TraceCheckUtils]: 232: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,573 INFO L273 TraceCheckUtils]: 233: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,573 INFO L273 TraceCheckUtils]: 234: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,573 INFO L273 TraceCheckUtils]: 235: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,574 INFO L273 TraceCheckUtils]: 236: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,574 INFO L273 TraceCheckUtils]: 237: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,574 INFO L273 TraceCheckUtils]: 238: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,574 INFO L273 TraceCheckUtils]: 239: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,574 INFO L273 TraceCheckUtils]: 240: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,574 INFO L273 TraceCheckUtils]: 241: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,574 INFO L273 TraceCheckUtils]: 242: Hoare triple {27741#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27741#false} is VALID [2018-11-23 12:18:00,574 INFO L273 TraceCheckUtils]: 243: Hoare triple {27741#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27741#false} is VALID [2018-11-23 12:18:00,574 INFO L273 TraceCheckUtils]: 244: Hoare triple {27741#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27741#false} is VALID [2018-11-23 12:18:00,574 INFO L273 TraceCheckUtils]: 245: Hoare triple {27741#false} assume !(~i~0 < 20); {27741#false} is VALID [2018-11-23 12:18:00,575 INFO L273 TraceCheckUtils]: 246: Hoare triple {27741#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {27741#false} is VALID [2018-11-23 12:18:00,575 INFO L273 TraceCheckUtils]: 247: Hoare triple {27741#false} assume true; {27741#false} is VALID [2018-11-23 12:18:00,575 INFO L268 TraceCheckUtils]: 248: Hoare quadruple {27741#false} {27741#false} #79#return; {27741#false} is VALID [2018-11-23 12:18:00,575 INFO L273 TraceCheckUtils]: 249: Hoare triple {27741#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {27741#false} is VALID [2018-11-23 12:18:00,575 INFO L273 TraceCheckUtils]: 250: Hoare triple {27741#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {27741#false} is VALID [2018-11-23 12:18:00,575 INFO L273 TraceCheckUtils]: 251: Hoare triple {27741#false} assume !false; {27741#false} is VALID [2018-11-23 12:18:00,600 INFO L134 CoverageAnalysis]: Checked inductivity of 4951 backedges. 2020 proven. 477 refuted. 0 times theorem prover too weak. 2454 trivial. 0 not checked. [2018-11-23 12:18:00,619 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:00,619 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 22 [2018-11-23 12:18:00,620 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 252 [2018-11-23 12:18:00,621 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:00,621 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 12:18:00,721 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:00,721 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 12:18:00,722 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 12:18:00,722 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=231, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:18:00,722 INFO L87 Difference]: Start difference. First operand 135 states and 157 transitions. Second operand 22 states. [2018-11-23 12:18:01,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:01,301 INFO L93 Difference]: Finished difference Result 227 states and 275 transitions. [2018-11-23 12:18:01,301 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-23 12:18:01,301 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 252 [2018-11-23 12:18:01,301 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:01,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:18:01,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 133 transitions. [2018-11-23 12:18:01,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:18:01,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 133 transitions. [2018-11-23 12:18:01,304 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 133 transitions. [2018-11-23 12:18:01,430 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:01,433 INFO L225 Difference]: With dead ends: 227 [2018-11-23 12:18:01,433 INFO L226 Difference]: Without dead ends: 140 [2018-11-23 12:18:01,433 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 272 GetRequests, 252 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=231, Invalid=231, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:18:01,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2018-11-23 12:18:01,718 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 138. [2018-11-23 12:18:01,718 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:01,718 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand 138 states. [2018-11-23 12:18:01,718 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 138 states. [2018-11-23 12:18:01,718 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 138 states. [2018-11-23 12:18:01,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:01,721 INFO L93 Difference]: Finished difference Result 140 states and 164 transitions. [2018-11-23 12:18:01,721 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 164 transitions. [2018-11-23 12:18:01,721 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:01,721 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:01,721 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand 140 states. [2018-11-23 12:18:01,721 INFO L87 Difference]: Start difference. First operand 138 states. Second operand 140 states. [2018-11-23 12:18:01,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:01,723 INFO L93 Difference]: Finished difference Result 140 states and 164 transitions. [2018-11-23 12:18:01,723 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 164 transitions. [2018-11-23 12:18:01,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:01,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:01,724 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:01,724 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:01,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 138 states. [2018-11-23 12:18:01,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 161 transitions. [2018-11-23 12:18:01,726 INFO L78 Accepts]: Start accepts. Automaton has 138 states and 161 transitions. Word has length 252 [2018-11-23 12:18:01,726 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:01,726 INFO L480 AbstractCegarLoop]: Abstraction has 138 states and 161 transitions. [2018-11-23 12:18:01,726 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 12:18:01,727 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 161 transitions. [2018-11-23 12:18:01,728 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 262 [2018-11-23 12:18:01,728 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:01,728 INFO L402 BasicCegarLoop]: trace histogram [57, 57, 57, 20, 20, 9, 9, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:18:01,728 INFO L423 AbstractCegarLoop]: === Iteration 37 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:01,728 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:01,728 INFO L82 PathProgramCache]: Analyzing trace with hash -1193431831, now seen corresponding path program 33 times [2018-11-23 12:18:01,728 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:01,728 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:01,729 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:01,729 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:01,729 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:01,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:03,936 INFO L256 TraceCheckUtils]: 0: Hoare triple {29312#true} call ULTIMATE.init(); {29312#true} is VALID [2018-11-23 12:18:03,936 INFO L273 TraceCheckUtils]: 1: Hoare triple {29312#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {29312#true} is VALID [2018-11-23 12:18:03,936 INFO L273 TraceCheckUtils]: 2: Hoare triple {29312#true} assume true; {29312#true} is VALID [2018-11-23 12:18:03,936 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {29312#true} {29312#true} #71#return; {29312#true} is VALID [2018-11-23 12:18:03,936 INFO L256 TraceCheckUtils]: 4: Hoare triple {29312#true} call #t~ret14 := main(); {29312#true} is VALID [2018-11-23 12:18:03,937 INFO L273 TraceCheckUtils]: 5: Hoare triple {29312#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {29312#true} is VALID [2018-11-23 12:18:03,937 INFO L273 TraceCheckUtils]: 6: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,937 INFO L273 TraceCheckUtils]: 7: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,937 INFO L273 TraceCheckUtils]: 8: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,937 INFO L273 TraceCheckUtils]: 9: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,938 INFO L273 TraceCheckUtils]: 10: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,938 INFO L273 TraceCheckUtils]: 11: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,938 INFO L273 TraceCheckUtils]: 12: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,938 INFO L273 TraceCheckUtils]: 13: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,938 INFO L273 TraceCheckUtils]: 14: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,938 INFO L273 TraceCheckUtils]: 15: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,938 INFO L273 TraceCheckUtils]: 16: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,939 INFO L273 TraceCheckUtils]: 17: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,939 INFO L273 TraceCheckUtils]: 18: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,939 INFO L273 TraceCheckUtils]: 19: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,939 INFO L273 TraceCheckUtils]: 20: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,939 INFO L273 TraceCheckUtils]: 21: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,939 INFO L273 TraceCheckUtils]: 22: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,939 INFO L273 TraceCheckUtils]: 23: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,939 INFO L273 TraceCheckUtils]: 24: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,939 INFO L273 TraceCheckUtils]: 25: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,939 INFO L273 TraceCheckUtils]: 26: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,940 INFO L273 TraceCheckUtils]: 27: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,940 INFO L273 TraceCheckUtils]: 28: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,940 INFO L273 TraceCheckUtils]: 29: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,940 INFO L273 TraceCheckUtils]: 30: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,940 INFO L273 TraceCheckUtils]: 31: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,940 INFO L273 TraceCheckUtils]: 32: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,940 INFO L273 TraceCheckUtils]: 33: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,940 INFO L273 TraceCheckUtils]: 34: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,940 INFO L273 TraceCheckUtils]: 35: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,941 INFO L273 TraceCheckUtils]: 36: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,941 INFO L273 TraceCheckUtils]: 37: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,941 INFO L273 TraceCheckUtils]: 38: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,941 INFO L273 TraceCheckUtils]: 39: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,941 INFO L273 TraceCheckUtils]: 40: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,941 INFO L273 TraceCheckUtils]: 41: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,941 INFO L273 TraceCheckUtils]: 42: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,941 INFO L273 TraceCheckUtils]: 43: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,941 INFO L273 TraceCheckUtils]: 44: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:03,941 INFO L273 TraceCheckUtils]: 45: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:03,942 INFO L273 TraceCheckUtils]: 46: Hoare triple {29312#true} assume !(~i~1 < 20); {29312#true} is VALID [2018-11-23 12:18:03,942 INFO L256 TraceCheckUtils]: 47: Hoare triple {29312#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {29312#true} is VALID [2018-11-23 12:18:03,942 INFO L273 TraceCheckUtils]: 48: Hoare triple {29312#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {29314#(= sep_~i~0 0)} is VALID [2018-11-23 12:18:03,942 INFO L273 TraceCheckUtils]: 49: Hoare triple {29314#(= sep_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29314#(= sep_~i~0 0)} is VALID [2018-11-23 12:18:03,943 INFO L273 TraceCheckUtils]: 50: Hoare triple {29314#(= sep_~i~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29314#(= sep_~i~0 0)} is VALID [2018-11-23 12:18:03,943 INFO L273 TraceCheckUtils]: 51: Hoare triple {29314#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29315#(<= sep_~i~0 1)} is VALID [2018-11-23 12:18:03,943 INFO L273 TraceCheckUtils]: 52: Hoare triple {29315#(<= sep_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29315#(<= sep_~i~0 1)} is VALID [2018-11-23 12:18:03,944 INFO L273 TraceCheckUtils]: 53: Hoare triple {29315#(<= sep_~i~0 1)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29315#(<= sep_~i~0 1)} is VALID [2018-11-23 12:18:03,944 INFO L273 TraceCheckUtils]: 54: Hoare triple {29315#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29316#(<= sep_~i~0 2)} is VALID [2018-11-23 12:18:03,944 INFO L273 TraceCheckUtils]: 55: Hoare triple {29316#(<= sep_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29316#(<= sep_~i~0 2)} is VALID [2018-11-23 12:18:03,945 INFO L273 TraceCheckUtils]: 56: Hoare triple {29316#(<= sep_~i~0 2)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29316#(<= sep_~i~0 2)} is VALID [2018-11-23 12:18:03,945 INFO L273 TraceCheckUtils]: 57: Hoare triple {29316#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29317#(<= sep_~i~0 3)} is VALID [2018-11-23 12:18:03,945 INFO L273 TraceCheckUtils]: 58: Hoare triple {29317#(<= sep_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29317#(<= sep_~i~0 3)} is VALID [2018-11-23 12:18:03,946 INFO L273 TraceCheckUtils]: 59: Hoare triple {29317#(<= sep_~i~0 3)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29317#(<= sep_~i~0 3)} is VALID [2018-11-23 12:18:03,946 INFO L273 TraceCheckUtils]: 60: Hoare triple {29317#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29318#(<= sep_~i~0 4)} is VALID [2018-11-23 12:18:03,947 INFO L273 TraceCheckUtils]: 61: Hoare triple {29318#(<= sep_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29318#(<= sep_~i~0 4)} is VALID [2018-11-23 12:18:03,947 INFO L273 TraceCheckUtils]: 62: Hoare triple {29318#(<= sep_~i~0 4)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29318#(<= sep_~i~0 4)} is VALID [2018-11-23 12:18:03,948 INFO L273 TraceCheckUtils]: 63: Hoare triple {29318#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29319#(<= sep_~i~0 5)} is VALID [2018-11-23 12:18:03,948 INFO L273 TraceCheckUtils]: 64: Hoare triple {29319#(<= sep_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29319#(<= sep_~i~0 5)} is VALID [2018-11-23 12:18:03,949 INFO L273 TraceCheckUtils]: 65: Hoare triple {29319#(<= sep_~i~0 5)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29319#(<= sep_~i~0 5)} is VALID [2018-11-23 12:18:03,950 INFO L273 TraceCheckUtils]: 66: Hoare triple {29319#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29320#(<= sep_~i~0 6)} is VALID [2018-11-23 12:18:03,950 INFO L273 TraceCheckUtils]: 67: Hoare triple {29320#(<= sep_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29320#(<= sep_~i~0 6)} is VALID [2018-11-23 12:18:03,951 INFO L273 TraceCheckUtils]: 68: Hoare triple {29320#(<= sep_~i~0 6)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29320#(<= sep_~i~0 6)} is VALID [2018-11-23 12:18:03,951 INFO L273 TraceCheckUtils]: 69: Hoare triple {29320#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29321#(<= sep_~i~0 7)} is VALID [2018-11-23 12:18:03,952 INFO L273 TraceCheckUtils]: 70: Hoare triple {29321#(<= sep_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29321#(<= sep_~i~0 7)} is VALID [2018-11-23 12:18:03,952 INFO L273 TraceCheckUtils]: 71: Hoare triple {29321#(<= sep_~i~0 7)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29321#(<= sep_~i~0 7)} is VALID [2018-11-23 12:18:03,953 INFO L273 TraceCheckUtils]: 72: Hoare triple {29321#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29322#(<= sep_~i~0 8)} is VALID [2018-11-23 12:18:03,954 INFO L273 TraceCheckUtils]: 73: Hoare triple {29322#(<= sep_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29322#(<= sep_~i~0 8)} is VALID [2018-11-23 12:18:03,954 INFO L273 TraceCheckUtils]: 74: Hoare triple {29322#(<= sep_~i~0 8)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29322#(<= sep_~i~0 8)} is VALID [2018-11-23 12:18:03,955 INFO L273 TraceCheckUtils]: 75: Hoare triple {29322#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29323#(<= sep_~i~0 9)} is VALID [2018-11-23 12:18:03,955 INFO L273 TraceCheckUtils]: 76: Hoare triple {29323#(<= sep_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29323#(<= sep_~i~0 9)} is VALID [2018-11-23 12:18:03,956 INFO L273 TraceCheckUtils]: 77: Hoare triple {29323#(<= sep_~i~0 9)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29323#(<= sep_~i~0 9)} is VALID [2018-11-23 12:18:03,956 INFO L273 TraceCheckUtils]: 78: Hoare triple {29323#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29324#(<= sep_~i~0 10)} is VALID [2018-11-23 12:18:03,957 INFO L273 TraceCheckUtils]: 79: Hoare triple {29324#(<= sep_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29324#(<= sep_~i~0 10)} is VALID [2018-11-23 12:18:03,957 INFO L273 TraceCheckUtils]: 80: Hoare triple {29324#(<= sep_~i~0 10)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29324#(<= sep_~i~0 10)} is VALID [2018-11-23 12:18:03,958 INFO L273 TraceCheckUtils]: 81: Hoare triple {29324#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29325#(<= sep_~i~0 11)} is VALID [2018-11-23 12:18:03,959 INFO L273 TraceCheckUtils]: 82: Hoare triple {29325#(<= sep_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29325#(<= sep_~i~0 11)} is VALID [2018-11-23 12:18:03,959 INFO L273 TraceCheckUtils]: 83: Hoare triple {29325#(<= sep_~i~0 11)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29325#(<= sep_~i~0 11)} is VALID [2018-11-23 12:18:03,960 INFO L273 TraceCheckUtils]: 84: Hoare triple {29325#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29326#(<= sep_~i~0 12)} is VALID [2018-11-23 12:18:03,960 INFO L273 TraceCheckUtils]: 85: Hoare triple {29326#(<= sep_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29326#(<= sep_~i~0 12)} is VALID [2018-11-23 12:18:03,961 INFO L273 TraceCheckUtils]: 86: Hoare triple {29326#(<= sep_~i~0 12)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29326#(<= sep_~i~0 12)} is VALID [2018-11-23 12:18:03,962 INFO L273 TraceCheckUtils]: 87: Hoare triple {29326#(<= sep_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29327#(<= sep_~i~0 13)} is VALID [2018-11-23 12:18:03,962 INFO L273 TraceCheckUtils]: 88: Hoare triple {29327#(<= sep_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29327#(<= sep_~i~0 13)} is VALID [2018-11-23 12:18:03,963 INFO L273 TraceCheckUtils]: 89: Hoare triple {29327#(<= sep_~i~0 13)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29327#(<= sep_~i~0 13)} is VALID [2018-11-23 12:18:03,963 INFO L273 TraceCheckUtils]: 90: Hoare triple {29327#(<= sep_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29328#(<= sep_~i~0 14)} is VALID [2018-11-23 12:18:03,964 INFO L273 TraceCheckUtils]: 91: Hoare triple {29328#(<= sep_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29328#(<= sep_~i~0 14)} is VALID [2018-11-23 12:18:03,964 INFO L273 TraceCheckUtils]: 92: Hoare triple {29328#(<= sep_~i~0 14)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29328#(<= sep_~i~0 14)} is VALID [2018-11-23 12:18:03,965 INFO L273 TraceCheckUtils]: 93: Hoare triple {29328#(<= sep_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29329#(<= sep_~i~0 15)} is VALID [2018-11-23 12:18:03,966 INFO L273 TraceCheckUtils]: 94: Hoare triple {29329#(<= sep_~i~0 15)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29329#(<= sep_~i~0 15)} is VALID [2018-11-23 12:18:03,966 INFO L273 TraceCheckUtils]: 95: Hoare triple {29329#(<= sep_~i~0 15)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29329#(<= sep_~i~0 15)} is VALID [2018-11-23 12:18:03,967 INFO L273 TraceCheckUtils]: 96: Hoare triple {29329#(<= sep_~i~0 15)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29330#(<= sep_~i~0 16)} is VALID [2018-11-23 12:18:03,967 INFO L273 TraceCheckUtils]: 97: Hoare triple {29330#(<= sep_~i~0 16)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29330#(<= sep_~i~0 16)} is VALID [2018-11-23 12:18:03,968 INFO L273 TraceCheckUtils]: 98: Hoare triple {29330#(<= sep_~i~0 16)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29330#(<= sep_~i~0 16)} is VALID [2018-11-23 12:18:03,969 INFO L273 TraceCheckUtils]: 99: Hoare triple {29330#(<= sep_~i~0 16)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29331#(<= sep_~i~0 17)} is VALID [2018-11-23 12:18:03,969 INFO L273 TraceCheckUtils]: 100: Hoare triple {29331#(<= sep_~i~0 17)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29331#(<= sep_~i~0 17)} is VALID [2018-11-23 12:18:03,970 INFO L273 TraceCheckUtils]: 101: Hoare triple {29331#(<= sep_~i~0 17)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29331#(<= sep_~i~0 17)} is VALID [2018-11-23 12:18:03,970 INFO L273 TraceCheckUtils]: 102: Hoare triple {29331#(<= sep_~i~0 17)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29332#(<= sep_~i~0 18)} is VALID [2018-11-23 12:18:03,971 INFO L273 TraceCheckUtils]: 103: Hoare triple {29332#(<= sep_~i~0 18)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29332#(<= sep_~i~0 18)} is VALID [2018-11-23 12:18:03,971 INFO L273 TraceCheckUtils]: 104: Hoare triple {29332#(<= sep_~i~0 18)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29332#(<= sep_~i~0 18)} is VALID [2018-11-23 12:18:03,972 INFO L273 TraceCheckUtils]: 105: Hoare triple {29332#(<= sep_~i~0 18)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29333#(<= sep_~i~0 19)} is VALID [2018-11-23 12:18:03,973 INFO L273 TraceCheckUtils]: 106: Hoare triple {29333#(<= sep_~i~0 19)} assume !(~i~0 < 20); {29313#false} is VALID [2018-11-23 12:18:03,973 INFO L273 TraceCheckUtils]: 107: Hoare triple {29313#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {29313#false} is VALID [2018-11-23 12:18:03,973 INFO L273 TraceCheckUtils]: 108: Hoare triple {29313#false} assume true; {29313#false} is VALID [2018-11-23 12:18:03,973 INFO L268 TraceCheckUtils]: 109: Hoare quadruple {29313#false} {29312#true} #75#return; {29313#false} is VALID [2018-11-23 12:18:03,973 INFO L273 TraceCheckUtils]: 110: Hoare triple {29313#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {29313#false} is VALID [2018-11-23 12:18:03,974 INFO L256 TraceCheckUtils]: 111: Hoare triple {29313#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {29312#true} is VALID [2018-11-23 12:18:03,974 INFO L273 TraceCheckUtils]: 112: Hoare triple {29312#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {29312#true} is VALID [2018-11-23 12:18:03,974 INFO L273 TraceCheckUtils]: 113: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,974 INFO L273 TraceCheckUtils]: 114: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,974 INFO L273 TraceCheckUtils]: 115: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,975 INFO L273 TraceCheckUtils]: 116: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,975 INFO L273 TraceCheckUtils]: 117: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,975 INFO L273 TraceCheckUtils]: 118: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,975 INFO L273 TraceCheckUtils]: 119: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,975 INFO L273 TraceCheckUtils]: 120: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,975 INFO L273 TraceCheckUtils]: 121: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,976 INFO L273 TraceCheckUtils]: 122: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,976 INFO L273 TraceCheckUtils]: 123: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,976 INFO L273 TraceCheckUtils]: 124: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,976 INFO L273 TraceCheckUtils]: 125: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,976 INFO L273 TraceCheckUtils]: 126: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,977 INFO L273 TraceCheckUtils]: 127: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,977 INFO L273 TraceCheckUtils]: 128: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,977 INFO L273 TraceCheckUtils]: 129: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,977 INFO L273 TraceCheckUtils]: 130: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,977 INFO L273 TraceCheckUtils]: 131: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,977 INFO L273 TraceCheckUtils]: 132: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,977 INFO L273 TraceCheckUtils]: 133: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,978 INFO L273 TraceCheckUtils]: 134: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,978 INFO L273 TraceCheckUtils]: 135: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,978 INFO L273 TraceCheckUtils]: 136: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,978 INFO L273 TraceCheckUtils]: 137: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,978 INFO L273 TraceCheckUtils]: 138: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,978 INFO L273 TraceCheckUtils]: 139: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,978 INFO L273 TraceCheckUtils]: 140: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,978 INFO L273 TraceCheckUtils]: 141: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,978 INFO L273 TraceCheckUtils]: 142: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,979 INFO L273 TraceCheckUtils]: 143: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,979 INFO L273 TraceCheckUtils]: 144: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,979 INFO L273 TraceCheckUtils]: 145: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,979 INFO L273 TraceCheckUtils]: 146: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,979 INFO L273 TraceCheckUtils]: 147: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,979 INFO L273 TraceCheckUtils]: 148: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,979 INFO L273 TraceCheckUtils]: 149: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,979 INFO L273 TraceCheckUtils]: 150: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,979 INFO L273 TraceCheckUtils]: 151: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,979 INFO L273 TraceCheckUtils]: 152: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,980 INFO L273 TraceCheckUtils]: 153: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,980 INFO L273 TraceCheckUtils]: 154: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,980 INFO L273 TraceCheckUtils]: 155: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,980 INFO L273 TraceCheckUtils]: 156: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,980 INFO L273 TraceCheckUtils]: 157: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,980 INFO L273 TraceCheckUtils]: 158: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,980 INFO L273 TraceCheckUtils]: 159: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,980 INFO L273 TraceCheckUtils]: 160: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,980 INFO L273 TraceCheckUtils]: 161: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,980 INFO L273 TraceCheckUtils]: 162: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,981 INFO L273 TraceCheckUtils]: 163: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,981 INFO L273 TraceCheckUtils]: 164: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,981 INFO L273 TraceCheckUtils]: 165: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,981 INFO L273 TraceCheckUtils]: 166: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,981 INFO L273 TraceCheckUtils]: 167: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,981 INFO L273 TraceCheckUtils]: 168: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,981 INFO L273 TraceCheckUtils]: 169: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,981 INFO L273 TraceCheckUtils]: 170: Hoare triple {29312#true} assume !(~i~0 < 20); {29312#true} is VALID [2018-11-23 12:18:03,981 INFO L273 TraceCheckUtils]: 171: Hoare triple {29312#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {29312#true} is VALID [2018-11-23 12:18:03,981 INFO L273 TraceCheckUtils]: 172: Hoare triple {29312#true} assume true; {29312#true} is VALID [2018-11-23 12:18:03,982 INFO L268 TraceCheckUtils]: 173: Hoare quadruple {29312#true} {29313#false} #77#return; {29313#false} is VALID [2018-11-23 12:18:03,982 INFO L273 TraceCheckUtils]: 174: Hoare triple {29313#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {29313#false} is VALID [2018-11-23 12:18:03,982 INFO L273 TraceCheckUtils]: 175: Hoare triple {29313#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29313#false} is VALID [2018-11-23 12:18:03,982 INFO L273 TraceCheckUtils]: 176: Hoare triple {29313#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29313#false} is VALID [2018-11-23 12:18:03,982 INFO L273 TraceCheckUtils]: 177: Hoare triple {29313#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29313#false} is VALID [2018-11-23 12:18:03,982 INFO L273 TraceCheckUtils]: 178: Hoare triple {29313#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29313#false} is VALID [2018-11-23 12:18:03,982 INFO L273 TraceCheckUtils]: 179: Hoare triple {29313#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29313#false} is VALID [2018-11-23 12:18:03,982 INFO L273 TraceCheckUtils]: 180: Hoare triple {29313#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29313#false} is VALID [2018-11-23 12:18:03,982 INFO L273 TraceCheckUtils]: 181: Hoare triple {29313#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29313#false} is VALID [2018-11-23 12:18:03,982 INFO L273 TraceCheckUtils]: 182: Hoare triple {29313#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29313#false} is VALID [2018-11-23 12:18:03,983 INFO L273 TraceCheckUtils]: 183: Hoare triple {29313#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29313#false} is VALID [2018-11-23 12:18:03,983 INFO L273 TraceCheckUtils]: 184: Hoare triple {29313#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29313#false} is VALID [2018-11-23 12:18:03,983 INFO L273 TraceCheckUtils]: 185: Hoare triple {29313#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29313#false} is VALID [2018-11-23 12:18:03,983 INFO L273 TraceCheckUtils]: 186: Hoare triple {29313#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29313#false} is VALID [2018-11-23 12:18:03,983 INFO L273 TraceCheckUtils]: 187: Hoare triple {29313#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29313#false} is VALID [2018-11-23 12:18:03,983 INFO L273 TraceCheckUtils]: 188: Hoare triple {29313#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29313#false} is VALID [2018-11-23 12:18:03,983 INFO L273 TraceCheckUtils]: 189: Hoare triple {29313#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29313#false} is VALID [2018-11-23 12:18:03,983 INFO L273 TraceCheckUtils]: 190: Hoare triple {29313#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29313#false} is VALID [2018-11-23 12:18:03,983 INFO L273 TraceCheckUtils]: 191: Hoare triple {29313#false} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29313#false} is VALID [2018-11-23 12:18:03,984 INFO L273 TraceCheckUtils]: 192: Hoare triple {29313#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29313#false} is VALID [2018-11-23 12:18:03,984 INFO L273 TraceCheckUtils]: 193: Hoare triple {29313#false} assume !(~i~2 < 19); {29313#false} is VALID [2018-11-23 12:18:03,984 INFO L273 TraceCheckUtils]: 194: Hoare triple {29313#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {29313#false} is VALID [2018-11-23 12:18:03,984 INFO L256 TraceCheckUtils]: 195: Hoare triple {29313#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {29312#true} is VALID [2018-11-23 12:18:03,984 INFO L273 TraceCheckUtils]: 196: Hoare triple {29312#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {29312#true} is VALID [2018-11-23 12:18:03,984 INFO L273 TraceCheckUtils]: 197: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,984 INFO L273 TraceCheckUtils]: 198: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,984 INFO L273 TraceCheckUtils]: 199: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,984 INFO L273 TraceCheckUtils]: 200: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,984 INFO L273 TraceCheckUtils]: 201: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,985 INFO L273 TraceCheckUtils]: 202: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,985 INFO L273 TraceCheckUtils]: 203: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,985 INFO L273 TraceCheckUtils]: 204: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,985 INFO L273 TraceCheckUtils]: 205: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,985 INFO L273 TraceCheckUtils]: 206: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,985 INFO L273 TraceCheckUtils]: 207: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,985 INFO L273 TraceCheckUtils]: 208: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,985 INFO L273 TraceCheckUtils]: 209: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,985 INFO L273 TraceCheckUtils]: 210: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,985 INFO L273 TraceCheckUtils]: 211: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,986 INFO L273 TraceCheckUtils]: 212: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,986 INFO L273 TraceCheckUtils]: 213: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,986 INFO L273 TraceCheckUtils]: 214: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,986 INFO L273 TraceCheckUtils]: 215: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,986 INFO L273 TraceCheckUtils]: 216: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,986 INFO L273 TraceCheckUtils]: 217: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,986 INFO L273 TraceCheckUtils]: 218: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,986 INFO L273 TraceCheckUtils]: 219: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,986 INFO L273 TraceCheckUtils]: 220: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,986 INFO L273 TraceCheckUtils]: 221: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,987 INFO L273 TraceCheckUtils]: 222: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,987 INFO L273 TraceCheckUtils]: 223: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,987 INFO L273 TraceCheckUtils]: 224: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,987 INFO L273 TraceCheckUtils]: 225: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,987 INFO L273 TraceCheckUtils]: 226: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,987 INFO L273 TraceCheckUtils]: 227: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,987 INFO L273 TraceCheckUtils]: 228: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,987 INFO L273 TraceCheckUtils]: 229: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,987 INFO L273 TraceCheckUtils]: 230: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,987 INFO L273 TraceCheckUtils]: 231: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,988 INFO L273 TraceCheckUtils]: 232: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,988 INFO L273 TraceCheckUtils]: 233: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,988 INFO L273 TraceCheckUtils]: 234: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,988 INFO L273 TraceCheckUtils]: 235: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,988 INFO L273 TraceCheckUtils]: 236: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,988 INFO L273 TraceCheckUtils]: 237: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,988 INFO L273 TraceCheckUtils]: 238: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,988 INFO L273 TraceCheckUtils]: 239: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,988 INFO L273 TraceCheckUtils]: 240: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,989 INFO L273 TraceCheckUtils]: 241: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,989 INFO L273 TraceCheckUtils]: 242: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,989 INFO L273 TraceCheckUtils]: 243: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,989 INFO L273 TraceCheckUtils]: 244: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,989 INFO L273 TraceCheckUtils]: 245: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,989 INFO L273 TraceCheckUtils]: 246: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,989 INFO L273 TraceCheckUtils]: 247: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,989 INFO L273 TraceCheckUtils]: 248: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,989 INFO L273 TraceCheckUtils]: 249: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,989 INFO L273 TraceCheckUtils]: 250: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,990 INFO L273 TraceCheckUtils]: 251: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:03,990 INFO L273 TraceCheckUtils]: 252: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:03,990 INFO L273 TraceCheckUtils]: 253: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:03,990 INFO L273 TraceCheckUtils]: 254: Hoare triple {29312#true} assume !(~i~0 < 20); {29312#true} is VALID [2018-11-23 12:18:03,990 INFO L273 TraceCheckUtils]: 255: Hoare triple {29312#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {29312#true} is VALID [2018-11-23 12:18:03,990 INFO L273 TraceCheckUtils]: 256: Hoare triple {29312#true} assume true; {29312#true} is VALID [2018-11-23 12:18:03,990 INFO L268 TraceCheckUtils]: 257: Hoare quadruple {29312#true} {29313#false} #79#return; {29313#false} is VALID [2018-11-23 12:18:03,990 INFO L273 TraceCheckUtils]: 258: Hoare triple {29313#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {29313#false} is VALID [2018-11-23 12:18:03,990 INFO L273 TraceCheckUtils]: 259: Hoare triple {29313#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {29313#false} is VALID [2018-11-23 12:18:03,990 INFO L273 TraceCheckUtils]: 260: Hoare triple {29313#false} assume !false; {29313#false} is VALID [2018-11-23 12:18:04,017 INFO L134 CoverageAnalysis]: Checked inductivity of 5455 backedges. 0 proven. 2782 refuted. 0 times theorem prover too weak. 2673 trivial. 0 not checked. [2018-11-23 12:18:04,017 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:04,017 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:18:04,027 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:18:04,389 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2018-11-23 12:18:04,390 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:04,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:04,441 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:05,101 INFO L256 TraceCheckUtils]: 0: Hoare triple {29312#true} call ULTIMATE.init(); {29312#true} is VALID [2018-11-23 12:18:05,101 INFO L273 TraceCheckUtils]: 1: Hoare triple {29312#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {29312#true} is VALID [2018-11-23 12:18:05,101 INFO L273 TraceCheckUtils]: 2: Hoare triple {29312#true} assume true; {29312#true} is VALID [2018-11-23 12:18:05,101 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {29312#true} {29312#true} #71#return; {29312#true} is VALID [2018-11-23 12:18:05,102 INFO L256 TraceCheckUtils]: 4: Hoare triple {29312#true} call #t~ret14 := main(); {29312#true} is VALID [2018-11-23 12:18:05,102 INFO L273 TraceCheckUtils]: 5: Hoare triple {29312#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {29312#true} is VALID [2018-11-23 12:18:05,102 INFO L273 TraceCheckUtils]: 6: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,102 INFO L273 TraceCheckUtils]: 7: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,102 INFO L273 TraceCheckUtils]: 8: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,102 INFO L273 TraceCheckUtils]: 9: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,103 INFO L273 TraceCheckUtils]: 10: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,103 INFO L273 TraceCheckUtils]: 11: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,103 INFO L273 TraceCheckUtils]: 12: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,103 INFO L273 TraceCheckUtils]: 13: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,103 INFO L273 TraceCheckUtils]: 14: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,103 INFO L273 TraceCheckUtils]: 15: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,103 INFO L273 TraceCheckUtils]: 16: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,103 INFO L273 TraceCheckUtils]: 17: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,103 INFO L273 TraceCheckUtils]: 18: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,103 INFO L273 TraceCheckUtils]: 19: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,104 INFO L273 TraceCheckUtils]: 20: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,104 INFO L273 TraceCheckUtils]: 21: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,104 INFO L273 TraceCheckUtils]: 22: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,104 INFO L273 TraceCheckUtils]: 23: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,104 INFO L273 TraceCheckUtils]: 24: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,104 INFO L273 TraceCheckUtils]: 25: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,104 INFO L273 TraceCheckUtils]: 26: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,104 INFO L273 TraceCheckUtils]: 27: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,104 INFO L273 TraceCheckUtils]: 28: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,104 INFO L273 TraceCheckUtils]: 29: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,105 INFO L273 TraceCheckUtils]: 30: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,105 INFO L273 TraceCheckUtils]: 31: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,105 INFO L273 TraceCheckUtils]: 32: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,105 INFO L273 TraceCheckUtils]: 33: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,105 INFO L273 TraceCheckUtils]: 34: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,105 INFO L273 TraceCheckUtils]: 35: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,105 INFO L273 TraceCheckUtils]: 36: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,105 INFO L273 TraceCheckUtils]: 37: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,105 INFO L273 TraceCheckUtils]: 38: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,106 INFO L273 TraceCheckUtils]: 39: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,106 INFO L273 TraceCheckUtils]: 40: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,106 INFO L273 TraceCheckUtils]: 41: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,106 INFO L273 TraceCheckUtils]: 42: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,106 INFO L273 TraceCheckUtils]: 43: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,106 INFO L273 TraceCheckUtils]: 44: Hoare triple {29312#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29312#true} is VALID [2018-11-23 12:18:05,106 INFO L273 TraceCheckUtils]: 45: Hoare triple {29312#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29312#true} is VALID [2018-11-23 12:18:05,106 INFO L273 TraceCheckUtils]: 46: Hoare triple {29312#true} assume !(~i~1 < 20); {29312#true} is VALID [2018-11-23 12:18:05,106 INFO L256 TraceCheckUtils]: 47: Hoare triple {29312#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {29312#true} is VALID [2018-11-23 12:18:05,106 INFO L273 TraceCheckUtils]: 48: Hoare triple {29312#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {29312#true} is VALID [2018-11-23 12:18:05,107 INFO L273 TraceCheckUtils]: 49: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,107 INFO L273 TraceCheckUtils]: 50: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,107 INFO L273 TraceCheckUtils]: 51: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,107 INFO L273 TraceCheckUtils]: 52: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,107 INFO L273 TraceCheckUtils]: 53: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,107 INFO L273 TraceCheckUtils]: 54: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,107 INFO L273 TraceCheckUtils]: 55: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,107 INFO L273 TraceCheckUtils]: 56: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,107 INFO L273 TraceCheckUtils]: 57: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,107 INFO L273 TraceCheckUtils]: 58: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,108 INFO L273 TraceCheckUtils]: 59: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,108 INFO L273 TraceCheckUtils]: 60: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,108 INFO L273 TraceCheckUtils]: 61: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,108 INFO L273 TraceCheckUtils]: 62: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,108 INFO L273 TraceCheckUtils]: 63: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,108 INFO L273 TraceCheckUtils]: 64: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,108 INFO L273 TraceCheckUtils]: 65: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,108 INFO L273 TraceCheckUtils]: 66: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,108 INFO L273 TraceCheckUtils]: 67: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,108 INFO L273 TraceCheckUtils]: 68: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,109 INFO L273 TraceCheckUtils]: 69: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,109 INFO L273 TraceCheckUtils]: 70: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,109 INFO L273 TraceCheckUtils]: 71: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,109 INFO L273 TraceCheckUtils]: 72: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,109 INFO L273 TraceCheckUtils]: 73: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,109 INFO L273 TraceCheckUtils]: 74: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,109 INFO L273 TraceCheckUtils]: 75: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,109 INFO L273 TraceCheckUtils]: 76: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,109 INFO L273 TraceCheckUtils]: 77: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,110 INFO L273 TraceCheckUtils]: 78: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,110 INFO L273 TraceCheckUtils]: 79: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,110 INFO L273 TraceCheckUtils]: 80: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,110 INFO L273 TraceCheckUtils]: 81: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,110 INFO L273 TraceCheckUtils]: 82: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,110 INFO L273 TraceCheckUtils]: 83: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,110 INFO L273 TraceCheckUtils]: 84: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,110 INFO L273 TraceCheckUtils]: 85: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,110 INFO L273 TraceCheckUtils]: 86: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,111 INFO L273 TraceCheckUtils]: 87: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,111 INFO L273 TraceCheckUtils]: 88: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,111 INFO L273 TraceCheckUtils]: 89: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,111 INFO L273 TraceCheckUtils]: 90: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,111 INFO L273 TraceCheckUtils]: 91: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,111 INFO L273 TraceCheckUtils]: 92: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,111 INFO L273 TraceCheckUtils]: 93: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,111 INFO L273 TraceCheckUtils]: 94: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,111 INFO L273 TraceCheckUtils]: 95: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,111 INFO L273 TraceCheckUtils]: 96: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,112 INFO L273 TraceCheckUtils]: 97: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,112 INFO L273 TraceCheckUtils]: 98: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,112 INFO L273 TraceCheckUtils]: 99: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,112 INFO L273 TraceCheckUtils]: 100: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,112 INFO L273 TraceCheckUtils]: 101: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,112 INFO L273 TraceCheckUtils]: 102: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,112 INFO L273 TraceCheckUtils]: 103: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,112 INFO L273 TraceCheckUtils]: 104: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,112 INFO L273 TraceCheckUtils]: 105: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,112 INFO L273 TraceCheckUtils]: 106: Hoare triple {29312#true} assume !(~i~0 < 20); {29312#true} is VALID [2018-11-23 12:18:05,113 INFO L273 TraceCheckUtils]: 107: Hoare triple {29312#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {29312#true} is VALID [2018-11-23 12:18:05,113 INFO L273 TraceCheckUtils]: 108: Hoare triple {29312#true} assume true; {29312#true} is VALID [2018-11-23 12:18:05,113 INFO L268 TraceCheckUtils]: 109: Hoare quadruple {29312#true} {29312#true} #75#return; {29312#true} is VALID [2018-11-23 12:18:05,113 INFO L273 TraceCheckUtils]: 110: Hoare triple {29312#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {29312#true} is VALID [2018-11-23 12:18:05,113 INFO L256 TraceCheckUtils]: 111: Hoare triple {29312#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {29312#true} is VALID [2018-11-23 12:18:05,113 INFO L273 TraceCheckUtils]: 112: Hoare triple {29312#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {29312#true} is VALID [2018-11-23 12:18:05,113 INFO L273 TraceCheckUtils]: 113: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,113 INFO L273 TraceCheckUtils]: 114: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,113 INFO L273 TraceCheckUtils]: 115: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,113 INFO L273 TraceCheckUtils]: 116: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,114 INFO L273 TraceCheckUtils]: 117: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,114 INFO L273 TraceCheckUtils]: 118: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,114 INFO L273 TraceCheckUtils]: 119: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,114 INFO L273 TraceCheckUtils]: 120: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,114 INFO L273 TraceCheckUtils]: 121: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,114 INFO L273 TraceCheckUtils]: 122: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,114 INFO L273 TraceCheckUtils]: 123: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,114 INFO L273 TraceCheckUtils]: 124: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,114 INFO L273 TraceCheckUtils]: 125: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,115 INFO L273 TraceCheckUtils]: 126: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,115 INFO L273 TraceCheckUtils]: 127: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,115 INFO L273 TraceCheckUtils]: 128: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,115 INFO L273 TraceCheckUtils]: 129: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,115 INFO L273 TraceCheckUtils]: 130: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,115 INFO L273 TraceCheckUtils]: 131: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,115 INFO L273 TraceCheckUtils]: 132: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,115 INFO L273 TraceCheckUtils]: 133: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,115 INFO L273 TraceCheckUtils]: 134: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,115 INFO L273 TraceCheckUtils]: 135: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,116 INFO L273 TraceCheckUtils]: 136: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,116 INFO L273 TraceCheckUtils]: 137: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,116 INFO L273 TraceCheckUtils]: 138: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,116 INFO L273 TraceCheckUtils]: 139: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,116 INFO L273 TraceCheckUtils]: 140: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,116 INFO L273 TraceCheckUtils]: 141: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,116 INFO L273 TraceCheckUtils]: 142: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,116 INFO L273 TraceCheckUtils]: 143: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,116 INFO L273 TraceCheckUtils]: 144: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,116 INFO L273 TraceCheckUtils]: 145: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,117 INFO L273 TraceCheckUtils]: 146: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,117 INFO L273 TraceCheckUtils]: 147: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,117 INFO L273 TraceCheckUtils]: 148: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,117 INFO L273 TraceCheckUtils]: 149: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,117 INFO L273 TraceCheckUtils]: 150: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,117 INFO L273 TraceCheckUtils]: 151: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,117 INFO L273 TraceCheckUtils]: 152: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,117 INFO L273 TraceCheckUtils]: 153: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,117 INFO L273 TraceCheckUtils]: 154: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,117 INFO L273 TraceCheckUtils]: 155: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,118 INFO L273 TraceCheckUtils]: 156: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,118 INFO L273 TraceCheckUtils]: 157: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,118 INFO L273 TraceCheckUtils]: 158: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,118 INFO L273 TraceCheckUtils]: 159: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,118 INFO L273 TraceCheckUtils]: 160: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,118 INFO L273 TraceCheckUtils]: 161: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,118 INFO L273 TraceCheckUtils]: 162: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,118 INFO L273 TraceCheckUtils]: 163: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,118 INFO L273 TraceCheckUtils]: 164: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,119 INFO L273 TraceCheckUtils]: 165: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,119 INFO L273 TraceCheckUtils]: 166: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,119 INFO L273 TraceCheckUtils]: 167: Hoare triple {29312#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29312#true} is VALID [2018-11-23 12:18:05,119 INFO L273 TraceCheckUtils]: 168: Hoare triple {29312#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29312#true} is VALID [2018-11-23 12:18:05,119 INFO L273 TraceCheckUtils]: 169: Hoare triple {29312#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29312#true} is VALID [2018-11-23 12:18:05,119 INFO L273 TraceCheckUtils]: 170: Hoare triple {29312#true} assume !(~i~0 < 20); {29312#true} is VALID [2018-11-23 12:18:05,119 INFO L273 TraceCheckUtils]: 171: Hoare triple {29312#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {29312#true} is VALID [2018-11-23 12:18:05,119 INFO L273 TraceCheckUtils]: 172: Hoare triple {29312#true} assume true; {29312#true} is VALID [2018-11-23 12:18:05,119 INFO L268 TraceCheckUtils]: 173: Hoare quadruple {29312#true} {29312#true} #77#return; {29312#true} is VALID [2018-11-23 12:18:05,120 INFO L273 TraceCheckUtils]: 174: Hoare triple {29312#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {29859#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:05,120 INFO L273 TraceCheckUtils]: 175: Hoare triple {29859#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29859#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:05,121 INFO L273 TraceCheckUtils]: 176: Hoare triple {29859#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29866#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:05,121 INFO L273 TraceCheckUtils]: 177: Hoare triple {29866#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29866#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:05,121 INFO L273 TraceCheckUtils]: 178: Hoare triple {29866#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29873#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:05,122 INFO L273 TraceCheckUtils]: 179: Hoare triple {29873#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29873#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:05,122 INFO L273 TraceCheckUtils]: 180: Hoare triple {29873#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29880#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:05,123 INFO L273 TraceCheckUtils]: 181: Hoare triple {29880#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29880#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:05,123 INFO L273 TraceCheckUtils]: 182: Hoare triple {29880#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29887#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:05,123 INFO L273 TraceCheckUtils]: 183: Hoare triple {29887#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29887#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:05,124 INFO L273 TraceCheckUtils]: 184: Hoare triple {29887#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29894#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:05,124 INFO L273 TraceCheckUtils]: 185: Hoare triple {29894#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29894#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:05,125 INFO L273 TraceCheckUtils]: 186: Hoare triple {29894#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29901#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:05,126 INFO L273 TraceCheckUtils]: 187: Hoare triple {29901#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29901#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:05,126 INFO L273 TraceCheckUtils]: 188: Hoare triple {29901#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29908#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:05,127 INFO L273 TraceCheckUtils]: 189: Hoare triple {29908#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29908#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:05,128 INFO L273 TraceCheckUtils]: 190: Hoare triple {29908#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29915#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:05,128 INFO L273 TraceCheckUtils]: 191: Hoare triple {29915#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29915#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:05,129 INFO L273 TraceCheckUtils]: 192: Hoare triple {29915#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29922#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:05,129 INFO L273 TraceCheckUtils]: 193: Hoare triple {29922#(<= main_~i~2 9)} assume !(~i~2 < 19); {29313#false} is VALID [2018-11-23 12:18:05,130 INFO L273 TraceCheckUtils]: 194: Hoare triple {29313#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {29313#false} is VALID [2018-11-23 12:18:05,130 INFO L256 TraceCheckUtils]: 195: Hoare triple {29313#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {29313#false} is VALID [2018-11-23 12:18:05,130 INFO L273 TraceCheckUtils]: 196: Hoare triple {29313#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {29313#false} is VALID [2018-11-23 12:18:05,130 INFO L273 TraceCheckUtils]: 197: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,130 INFO L273 TraceCheckUtils]: 198: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,131 INFO L273 TraceCheckUtils]: 199: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,131 INFO L273 TraceCheckUtils]: 200: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,131 INFO L273 TraceCheckUtils]: 201: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,131 INFO L273 TraceCheckUtils]: 202: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,131 INFO L273 TraceCheckUtils]: 203: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,131 INFO L273 TraceCheckUtils]: 204: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,132 INFO L273 TraceCheckUtils]: 205: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,132 INFO L273 TraceCheckUtils]: 206: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,132 INFO L273 TraceCheckUtils]: 207: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,132 INFO L273 TraceCheckUtils]: 208: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,132 INFO L273 TraceCheckUtils]: 209: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,132 INFO L273 TraceCheckUtils]: 210: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,133 INFO L273 TraceCheckUtils]: 211: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,133 INFO L273 TraceCheckUtils]: 212: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,133 INFO L273 TraceCheckUtils]: 213: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,133 INFO L273 TraceCheckUtils]: 214: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,133 INFO L273 TraceCheckUtils]: 215: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,133 INFO L273 TraceCheckUtils]: 216: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,133 INFO L273 TraceCheckUtils]: 217: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,133 INFO L273 TraceCheckUtils]: 218: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,133 INFO L273 TraceCheckUtils]: 219: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,134 INFO L273 TraceCheckUtils]: 220: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,134 INFO L273 TraceCheckUtils]: 221: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,134 INFO L273 TraceCheckUtils]: 222: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,134 INFO L273 TraceCheckUtils]: 223: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,134 INFO L273 TraceCheckUtils]: 224: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,134 INFO L273 TraceCheckUtils]: 225: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,134 INFO L273 TraceCheckUtils]: 226: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,134 INFO L273 TraceCheckUtils]: 227: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,134 INFO L273 TraceCheckUtils]: 228: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,134 INFO L273 TraceCheckUtils]: 229: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,135 INFO L273 TraceCheckUtils]: 230: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,135 INFO L273 TraceCheckUtils]: 231: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,135 INFO L273 TraceCheckUtils]: 232: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,135 INFO L273 TraceCheckUtils]: 233: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,135 INFO L273 TraceCheckUtils]: 234: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,135 INFO L273 TraceCheckUtils]: 235: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,135 INFO L273 TraceCheckUtils]: 236: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,135 INFO L273 TraceCheckUtils]: 237: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,135 INFO L273 TraceCheckUtils]: 238: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,135 INFO L273 TraceCheckUtils]: 239: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,136 INFO L273 TraceCheckUtils]: 240: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,136 INFO L273 TraceCheckUtils]: 241: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,136 INFO L273 TraceCheckUtils]: 242: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,136 INFO L273 TraceCheckUtils]: 243: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,136 INFO L273 TraceCheckUtils]: 244: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,136 INFO L273 TraceCheckUtils]: 245: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,136 INFO L273 TraceCheckUtils]: 246: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,136 INFO L273 TraceCheckUtils]: 247: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,136 INFO L273 TraceCheckUtils]: 248: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,136 INFO L273 TraceCheckUtils]: 249: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,137 INFO L273 TraceCheckUtils]: 250: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,137 INFO L273 TraceCheckUtils]: 251: Hoare triple {29313#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29313#false} is VALID [2018-11-23 12:18:05,137 INFO L273 TraceCheckUtils]: 252: Hoare triple {29313#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29313#false} is VALID [2018-11-23 12:18:05,137 INFO L273 TraceCheckUtils]: 253: Hoare triple {29313#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29313#false} is VALID [2018-11-23 12:18:05,137 INFO L273 TraceCheckUtils]: 254: Hoare triple {29313#false} assume !(~i~0 < 20); {29313#false} is VALID [2018-11-23 12:18:05,137 INFO L273 TraceCheckUtils]: 255: Hoare triple {29313#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {29313#false} is VALID [2018-11-23 12:18:05,137 INFO L273 TraceCheckUtils]: 256: Hoare triple {29313#false} assume true; {29313#false} is VALID [2018-11-23 12:18:05,137 INFO L268 TraceCheckUtils]: 257: Hoare quadruple {29313#false} {29313#false} #79#return; {29313#false} is VALID [2018-11-23 12:18:05,137 INFO L273 TraceCheckUtils]: 258: Hoare triple {29313#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {29313#false} is VALID [2018-11-23 12:18:05,138 INFO L273 TraceCheckUtils]: 259: Hoare triple {29313#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {29313#false} is VALID [2018-11-23 12:18:05,138 INFO L273 TraceCheckUtils]: 260: Hoare triple {29313#false} assume !false; {29313#false} is VALID [2018-11-23 12:18:05,162 INFO L134 CoverageAnalysis]: Checked inductivity of 5455 backedges. 2252 proven. 81 refuted. 0 times theorem prover too weak. 3122 trivial. 0 not checked. [2018-11-23 12:18:05,194 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:05,194 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 12] total 32 [2018-11-23 12:18:05,195 INFO L78 Accepts]: Start accepts. Automaton has 32 states. Word has length 261 [2018-11-23 12:18:05,195 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:05,196 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states. [2018-11-23 12:18:05,390 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:05,391 INFO L459 AbstractCegarLoop]: Interpolant automaton has 32 states [2018-11-23 12:18:05,391 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2018-11-23 12:18:05,392 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=296, Invalid=696, Unknown=0, NotChecked=0, Total=992 [2018-11-23 12:18:05,392 INFO L87 Difference]: Start difference. First operand 138 states and 161 transitions. Second operand 32 states. [2018-11-23 12:18:06,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:06,306 INFO L93 Difference]: Finished difference Result 234 states and 284 transitions. [2018-11-23 12:18:06,306 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2018-11-23 12:18:06,306 INFO L78 Accepts]: Start accepts. Automaton has 32 states. Word has length 261 [2018-11-23 12:18:06,306 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:06,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 12:18:06,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 155 transitions. [2018-11-23 12:18:06,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 12:18:06,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 155 transitions. [2018-11-23 12:18:06,309 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states and 155 transitions. [2018-11-23 12:18:06,463 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:06,466 INFO L225 Difference]: With dead ends: 234 [2018-11-23 12:18:06,467 INFO L226 Difference]: Without dead ends: 144 [2018-11-23 12:18:06,467 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 282 GetRequests, 252 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 190 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=296, Invalid=696, Unknown=0, NotChecked=0, Total=992 [2018-11-23 12:18:06,468 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2018-11-23 12:18:06,511 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 143. [2018-11-23 12:18:06,511 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:06,511 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand 143 states. [2018-11-23 12:18:06,512 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand 143 states. [2018-11-23 12:18:06,512 INFO L87 Difference]: Start difference. First operand 144 states. Second operand 143 states. [2018-11-23 12:18:06,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:06,514 INFO L93 Difference]: Finished difference Result 144 states and 168 transitions. [2018-11-23 12:18:06,514 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 168 transitions. [2018-11-23 12:18:06,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:06,514 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:06,515 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand 144 states. [2018-11-23 12:18:06,515 INFO L87 Difference]: Start difference. First operand 143 states. Second operand 144 states. [2018-11-23 12:18:06,517 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:06,517 INFO L93 Difference]: Finished difference Result 144 states and 168 transitions. [2018-11-23 12:18:06,517 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 168 transitions. [2018-11-23 12:18:06,518 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:06,518 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:06,518 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:06,518 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:06,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 143 states. [2018-11-23 12:18:06,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 167 transitions. [2018-11-23 12:18:06,521 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 167 transitions. Word has length 261 [2018-11-23 12:18:06,521 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:06,521 INFO L480 AbstractCegarLoop]: Abstraction has 143 states and 167 transitions. [2018-11-23 12:18:06,521 INFO L481 AbstractCegarLoop]: Interpolant automaton has 32 states. [2018-11-23 12:18:06,522 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 167 transitions. [2018-11-23 12:18:06,523 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 273 [2018-11-23 12:18:06,523 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:06,523 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 60, 20, 20, 10, 10, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:18:06,523 INFO L423 AbstractCegarLoop]: === Iteration 38 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:06,524 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:06,524 INFO L82 PathProgramCache]: Analyzing trace with hash -750296630, now seen corresponding path program 34 times [2018-11-23 12:18:06,524 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:06,524 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:06,525 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:06,525 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:06,525 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:06,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:07,615 INFO L256 TraceCheckUtils]: 0: Hoare triple {30946#true} call ULTIMATE.init(); {30946#true} is VALID [2018-11-23 12:18:07,615 INFO L273 TraceCheckUtils]: 1: Hoare triple {30946#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {30946#true} is VALID [2018-11-23 12:18:07,615 INFO L273 TraceCheckUtils]: 2: Hoare triple {30946#true} assume true; {30946#true} is VALID [2018-11-23 12:18:07,615 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {30946#true} {30946#true} #71#return; {30946#true} is VALID [2018-11-23 12:18:07,616 INFO L256 TraceCheckUtils]: 4: Hoare triple {30946#true} call #t~ret14 := main(); {30946#true} is VALID [2018-11-23 12:18:07,616 INFO L273 TraceCheckUtils]: 5: Hoare triple {30946#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {30946#true} is VALID [2018-11-23 12:18:07,616 INFO L273 TraceCheckUtils]: 6: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,616 INFO L273 TraceCheckUtils]: 7: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,616 INFO L273 TraceCheckUtils]: 8: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,617 INFO L273 TraceCheckUtils]: 9: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,617 INFO L273 TraceCheckUtils]: 10: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,617 INFO L273 TraceCheckUtils]: 11: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,617 INFO L273 TraceCheckUtils]: 12: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,617 INFO L273 TraceCheckUtils]: 13: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,617 INFO L273 TraceCheckUtils]: 14: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,617 INFO L273 TraceCheckUtils]: 15: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,618 INFO L273 TraceCheckUtils]: 16: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,618 INFO L273 TraceCheckUtils]: 17: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,618 INFO L273 TraceCheckUtils]: 18: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,618 INFO L273 TraceCheckUtils]: 19: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,618 INFO L273 TraceCheckUtils]: 20: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,618 INFO L273 TraceCheckUtils]: 21: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,618 INFO L273 TraceCheckUtils]: 22: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,618 INFO L273 TraceCheckUtils]: 23: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,618 INFO L273 TraceCheckUtils]: 24: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,618 INFO L273 TraceCheckUtils]: 25: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,619 INFO L273 TraceCheckUtils]: 26: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,619 INFO L273 TraceCheckUtils]: 27: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,619 INFO L273 TraceCheckUtils]: 28: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,619 INFO L273 TraceCheckUtils]: 29: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,619 INFO L273 TraceCheckUtils]: 30: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,619 INFO L273 TraceCheckUtils]: 31: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,619 INFO L273 TraceCheckUtils]: 32: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,619 INFO L273 TraceCheckUtils]: 33: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,619 INFO L273 TraceCheckUtils]: 34: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,620 INFO L273 TraceCheckUtils]: 35: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,620 INFO L273 TraceCheckUtils]: 36: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,620 INFO L273 TraceCheckUtils]: 37: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,620 INFO L273 TraceCheckUtils]: 38: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,620 INFO L273 TraceCheckUtils]: 39: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,620 INFO L273 TraceCheckUtils]: 40: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,620 INFO L273 TraceCheckUtils]: 41: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,620 INFO L273 TraceCheckUtils]: 42: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,620 INFO L273 TraceCheckUtils]: 43: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,620 INFO L273 TraceCheckUtils]: 44: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:07,621 INFO L273 TraceCheckUtils]: 45: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:07,621 INFO L273 TraceCheckUtils]: 46: Hoare triple {30946#true} assume !(~i~1 < 20); {30946#true} is VALID [2018-11-23 12:18:07,621 INFO L256 TraceCheckUtils]: 47: Hoare triple {30946#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {30946#true} is VALID [2018-11-23 12:18:07,621 INFO L273 TraceCheckUtils]: 48: Hoare triple {30946#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {30946#true} is VALID [2018-11-23 12:18:07,621 INFO L273 TraceCheckUtils]: 49: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,621 INFO L273 TraceCheckUtils]: 50: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,621 INFO L273 TraceCheckUtils]: 51: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,621 INFO L273 TraceCheckUtils]: 52: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,621 INFO L273 TraceCheckUtils]: 53: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,621 INFO L273 TraceCheckUtils]: 54: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,622 INFO L273 TraceCheckUtils]: 55: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,622 INFO L273 TraceCheckUtils]: 56: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,622 INFO L273 TraceCheckUtils]: 57: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,622 INFO L273 TraceCheckUtils]: 58: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,622 INFO L273 TraceCheckUtils]: 59: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,622 INFO L273 TraceCheckUtils]: 60: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,622 INFO L273 TraceCheckUtils]: 61: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,622 INFO L273 TraceCheckUtils]: 62: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,622 INFO L273 TraceCheckUtils]: 63: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,622 INFO L273 TraceCheckUtils]: 64: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,623 INFO L273 TraceCheckUtils]: 65: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,623 INFO L273 TraceCheckUtils]: 66: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,623 INFO L273 TraceCheckUtils]: 67: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,623 INFO L273 TraceCheckUtils]: 68: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,623 INFO L273 TraceCheckUtils]: 69: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,623 INFO L273 TraceCheckUtils]: 70: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,623 INFO L273 TraceCheckUtils]: 71: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,623 INFO L273 TraceCheckUtils]: 72: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,623 INFO L273 TraceCheckUtils]: 73: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,624 INFO L273 TraceCheckUtils]: 74: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,624 INFO L273 TraceCheckUtils]: 75: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,624 INFO L273 TraceCheckUtils]: 76: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,624 INFO L273 TraceCheckUtils]: 77: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,624 INFO L273 TraceCheckUtils]: 78: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,624 INFO L273 TraceCheckUtils]: 79: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,624 INFO L273 TraceCheckUtils]: 80: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,624 INFO L273 TraceCheckUtils]: 81: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,624 INFO L273 TraceCheckUtils]: 82: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,624 INFO L273 TraceCheckUtils]: 83: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,625 INFO L273 TraceCheckUtils]: 84: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,625 INFO L273 TraceCheckUtils]: 85: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,625 INFO L273 TraceCheckUtils]: 86: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,625 INFO L273 TraceCheckUtils]: 87: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,625 INFO L273 TraceCheckUtils]: 88: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,625 INFO L273 TraceCheckUtils]: 89: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,625 INFO L273 TraceCheckUtils]: 90: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,625 INFO L273 TraceCheckUtils]: 91: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,625 INFO L273 TraceCheckUtils]: 92: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,626 INFO L273 TraceCheckUtils]: 93: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,626 INFO L273 TraceCheckUtils]: 94: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,626 INFO L273 TraceCheckUtils]: 95: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,626 INFO L273 TraceCheckUtils]: 96: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,626 INFO L273 TraceCheckUtils]: 97: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,626 INFO L273 TraceCheckUtils]: 98: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,626 INFO L273 TraceCheckUtils]: 99: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,626 INFO L273 TraceCheckUtils]: 100: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,626 INFO L273 TraceCheckUtils]: 101: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,626 INFO L273 TraceCheckUtils]: 102: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,627 INFO L273 TraceCheckUtils]: 103: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,627 INFO L273 TraceCheckUtils]: 104: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,627 INFO L273 TraceCheckUtils]: 105: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,627 INFO L273 TraceCheckUtils]: 106: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,627 INFO L273 TraceCheckUtils]: 107: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,627 INFO L273 TraceCheckUtils]: 108: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,627 INFO L273 TraceCheckUtils]: 109: Hoare triple {30946#true} assume !(~i~0 < 20); {30946#true} is VALID [2018-11-23 12:18:07,627 INFO L273 TraceCheckUtils]: 110: Hoare triple {30946#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {30946#true} is VALID [2018-11-23 12:18:07,627 INFO L273 TraceCheckUtils]: 111: Hoare triple {30946#true} assume true; {30946#true} is VALID [2018-11-23 12:18:07,627 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {30946#true} {30946#true} #75#return; {30946#true} is VALID [2018-11-23 12:18:07,628 INFO L273 TraceCheckUtils]: 113: Hoare triple {30946#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {30946#true} is VALID [2018-11-23 12:18:07,628 INFO L256 TraceCheckUtils]: 114: Hoare triple {30946#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {30946#true} is VALID [2018-11-23 12:18:07,628 INFO L273 TraceCheckUtils]: 115: Hoare triple {30946#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {30946#true} is VALID [2018-11-23 12:18:07,628 INFO L273 TraceCheckUtils]: 116: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,628 INFO L273 TraceCheckUtils]: 117: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,628 INFO L273 TraceCheckUtils]: 118: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,628 INFO L273 TraceCheckUtils]: 119: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,628 INFO L273 TraceCheckUtils]: 120: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,628 INFO L273 TraceCheckUtils]: 121: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,628 INFO L273 TraceCheckUtils]: 122: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,629 INFO L273 TraceCheckUtils]: 123: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,629 INFO L273 TraceCheckUtils]: 124: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,629 INFO L273 TraceCheckUtils]: 125: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,629 INFO L273 TraceCheckUtils]: 126: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,629 INFO L273 TraceCheckUtils]: 127: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,629 INFO L273 TraceCheckUtils]: 128: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,629 INFO L273 TraceCheckUtils]: 129: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,629 INFO L273 TraceCheckUtils]: 130: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,629 INFO L273 TraceCheckUtils]: 131: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,630 INFO L273 TraceCheckUtils]: 132: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,630 INFO L273 TraceCheckUtils]: 133: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,630 INFO L273 TraceCheckUtils]: 134: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,630 INFO L273 TraceCheckUtils]: 135: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,630 INFO L273 TraceCheckUtils]: 136: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,630 INFO L273 TraceCheckUtils]: 137: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,630 INFO L273 TraceCheckUtils]: 138: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,630 INFO L273 TraceCheckUtils]: 139: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,630 INFO L273 TraceCheckUtils]: 140: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,630 INFO L273 TraceCheckUtils]: 141: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,631 INFO L273 TraceCheckUtils]: 142: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,631 INFO L273 TraceCheckUtils]: 143: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,631 INFO L273 TraceCheckUtils]: 144: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,631 INFO L273 TraceCheckUtils]: 145: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,631 INFO L273 TraceCheckUtils]: 146: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,631 INFO L273 TraceCheckUtils]: 147: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,631 INFO L273 TraceCheckUtils]: 148: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,631 INFO L273 TraceCheckUtils]: 149: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,631 INFO L273 TraceCheckUtils]: 150: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,631 INFO L273 TraceCheckUtils]: 151: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,632 INFO L273 TraceCheckUtils]: 152: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,632 INFO L273 TraceCheckUtils]: 153: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,632 INFO L273 TraceCheckUtils]: 154: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,632 INFO L273 TraceCheckUtils]: 155: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,632 INFO L273 TraceCheckUtils]: 156: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,632 INFO L273 TraceCheckUtils]: 157: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,632 INFO L273 TraceCheckUtils]: 158: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,632 INFO L273 TraceCheckUtils]: 159: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,632 INFO L273 TraceCheckUtils]: 160: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,633 INFO L273 TraceCheckUtils]: 161: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,633 INFO L273 TraceCheckUtils]: 162: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,633 INFO L273 TraceCheckUtils]: 163: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,633 INFO L273 TraceCheckUtils]: 164: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,633 INFO L273 TraceCheckUtils]: 165: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,633 INFO L273 TraceCheckUtils]: 166: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,633 INFO L273 TraceCheckUtils]: 167: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,633 INFO L273 TraceCheckUtils]: 168: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,633 INFO L273 TraceCheckUtils]: 169: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,633 INFO L273 TraceCheckUtils]: 170: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,634 INFO L273 TraceCheckUtils]: 171: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,634 INFO L273 TraceCheckUtils]: 172: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,634 INFO L273 TraceCheckUtils]: 173: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,634 INFO L273 TraceCheckUtils]: 174: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,634 INFO L273 TraceCheckUtils]: 175: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,634 INFO L273 TraceCheckUtils]: 176: Hoare triple {30946#true} assume !(~i~0 < 20); {30946#true} is VALID [2018-11-23 12:18:07,634 INFO L273 TraceCheckUtils]: 177: Hoare triple {30946#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {30946#true} is VALID [2018-11-23 12:18:07,634 INFO L273 TraceCheckUtils]: 178: Hoare triple {30946#true} assume true; {30946#true} is VALID [2018-11-23 12:18:07,634 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {30946#true} {30946#true} #77#return; {30946#true} is VALID [2018-11-23 12:18:07,635 INFO L273 TraceCheckUtils]: 180: Hoare triple {30946#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {30948#(= main_~i~2 0)} is VALID [2018-11-23 12:18:07,635 INFO L273 TraceCheckUtils]: 181: Hoare triple {30948#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30948#(= main_~i~2 0)} is VALID [2018-11-23 12:18:07,636 INFO L273 TraceCheckUtils]: 182: Hoare triple {30948#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30949#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:07,636 INFO L273 TraceCheckUtils]: 183: Hoare triple {30949#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30949#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:07,636 INFO L273 TraceCheckUtils]: 184: Hoare triple {30949#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30950#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:07,637 INFO L273 TraceCheckUtils]: 185: Hoare triple {30950#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30950#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:07,637 INFO L273 TraceCheckUtils]: 186: Hoare triple {30950#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30951#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:07,637 INFO L273 TraceCheckUtils]: 187: Hoare triple {30951#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30951#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:07,638 INFO L273 TraceCheckUtils]: 188: Hoare triple {30951#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30952#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:07,638 INFO L273 TraceCheckUtils]: 189: Hoare triple {30952#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30952#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:07,639 INFO L273 TraceCheckUtils]: 190: Hoare triple {30952#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30953#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:07,639 INFO L273 TraceCheckUtils]: 191: Hoare triple {30953#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30953#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:07,640 INFO L273 TraceCheckUtils]: 192: Hoare triple {30953#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30954#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:07,640 INFO L273 TraceCheckUtils]: 193: Hoare triple {30954#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30954#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:07,641 INFO L273 TraceCheckUtils]: 194: Hoare triple {30954#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30955#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:07,642 INFO L273 TraceCheckUtils]: 195: Hoare triple {30955#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30955#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:07,642 INFO L273 TraceCheckUtils]: 196: Hoare triple {30955#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30956#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:07,643 INFO L273 TraceCheckUtils]: 197: Hoare triple {30956#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30956#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:07,644 INFO L273 TraceCheckUtils]: 198: Hoare triple {30956#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30957#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:07,644 INFO L273 TraceCheckUtils]: 199: Hoare triple {30957#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30957#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:07,645 INFO L273 TraceCheckUtils]: 200: Hoare triple {30957#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30958#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:07,646 INFO L273 TraceCheckUtils]: 201: Hoare triple {30958#(<= main_~i~2 10)} assume !(~i~2 < 19); {30947#false} is VALID [2018-11-23 12:18:07,646 INFO L273 TraceCheckUtils]: 202: Hoare triple {30947#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {30947#false} is VALID [2018-11-23 12:18:07,646 INFO L256 TraceCheckUtils]: 203: Hoare triple {30947#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {30946#true} is VALID [2018-11-23 12:18:07,646 INFO L273 TraceCheckUtils]: 204: Hoare triple {30946#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {30946#true} is VALID [2018-11-23 12:18:07,646 INFO L273 TraceCheckUtils]: 205: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,646 INFO L273 TraceCheckUtils]: 206: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,647 INFO L273 TraceCheckUtils]: 207: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,647 INFO L273 TraceCheckUtils]: 208: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,647 INFO L273 TraceCheckUtils]: 209: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,647 INFO L273 TraceCheckUtils]: 210: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,647 INFO L273 TraceCheckUtils]: 211: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,648 INFO L273 TraceCheckUtils]: 212: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,648 INFO L273 TraceCheckUtils]: 213: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,648 INFO L273 TraceCheckUtils]: 214: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,648 INFO L273 TraceCheckUtils]: 215: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,648 INFO L273 TraceCheckUtils]: 216: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,648 INFO L273 TraceCheckUtils]: 217: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,648 INFO L273 TraceCheckUtils]: 218: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,649 INFO L273 TraceCheckUtils]: 219: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,649 INFO L273 TraceCheckUtils]: 220: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,649 INFO L273 TraceCheckUtils]: 221: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,649 INFO L273 TraceCheckUtils]: 222: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,649 INFO L273 TraceCheckUtils]: 223: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,649 INFO L273 TraceCheckUtils]: 224: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,649 INFO L273 TraceCheckUtils]: 225: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,649 INFO L273 TraceCheckUtils]: 226: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,649 INFO L273 TraceCheckUtils]: 227: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,649 INFO L273 TraceCheckUtils]: 228: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,650 INFO L273 TraceCheckUtils]: 229: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,650 INFO L273 TraceCheckUtils]: 230: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,650 INFO L273 TraceCheckUtils]: 231: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,650 INFO L273 TraceCheckUtils]: 232: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,650 INFO L273 TraceCheckUtils]: 233: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,650 INFO L273 TraceCheckUtils]: 234: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,650 INFO L273 TraceCheckUtils]: 235: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,650 INFO L273 TraceCheckUtils]: 236: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,650 INFO L273 TraceCheckUtils]: 237: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,650 INFO L273 TraceCheckUtils]: 238: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,651 INFO L273 TraceCheckUtils]: 239: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,651 INFO L273 TraceCheckUtils]: 240: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,651 INFO L273 TraceCheckUtils]: 241: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,651 INFO L273 TraceCheckUtils]: 242: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,651 INFO L273 TraceCheckUtils]: 243: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,651 INFO L273 TraceCheckUtils]: 244: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,651 INFO L273 TraceCheckUtils]: 245: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,651 INFO L273 TraceCheckUtils]: 246: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,651 INFO L273 TraceCheckUtils]: 247: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,652 INFO L273 TraceCheckUtils]: 248: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,652 INFO L273 TraceCheckUtils]: 249: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,652 INFO L273 TraceCheckUtils]: 250: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,652 INFO L273 TraceCheckUtils]: 251: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,652 INFO L273 TraceCheckUtils]: 252: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,652 INFO L273 TraceCheckUtils]: 253: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,652 INFO L273 TraceCheckUtils]: 254: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,652 INFO L273 TraceCheckUtils]: 255: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,652 INFO L273 TraceCheckUtils]: 256: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,652 INFO L273 TraceCheckUtils]: 257: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,653 INFO L273 TraceCheckUtils]: 258: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,653 INFO L273 TraceCheckUtils]: 259: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,653 INFO L273 TraceCheckUtils]: 260: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,653 INFO L273 TraceCheckUtils]: 261: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,653 INFO L273 TraceCheckUtils]: 262: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:07,653 INFO L273 TraceCheckUtils]: 263: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:07,653 INFO L273 TraceCheckUtils]: 264: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:07,653 INFO L273 TraceCheckUtils]: 265: Hoare triple {30946#true} assume !(~i~0 < 20); {30946#true} is VALID [2018-11-23 12:18:07,653 INFO L273 TraceCheckUtils]: 266: Hoare triple {30946#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {30946#true} is VALID [2018-11-23 12:18:07,653 INFO L273 TraceCheckUtils]: 267: Hoare triple {30946#true} assume true; {30946#true} is VALID [2018-11-23 12:18:07,654 INFO L268 TraceCheckUtils]: 268: Hoare quadruple {30946#true} {30947#false} #79#return; {30947#false} is VALID [2018-11-23 12:18:07,654 INFO L273 TraceCheckUtils]: 269: Hoare triple {30947#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {30947#false} is VALID [2018-11-23 12:18:07,654 INFO L273 TraceCheckUtils]: 270: Hoare triple {30947#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {30947#false} is VALID [2018-11-23 12:18:07,654 INFO L273 TraceCheckUtils]: 271: Hoare triple {30947#false} assume !false; {30947#false} is VALID [2018-11-23 12:18:07,680 INFO L134 CoverageAnalysis]: Checked inductivity of 6005 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 5905 trivial. 0 not checked. [2018-11-23 12:18:07,680 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:07,680 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:18:07,697 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:18:07,844 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:18:07,844 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:07,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:07,912 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:08,670 INFO L256 TraceCheckUtils]: 0: Hoare triple {30946#true} call ULTIMATE.init(); {30946#true} is VALID [2018-11-23 12:18:08,671 INFO L273 TraceCheckUtils]: 1: Hoare triple {30946#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {30946#true} is VALID [2018-11-23 12:18:08,671 INFO L273 TraceCheckUtils]: 2: Hoare triple {30946#true} assume true; {30946#true} is VALID [2018-11-23 12:18:08,671 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {30946#true} {30946#true} #71#return; {30946#true} is VALID [2018-11-23 12:18:08,671 INFO L256 TraceCheckUtils]: 4: Hoare triple {30946#true} call #t~ret14 := main(); {30946#true} is VALID [2018-11-23 12:18:08,671 INFO L273 TraceCheckUtils]: 5: Hoare triple {30946#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {30946#true} is VALID [2018-11-23 12:18:08,672 INFO L273 TraceCheckUtils]: 6: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,672 INFO L273 TraceCheckUtils]: 7: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,672 INFO L273 TraceCheckUtils]: 8: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,672 INFO L273 TraceCheckUtils]: 9: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,672 INFO L273 TraceCheckUtils]: 10: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,672 INFO L273 TraceCheckUtils]: 11: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,672 INFO L273 TraceCheckUtils]: 12: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,673 INFO L273 TraceCheckUtils]: 13: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,673 INFO L273 TraceCheckUtils]: 14: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,673 INFO L273 TraceCheckUtils]: 15: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,673 INFO L273 TraceCheckUtils]: 16: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,673 INFO L273 TraceCheckUtils]: 17: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,673 INFO L273 TraceCheckUtils]: 18: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,673 INFO L273 TraceCheckUtils]: 19: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,673 INFO L273 TraceCheckUtils]: 20: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,673 INFO L273 TraceCheckUtils]: 21: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,674 INFO L273 TraceCheckUtils]: 22: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,674 INFO L273 TraceCheckUtils]: 23: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,674 INFO L273 TraceCheckUtils]: 24: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,674 INFO L273 TraceCheckUtils]: 25: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,674 INFO L273 TraceCheckUtils]: 26: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,674 INFO L273 TraceCheckUtils]: 27: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,674 INFO L273 TraceCheckUtils]: 28: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,674 INFO L273 TraceCheckUtils]: 29: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,674 INFO L273 TraceCheckUtils]: 30: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,674 INFO L273 TraceCheckUtils]: 31: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,675 INFO L273 TraceCheckUtils]: 32: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,675 INFO L273 TraceCheckUtils]: 33: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,675 INFO L273 TraceCheckUtils]: 34: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,675 INFO L273 TraceCheckUtils]: 35: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,675 INFO L273 TraceCheckUtils]: 36: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,675 INFO L273 TraceCheckUtils]: 37: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,675 INFO L273 TraceCheckUtils]: 38: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,675 INFO L273 TraceCheckUtils]: 39: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,675 INFO L273 TraceCheckUtils]: 40: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,676 INFO L273 TraceCheckUtils]: 41: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,676 INFO L273 TraceCheckUtils]: 42: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,676 INFO L273 TraceCheckUtils]: 43: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,676 INFO L273 TraceCheckUtils]: 44: Hoare triple {30946#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30946#true} is VALID [2018-11-23 12:18:08,676 INFO L273 TraceCheckUtils]: 45: Hoare triple {30946#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30946#true} is VALID [2018-11-23 12:18:08,676 INFO L273 TraceCheckUtils]: 46: Hoare triple {30946#true} assume !(~i~1 < 20); {30946#true} is VALID [2018-11-23 12:18:08,676 INFO L256 TraceCheckUtils]: 47: Hoare triple {30946#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {30946#true} is VALID [2018-11-23 12:18:08,676 INFO L273 TraceCheckUtils]: 48: Hoare triple {30946#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {30946#true} is VALID [2018-11-23 12:18:08,676 INFO L273 TraceCheckUtils]: 49: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,676 INFO L273 TraceCheckUtils]: 50: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,677 INFO L273 TraceCheckUtils]: 51: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,677 INFO L273 TraceCheckUtils]: 52: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,677 INFO L273 TraceCheckUtils]: 53: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,677 INFO L273 TraceCheckUtils]: 54: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,677 INFO L273 TraceCheckUtils]: 55: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,677 INFO L273 TraceCheckUtils]: 56: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,677 INFO L273 TraceCheckUtils]: 57: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,677 INFO L273 TraceCheckUtils]: 58: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,677 INFO L273 TraceCheckUtils]: 59: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,677 INFO L273 TraceCheckUtils]: 60: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,678 INFO L273 TraceCheckUtils]: 61: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,678 INFO L273 TraceCheckUtils]: 62: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,678 INFO L273 TraceCheckUtils]: 63: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,678 INFO L273 TraceCheckUtils]: 64: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,678 INFO L273 TraceCheckUtils]: 65: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,678 INFO L273 TraceCheckUtils]: 66: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,678 INFO L273 TraceCheckUtils]: 67: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,678 INFO L273 TraceCheckUtils]: 68: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,678 INFO L273 TraceCheckUtils]: 69: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,678 INFO L273 TraceCheckUtils]: 70: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,679 INFO L273 TraceCheckUtils]: 71: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,679 INFO L273 TraceCheckUtils]: 72: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,679 INFO L273 TraceCheckUtils]: 73: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,679 INFO L273 TraceCheckUtils]: 74: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,679 INFO L273 TraceCheckUtils]: 75: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,679 INFO L273 TraceCheckUtils]: 76: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,679 INFO L273 TraceCheckUtils]: 77: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,679 INFO L273 TraceCheckUtils]: 78: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,679 INFO L273 TraceCheckUtils]: 79: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,680 INFO L273 TraceCheckUtils]: 80: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,680 INFO L273 TraceCheckUtils]: 81: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,680 INFO L273 TraceCheckUtils]: 82: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,680 INFO L273 TraceCheckUtils]: 83: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,680 INFO L273 TraceCheckUtils]: 84: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,680 INFO L273 TraceCheckUtils]: 85: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,680 INFO L273 TraceCheckUtils]: 86: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,680 INFO L273 TraceCheckUtils]: 87: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,680 INFO L273 TraceCheckUtils]: 88: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,680 INFO L273 TraceCheckUtils]: 89: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,681 INFO L273 TraceCheckUtils]: 90: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,681 INFO L273 TraceCheckUtils]: 91: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,681 INFO L273 TraceCheckUtils]: 92: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,681 INFO L273 TraceCheckUtils]: 93: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,681 INFO L273 TraceCheckUtils]: 94: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,681 INFO L273 TraceCheckUtils]: 95: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,681 INFO L273 TraceCheckUtils]: 96: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,681 INFO L273 TraceCheckUtils]: 97: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,681 INFO L273 TraceCheckUtils]: 98: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,682 INFO L273 TraceCheckUtils]: 99: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,682 INFO L273 TraceCheckUtils]: 100: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,682 INFO L273 TraceCheckUtils]: 101: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,682 INFO L273 TraceCheckUtils]: 102: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,682 INFO L273 TraceCheckUtils]: 103: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,682 INFO L273 TraceCheckUtils]: 104: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,682 INFO L273 TraceCheckUtils]: 105: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,682 INFO L273 TraceCheckUtils]: 106: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,682 INFO L273 TraceCheckUtils]: 107: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,682 INFO L273 TraceCheckUtils]: 108: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,683 INFO L273 TraceCheckUtils]: 109: Hoare triple {30946#true} assume !(~i~0 < 20); {30946#true} is VALID [2018-11-23 12:18:08,683 INFO L273 TraceCheckUtils]: 110: Hoare triple {30946#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {30946#true} is VALID [2018-11-23 12:18:08,683 INFO L273 TraceCheckUtils]: 111: Hoare triple {30946#true} assume true; {30946#true} is VALID [2018-11-23 12:18:08,683 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {30946#true} {30946#true} #75#return; {30946#true} is VALID [2018-11-23 12:18:08,683 INFO L273 TraceCheckUtils]: 113: Hoare triple {30946#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {30946#true} is VALID [2018-11-23 12:18:08,683 INFO L256 TraceCheckUtils]: 114: Hoare triple {30946#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {30946#true} is VALID [2018-11-23 12:18:08,683 INFO L273 TraceCheckUtils]: 115: Hoare triple {30946#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {30946#true} is VALID [2018-11-23 12:18:08,683 INFO L273 TraceCheckUtils]: 116: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,683 INFO L273 TraceCheckUtils]: 117: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,683 INFO L273 TraceCheckUtils]: 118: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,684 INFO L273 TraceCheckUtils]: 119: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,684 INFO L273 TraceCheckUtils]: 120: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,684 INFO L273 TraceCheckUtils]: 121: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,684 INFO L273 TraceCheckUtils]: 122: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,684 INFO L273 TraceCheckUtils]: 123: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,684 INFO L273 TraceCheckUtils]: 124: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,684 INFO L273 TraceCheckUtils]: 125: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,684 INFO L273 TraceCheckUtils]: 126: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,684 INFO L273 TraceCheckUtils]: 127: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,685 INFO L273 TraceCheckUtils]: 128: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,685 INFO L273 TraceCheckUtils]: 129: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,685 INFO L273 TraceCheckUtils]: 130: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,685 INFO L273 TraceCheckUtils]: 131: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,685 INFO L273 TraceCheckUtils]: 132: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,685 INFO L273 TraceCheckUtils]: 133: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,685 INFO L273 TraceCheckUtils]: 134: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,685 INFO L273 TraceCheckUtils]: 135: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,685 INFO L273 TraceCheckUtils]: 136: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,685 INFO L273 TraceCheckUtils]: 137: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,686 INFO L273 TraceCheckUtils]: 138: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,686 INFO L273 TraceCheckUtils]: 139: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,686 INFO L273 TraceCheckUtils]: 140: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,686 INFO L273 TraceCheckUtils]: 141: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,686 INFO L273 TraceCheckUtils]: 142: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,686 INFO L273 TraceCheckUtils]: 143: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,686 INFO L273 TraceCheckUtils]: 144: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,686 INFO L273 TraceCheckUtils]: 145: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,686 INFO L273 TraceCheckUtils]: 146: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,686 INFO L273 TraceCheckUtils]: 147: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,687 INFO L273 TraceCheckUtils]: 148: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,687 INFO L273 TraceCheckUtils]: 149: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,687 INFO L273 TraceCheckUtils]: 150: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,687 INFO L273 TraceCheckUtils]: 151: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,687 INFO L273 TraceCheckUtils]: 152: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,687 INFO L273 TraceCheckUtils]: 153: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,687 INFO L273 TraceCheckUtils]: 154: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,687 INFO L273 TraceCheckUtils]: 155: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,687 INFO L273 TraceCheckUtils]: 156: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,688 INFO L273 TraceCheckUtils]: 157: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,688 INFO L273 TraceCheckUtils]: 158: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,688 INFO L273 TraceCheckUtils]: 159: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,688 INFO L273 TraceCheckUtils]: 160: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,688 INFO L273 TraceCheckUtils]: 161: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,688 INFO L273 TraceCheckUtils]: 162: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,688 INFO L273 TraceCheckUtils]: 163: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,688 INFO L273 TraceCheckUtils]: 164: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,688 INFO L273 TraceCheckUtils]: 165: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,688 INFO L273 TraceCheckUtils]: 166: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,689 INFO L273 TraceCheckUtils]: 167: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,689 INFO L273 TraceCheckUtils]: 168: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,689 INFO L273 TraceCheckUtils]: 169: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,689 INFO L273 TraceCheckUtils]: 170: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,689 INFO L273 TraceCheckUtils]: 171: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,689 INFO L273 TraceCheckUtils]: 172: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,689 INFO L273 TraceCheckUtils]: 173: Hoare triple {30946#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30946#true} is VALID [2018-11-23 12:18:08,689 INFO L273 TraceCheckUtils]: 174: Hoare triple {30946#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30946#true} is VALID [2018-11-23 12:18:08,689 INFO L273 TraceCheckUtils]: 175: Hoare triple {30946#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30946#true} is VALID [2018-11-23 12:18:08,689 INFO L273 TraceCheckUtils]: 176: Hoare triple {30946#true} assume !(~i~0 < 20); {30946#true} is VALID [2018-11-23 12:18:08,690 INFO L273 TraceCheckUtils]: 177: Hoare triple {30946#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {30946#true} is VALID [2018-11-23 12:18:08,690 INFO L273 TraceCheckUtils]: 178: Hoare triple {30946#true} assume true; {30946#true} is VALID [2018-11-23 12:18:08,690 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {30946#true} {30946#true} #77#return; {30946#true} is VALID [2018-11-23 12:18:08,690 INFO L273 TraceCheckUtils]: 180: Hoare triple {30946#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {31502#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:08,691 INFO L273 TraceCheckUtils]: 181: Hoare triple {31502#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31502#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:08,691 INFO L273 TraceCheckUtils]: 182: Hoare triple {31502#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30949#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:08,692 INFO L273 TraceCheckUtils]: 183: Hoare triple {30949#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30949#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:08,692 INFO L273 TraceCheckUtils]: 184: Hoare triple {30949#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30950#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:08,692 INFO L273 TraceCheckUtils]: 185: Hoare triple {30950#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30950#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:08,693 INFO L273 TraceCheckUtils]: 186: Hoare triple {30950#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30951#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:08,693 INFO L273 TraceCheckUtils]: 187: Hoare triple {30951#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30951#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:08,694 INFO L273 TraceCheckUtils]: 188: Hoare triple {30951#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30952#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:08,694 INFO L273 TraceCheckUtils]: 189: Hoare triple {30952#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30952#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:08,695 INFO L273 TraceCheckUtils]: 190: Hoare triple {30952#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30953#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:08,695 INFO L273 TraceCheckUtils]: 191: Hoare triple {30953#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30953#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:08,696 INFO L273 TraceCheckUtils]: 192: Hoare triple {30953#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30954#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:08,697 INFO L273 TraceCheckUtils]: 193: Hoare triple {30954#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30954#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:08,697 INFO L273 TraceCheckUtils]: 194: Hoare triple {30954#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30955#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:08,698 INFO L273 TraceCheckUtils]: 195: Hoare triple {30955#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30955#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:08,699 INFO L273 TraceCheckUtils]: 196: Hoare triple {30955#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30956#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:08,699 INFO L273 TraceCheckUtils]: 197: Hoare triple {30956#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30956#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:08,700 INFO L273 TraceCheckUtils]: 198: Hoare triple {30956#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30957#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:08,700 INFO L273 TraceCheckUtils]: 199: Hoare triple {30957#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {30957#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:08,701 INFO L273 TraceCheckUtils]: 200: Hoare triple {30957#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {30958#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:08,702 INFO L273 TraceCheckUtils]: 201: Hoare triple {30958#(<= main_~i~2 10)} assume !(~i~2 < 19); {30947#false} is VALID [2018-11-23 12:18:08,702 INFO L273 TraceCheckUtils]: 202: Hoare triple {30947#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {30947#false} is VALID [2018-11-23 12:18:08,702 INFO L256 TraceCheckUtils]: 203: Hoare triple {30947#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {30947#false} is VALID [2018-11-23 12:18:08,702 INFO L273 TraceCheckUtils]: 204: Hoare triple {30947#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {30947#false} is VALID [2018-11-23 12:18:08,703 INFO L273 TraceCheckUtils]: 205: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,703 INFO L273 TraceCheckUtils]: 206: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,703 INFO L273 TraceCheckUtils]: 207: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,703 INFO L273 TraceCheckUtils]: 208: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,703 INFO L273 TraceCheckUtils]: 209: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,703 INFO L273 TraceCheckUtils]: 210: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,704 INFO L273 TraceCheckUtils]: 211: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,704 INFO L273 TraceCheckUtils]: 212: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,704 INFO L273 TraceCheckUtils]: 213: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,704 INFO L273 TraceCheckUtils]: 214: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,704 INFO L273 TraceCheckUtils]: 215: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,704 INFO L273 TraceCheckUtils]: 216: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,705 INFO L273 TraceCheckUtils]: 217: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,705 INFO L273 TraceCheckUtils]: 218: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,705 INFO L273 TraceCheckUtils]: 219: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,705 INFO L273 TraceCheckUtils]: 220: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,705 INFO L273 TraceCheckUtils]: 221: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,706 INFO L273 TraceCheckUtils]: 222: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,706 INFO L273 TraceCheckUtils]: 223: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,706 INFO L273 TraceCheckUtils]: 224: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,706 INFO L273 TraceCheckUtils]: 225: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,706 INFO L273 TraceCheckUtils]: 226: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,706 INFO L273 TraceCheckUtils]: 227: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,706 INFO L273 TraceCheckUtils]: 228: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,707 INFO L273 TraceCheckUtils]: 229: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,707 INFO L273 TraceCheckUtils]: 230: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,707 INFO L273 TraceCheckUtils]: 231: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,707 INFO L273 TraceCheckUtils]: 232: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,707 INFO L273 TraceCheckUtils]: 233: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,707 INFO L273 TraceCheckUtils]: 234: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,707 INFO L273 TraceCheckUtils]: 235: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,707 INFO L273 TraceCheckUtils]: 236: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,707 INFO L273 TraceCheckUtils]: 237: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,707 INFO L273 TraceCheckUtils]: 238: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,708 INFO L273 TraceCheckUtils]: 239: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,708 INFO L273 TraceCheckUtils]: 240: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,708 INFO L273 TraceCheckUtils]: 241: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,708 INFO L273 TraceCheckUtils]: 242: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,708 INFO L273 TraceCheckUtils]: 243: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,708 INFO L273 TraceCheckUtils]: 244: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,708 INFO L273 TraceCheckUtils]: 245: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,708 INFO L273 TraceCheckUtils]: 246: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,708 INFO L273 TraceCheckUtils]: 247: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,709 INFO L273 TraceCheckUtils]: 248: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,709 INFO L273 TraceCheckUtils]: 249: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,709 INFO L273 TraceCheckUtils]: 250: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,709 INFO L273 TraceCheckUtils]: 251: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,709 INFO L273 TraceCheckUtils]: 252: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,709 INFO L273 TraceCheckUtils]: 253: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,709 INFO L273 TraceCheckUtils]: 254: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,709 INFO L273 TraceCheckUtils]: 255: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,709 INFO L273 TraceCheckUtils]: 256: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,709 INFO L273 TraceCheckUtils]: 257: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,710 INFO L273 TraceCheckUtils]: 258: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,710 INFO L273 TraceCheckUtils]: 259: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,710 INFO L273 TraceCheckUtils]: 260: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,710 INFO L273 TraceCheckUtils]: 261: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,710 INFO L273 TraceCheckUtils]: 262: Hoare triple {30947#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {30947#false} is VALID [2018-11-23 12:18:08,710 INFO L273 TraceCheckUtils]: 263: Hoare triple {30947#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {30947#false} is VALID [2018-11-23 12:18:08,710 INFO L273 TraceCheckUtils]: 264: Hoare triple {30947#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30947#false} is VALID [2018-11-23 12:18:08,710 INFO L273 TraceCheckUtils]: 265: Hoare triple {30947#false} assume !(~i~0 < 20); {30947#false} is VALID [2018-11-23 12:18:08,710 INFO L273 TraceCheckUtils]: 266: Hoare triple {30947#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {30947#false} is VALID [2018-11-23 12:18:08,711 INFO L273 TraceCheckUtils]: 267: Hoare triple {30947#false} assume true; {30947#false} is VALID [2018-11-23 12:18:08,711 INFO L268 TraceCheckUtils]: 268: Hoare quadruple {30947#false} {30947#false} #79#return; {30947#false} is VALID [2018-11-23 12:18:08,711 INFO L273 TraceCheckUtils]: 269: Hoare triple {30947#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {30947#false} is VALID [2018-11-23 12:18:08,711 INFO L273 TraceCheckUtils]: 270: Hoare triple {30947#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {30947#false} is VALID [2018-11-23 12:18:08,711 INFO L273 TraceCheckUtils]: 271: Hoare triple {30947#false} assume !false; {30947#false} is VALID [2018-11-23 12:18:08,737 INFO L134 CoverageAnalysis]: Checked inductivity of 6005 backedges. 2490 proven. 100 refuted. 0 times theorem prover too weak. 3415 trivial. 0 not checked. [2018-11-23 12:18:08,757 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:08,757 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 14 [2018-11-23 12:18:08,758 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 272 [2018-11-23 12:18:08,758 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:08,758 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 12:18:08,822 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:08,822 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 12:18:08,823 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 12:18:08,823 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:18:08,823 INFO L87 Difference]: Start difference. First operand 143 states and 167 transitions. Second operand 14 states. [2018-11-23 12:18:09,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:09,245 INFO L93 Difference]: Finished difference Result 217 states and 262 transitions. [2018-11-23 12:18:09,245 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 12:18:09,245 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 272 [2018-11-23 12:18:09,245 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:09,245 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:18:09,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2018-11-23 12:18:09,246 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:18:09,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2018-11-23 12:18:09,246 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 69 transitions. [2018-11-23 12:18:09,309 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:09,312 INFO L225 Difference]: With dead ends: 217 [2018-11-23 12:18:09,313 INFO L226 Difference]: Without dead ends: 146 [2018-11-23 12:18:09,313 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 284 GetRequests, 272 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:18:09,313 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2018-11-23 12:18:09,359 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 145. [2018-11-23 12:18:09,359 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:09,359 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand 145 states. [2018-11-23 12:18:09,359 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand 145 states. [2018-11-23 12:18:09,359 INFO L87 Difference]: Start difference. First operand 146 states. Second operand 145 states. [2018-11-23 12:18:09,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:09,362 INFO L93 Difference]: Finished difference Result 146 states and 170 transitions. [2018-11-23 12:18:09,362 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 170 transitions. [2018-11-23 12:18:09,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:09,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:09,363 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand 146 states. [2018-11-23 12:18:09,363 INFO L87 Difference]: Start difference. First operand 145 states. Second operand 146 states. [2018-11-23 12:18:09,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:09,365 INFO L93 Difference]: Finished difference Result 146 states and 170 transitions. [2018-11-23 12:18:09,365 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 170 transitions. [2018-11-23 12:18:09,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:09,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:09,366 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:09,366 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:09,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 145 states. [2018-11-23 12:18:09,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 145 states to 145 states and 169 transitions. [2018-11-23 12:18:09,368 INFO L78 Accepts]: Start accepts. Automaton has 145 states and 169 transitions. Word has length 272 [2018-11-23 12:18:09,368 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:09,368 INFO L480 AbstractCegarLoop]: Abstraction has 145 states and 169 transitions. [2018-11-23 12:18:09,368 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 12:18:09,368 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 169 transitions. [2018-11-23 12:18:09,369 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 275 [2018-11-23 12:18:09,369 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:09,370 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 60, 20, 20, 11, 11, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:18:09,370 INFO L423 AbstractCegarLoop]: === Iteration 39 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:09,370 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:09,370 INFO L82 PathProgramCache]: Analyzing trace with hash 35766920, now seen corresponding path program 35 times [2018-11-23 12:18:09,370 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:09,370 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:09,371 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:09,371 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:09,371 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:09,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:09,909 INFO L256 TraceCheckUtils]: 0: Hoare triple {32576#true} call ULTIMATE.init(); {32576#true} is VALID [2018-11-23 12:18:09,909 INFO L273 TraceCheckUtils]: 1: Hoare triple {32576#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {32576#true} is VALID [2018-11-23 12:18:09,909 INFO L273 TraceCheckUtils]: 2: Hoare triple {32576#true} assume true; {32576#true} is VALID [2018-11-23 12:18:09,910 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {32576#true} {32576#true} #71#return; {32576#true} is VALID [2018-11-23 12:18:09,910 INFO L256 TraceCheckUtils]: 4: Hoare triple {32576#true} call #t~ret14 := main(); {32576#true} is VALID [2018-11-23 12:18:09,910 INFO L273 TraceCheckUtils]: 5: Hoare triple {32576#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {32576#true} is VALID [2018-11-23 12:18:09,910 INFO L273 TraceCheckUtils]: 6: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,910 INFO L273 TraceCheckUtils]: 7: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,910 INFO L273 TraceCheckUtils]: 8: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,911 INFO L273 TraceCheckUtils]: 9: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,911 INFO L273 TraceCheckUtils]: 10: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,911 INFO L273 TraceCheckUtils]: 11: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,911 INFO L273 TraceCheckUtils]: 12: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,911 INFO L273 TraceCheckUtils]: 13: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,912 INFO L273 TraceCheckUtils]: 14: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,912 INFO L273 TraceCheckUtils]: 15: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,912 INFO L273 TraceCheckUtils]: 16: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,912 INFO L273 TraceCheckUtils]: 17: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,912 INFO L273 TraceCheckUtils]: 18: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,912 INFO L273 TraceCheckUtils]: 19: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,912 INFO L273 TraceCheckUtils]: 20: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,912 INFO L273 TraceCheckUtils]: 21: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,912 INFO L273 TraceCheckUtils]: 22: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,912 INFO L273 TraceCheckUtils]: 23: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,913 INFO L273 TraceCheckUtils]: 24: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,913 INFO L273 TraceCheckUtils]: 25: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,913 INFO L273 TraceCheckUtils]: 26: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,913 INFO L273 TraceCheckUtils]: 27: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,913 INFO L273 TraceCheckUtils]: 28: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,913 INFO L273 TraceCheckUtils]: 29: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,913 INFO L273 TraceCheckUtils]: 30: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,913 INFO L273 TraceCheckUtils]: 31: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,913 INFO L273 TraceCheckUtils]: 32: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,913 INFO L273 TraceCheckUtils]: 33: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,914 INFO L273 TraceCheckUtils]: 34: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,914 INFO L273 TraceCheckUtils]: 35: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,914 INFO L273 TraceCheckUtils]: 36: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,914 INFO L273 TraceCheckUtils]: 37: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,914 INFO L273 TraceCheckUtils]: 38: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,914 INFO L273 TraceCheckUtils]: 39: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,914 INFO L273 TraceCheckUtils]: 40: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,914 INFO L273 TraceCheckUtils]: 41: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,914 INFO L273 TraceCheckUtils]: 42: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,915 INFO L273 TraceCheckUtils]: 43: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,915 INFO L273 TraceCheckUtils]: 44: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:09,915 INFO L273 TraceCheckUtils]: 45: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:09,915 INFO L273 TraceCheckUtils]: 46: Hoare triple {32576#true} assume !(~i~1 < 20); {32576#true} is VALID [2018-11-23 12:18:09,915 INFO L256 TraceCheckUtils]: 47: Hoare triple {32576#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {32576#true} is VALID [2018-11-23 12:18:09,915 INFO L273 TraceCheckUtils]: 48: Hoare triple {32576#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {32576#true} is VALID [2018-11-23 12:18:09,915 INFO L273 TraceCheckUtils]: 49: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,915 INFO L273 TraceCheckUtils]: 50: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,915 INFO L273 TraceCheckUtils]: 51: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,915 INFO L273 TraceCheckUtils]: 52: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,916 INFO L273 TraceCheckUtils]: 53: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,916 INFO L273 TraceCheckUtils]: 54: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,916 INFO L273 TraceCheckUtils]: 55: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,916 INFO L273 TraceCheckUtils]: 56: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,916 INFO L273 TraceCheckUtils]: 57: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,916 INFO L273 TraceCheckUtils]: 58: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,916 INFO L273 TraceCheckUtils]: 59: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,916 INFO L273 TraceCheckUtils]: 60: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,916 INFO L273 TraceCheckUtils]: 61: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,917 INFO L273 TraceCheckUtils]: 62: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,917 INFO L273 TraceCheckUtils]: 63: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,917 INFO L273 TraceCheckUtils]: 64: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,917 INFO L273 TraceCheckUtils]: 65: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,917 INFO L273 TraceCheckUtils]: 66: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,917 INFO L273 TraceCheckUtils]: 67: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,917 INFO L273 TraceCheckUtils]: 68: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,917 INFO L273 TraceCheckUtils]: 69: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,917 INFO L273 TraceCheckUtils]: 70: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,917 INFO L273 TraceCheckUtils]: 71: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,918 INFO L273 TraceCheckUtils]: 72: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,918 INFO L273 TraceCheckUtils]: 73: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,918 INFO L273 TraceCheckUtils]: 74: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,918 INFO L273 TraceCheckUtils]: 75: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,918 INFO L273 TraceCheckUtils]: 76: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,918 INFO L273 TraceCheckUtils]: 77: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,918 INFO L273 TraceCheckUtils]: 78: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,918 INFO L273 TraceCheckUtils]: 79: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,918 INFO L273 TraceCheckUtils]: 80: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,918 INFO L273 TraceCheckUtils]: 81: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,919 INFO L273 TraceCheckUtils]: 82: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,919 INFO L273 TraceCheckUtils]: 83: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,919 INFO L273 TraceCheckUtils]: 84: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,919 INFO L273 TraceCheckUtils]: 85: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,919 INFO L273 TraceCheckUtils]: 86: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,919 INFO L273 TraceCheckUtils]: 87: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,919 INFO L273 TraceCheckUtils]: 88: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,919 INFO L273 TraceCheckUtils]: 89: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,919 INFO L273 TraceCheckUtils]: 90: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,920 INFO L273 TraceCheckUtils]: 91: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,920 INFO L273 TraceCheckUtils]: 92: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,920 INFO L273 TraceCheckUtils]: 93: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,920 INFO L273 TraceCheckUtils]: 94: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,920 INFO L273 TraceCheckUtils]: 95: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,920 INFO L273 TraceCheckUtils]: 96: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,920 INFO L273 TraceCheckUtils]: 97: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,920 INFO L273 TraceCheckUtils]: 98: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,920 INFO L273 TraceCheckUtils]: 99: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,920 INFO L273 TraceCheckUtils]: 100: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,921 INFO L273 TraceCheckUtils]: 101: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,921 INFO L273 TraceCheckUtils]: 102: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,921 INFO L273 TraceCheckUtils]: 103: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,921 INFO L273 TraceCheckUtils]: 104: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,921 INFO L273 TraceCheckUtils]: 105: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,921 INFO L273 TraceCheckUtils]: 106: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,921 INFO L273 TraceCheckUtils]: 107: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,921 INFO L273 TraceCheckUtils]: 108: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,921 INFO L273 TraceCheckUtils]: 109: Hoare triple {32576#true} assume !(~i~0 < 20); {32576#true} is VALID [2018-11-23 12:18:09,921 INFO L273 TraceCheckUtils]: 110: Hoare triple {32576#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {32576#true} is VALID [2018-11-23 12:18:09,922 INFO L273 TraceCheckUtils]: 111: Hoare triple {32576#true} assume true; {32576#true} is VALID [2018-11-23 12:18:09,922 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {32576#true} {32576#true} #75#return; {32576#true} is VALID [2018-11-23 12:18:09,922 INFO L273 TraceCheckUtils]: 113: Hoare triple {32576#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {32576#true} is VALID [2018-11-23 12:18:09,922 INFO L256 TraceCheckUtils]: 114: Hoare triple {32576#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {32576#true} is VALID [2018-11-23 12:18:09,922 INFO L273 TraceCheckUtils]: 115: Hoare triple {32576#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {32576#true} is VALID [2018-11-23 12:18:09,922 INFO L273 TraceCheckUtils]: 116: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,922 INFO L273 TraceCheckUtils]: 117: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,922 INFO L273 TraceCheckUtils]: 118: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,922 INFO L273 TraceCheckUtils]: 119: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,923 INFO L273 TraceCheckUtils]: 120: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,923 INFO L273 TraceCheckUtils]: 121: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,923 INFO L273 TraceCheckUtils]: 122: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,923 INFO L273 TraceCheckUtils]: 123: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,923 INFO L273 TraceCheckUtils]: 124: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,923 INFO L273 TraceCheckUtils]: 125: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,923 INFO L273 TraceCheckUtils]: 126: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,923 INFO L273 TraceCheckUtils]: 127: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,923 INFO L273 TraceCheckUtils]: 128: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,923 INFO L273 TraceCheckUtils]: 129: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,924 INFO L273 TraceCheckUtils]: 130: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,924 INFO L273 TraceCheckUtils]: 131: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,924 INFO L273 TraceCheckUtils]: 132: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,924 INFO L273 TraceCheckUtils]: 133: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,924 INFO L273 TraceCheckUtils]: 134: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,924 INFO L273 TraceCheckUtils]: 135: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,924 INFO L273 TraceCheckUtils]: 136: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,924 INFO L273 TraceCheckUtils]: 137: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,924 INFO L273 TraceCheckUtils]: 138: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,924 INFO L273 TraceCheckUtils]: 139: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,925 INFO L273 TraceCheckUtils]: 140: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,925 INFO L273 TraceCheckUtils]: 141: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,925 INFO L273 TraceCheckUtils]: 142: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,925 INFO L273 TraceCheckUtils]: 143: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,925 INFO L273 TraceCheckUtils]: 144: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,925 INFO L273 TraceCheckUtils]: 145: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,925 INFO L273 TraceCheckUtils]: 146: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,925 INFO L273 TraceCheckUtils]: 147: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,925 INFO L273 TraceCheckUtils]: 148: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,926 INFO L273 TraceCheckUtils]: 149: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,926 INFO L273 TraceCheckUtils]: 150: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,926 INFO L273 TraceCheckUtils]: 151: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,926 INFO L273 TraceCheckUtils]: 152: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,926 INFO L273 TraceCheckUtils]: 153: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,926 INFO L273 TraceCheckUtils]: 154: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,926 INFO L273 TraceCheckUtils]: 155: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,926 INFO L273 TraceCheckUtils]: 156: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,926 INFO L273 TraceCheckUtils]: 157: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,926 INFO L273 TraceCheckUtils]: 158: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,927 INFO L273 TraceCheckUtils]: 159: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,927 INFO L273 TraceCheckUtils]: 160: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,927 INFO L273 TraceCheckUtils]: 161: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,927 INFO L273 TraceCheckUtils]: 162: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,927 INFO L273 TraceCheckUtils]: 163: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,927 INFO L273 TraceCheckUtils]: 164: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,927 INFO L273 TraceCheckUtils]: 165: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,927 INFO L273 TraceCheckUtils]: 166: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,927 INFO L273 TraceCheckUtils]: 167: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,927 INFO L273 TraceCheckUtils]: 168: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,928 INFO L273 TraceCheckUtils]: 169: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,928 INFO L273 TraceCheckUtils]: 170: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,928 INFO L273 TraceCheckUtils]: 171: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,928 INFO L273 TraceCheckUtils]: 172: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,928 INFO L273 TraceCheckUtils]: 173: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,928 INFO L273 TraceCheckUtils]: 174: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,928 INFO L273 TraceCheckUtils]: 175: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,928 INFO L273 TraceCheckUtils]: 176: Hoare triple {32576#true} assume !(~i~0 < 20); {32576#true} is VALID [2018-11-23 12:18:09,928 INFO L273 TraceCheckUtils]: 177: Hoare triple {32576#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {32576#true} is VALID [2018-11-23 12:18:09,929 INFO L273 TraceCheckUtils]: 178: Hoare triple {32576#true} assume true; {32576#true} is VALID [2018-11-23 12:18:09,929 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {32576#true} {32576#true} #77#return; {32576#true} is VALID [2018-11-23 12:18:09,929 INFO L273 TraceCheckUtils]: 180: Hoare triple {32576#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {32578#(= main_~i~2 0)} is VALID [2018-11-23 12:18:09,929 INFO L273 TraceCheckUtils]: 181: Hoare triple {32578#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32578#(= main_~i~2 0)} is VALID [2018-11-23 12:18:09,930 INFO L273 TraceCheckUtils]: 182: Hoare triple {32578#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32579#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:09,930 INFO L273 TraceCheckUtils]: 183: Hoare triple {32579#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32579#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:09,931 INFO L273 TraceCheckUtils]: 184: Hoare triple {32579#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32580#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:09,931 INFO L273 TraceCheckUtils]: 185: Hoare triple {32580#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32580#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:09,931 INFO L273 TraceCheckUtils]: 186: Hoare triple {32580#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32581#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:09,932 INFO L273 TraceCheckUtils]: 187: Hoare triple {32581#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32581#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:09,933 INFO L273 TraceCheckUtils]: 188: Hoare triple {32581#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32582#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:09,933 INFO L273 TraceCheckUtils]: 189: Hoare triple {32582#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32582#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:09,934 INFO L273 TraceCheckUtils]: 190: Hoare triple {32582#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32583#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:09,934 INFO L273 TraceCheckUtils]: 191: Hoare triple {32583#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32583#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:09,938 INFO L273 TraceCheckUtils]: 192: Hoare triple {32583#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32584#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:09,938 INFO L273 TraceCheckUtils]: 193: Hoare triple {32584#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32584#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:09,939 INFO L273 TraceCheckUtils]: 194: Hoare triple {32584#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32585#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:09,940 INFO L273 TraceCheckUtils]: 195: Hoare triple {32585#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32585#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:09,940 INFO L273 TraceCheckUtils]: 196: Hoare triple {32585#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32586#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:09,940 INFO L273 TraceCheckUtils]: 197: Hoare triple {32586#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32586#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:09,941 INFO L273 TraceCheckUtils]: 198: Hoare triple {32586#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32587#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:09,941 INFO L273 TraceCheckUtils]: 199: Hoare triple {32587#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32587#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:09,941 INFO L273 TraceCheckUtils]: 200: Hoare triple {32587#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32588#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:09,942 INFO L273 TraceCheckUtils]: 201: Hoare triple {32588#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32588#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:09,943 INFO L273 TraceCheckUtils]: 202: Hoare triple {32588#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32589#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:09,943 INFO L273 TraceCheckUtils]: 203: Hoare triple {32589#(<= main_~i~2 11)} assume !(~i~2 < 19); {32577#false} is VALID [2018-11-23 12:18:09,944 INFO L273 TraceCheckUtils]: 204: Hoare triple {32577#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {32577#false} is VALID [2018-11-23 12:18:09,944 INFO L256 TraceCheckUtils]: 205: Hoare triple {32577#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {32576#true} is VALID [2018-11-23 12:18:09,944 INFO L273 TraceCheckUtils]: 206: Hoare triple {32576#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {32576#true} is VALID [2018-11-23 12:18:09,944 INFO L273 TraceCheckUtils]: 207: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,944 INFO L273 TraceCheckUtils]: 208: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,944 INFO L273 TraceCheckUtils]: 209: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,945 INFO L273 TraceCheckUtils]: 210: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,945 INFO L273 TraceCheckUtils]: 211: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,945 INFO L273 TraceCheckUtils]: 212: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,945 INFO L273 TraceCheckUtils]: 213: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,945 INFO L273 TraceCheckUtils]: 214: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,946 INFO L273 TraceCheckUtils]: 215: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,946 INFO L273 TraceCheckUtils]: 216: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,946 INFO L273 TraceCheckUtils]: 217: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,946 INFO L273 TraceCheckUtils]: 218: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,946 INFO L273 TraceCheckUtils]: 219: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,947 INFO L273 TraceCheckUtils]: 220: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,947 INFO L273 TraceCheckUtils]: 221: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,947 INFO L273 TraceCheckUtils]: 222: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,947 INFO L273 TraceCheckUtils]: 223: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,947 INFO L273 TraceCheckUtils]: 224: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,947 INFO L273 TraceCheckUtils]: 225: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,947 INFO L273 TraceCheckUtils]: 226: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,947 INFO L273 TraceCheckUtils]: 227: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,947 INFO L273 TraceCheckUtils]: 228: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,947 INFO L273 TraceCheckUtils]: 229: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,948 INFO L273 TraceCheckUtils]: 230: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,948 INFO L273 TraceCheckUtils]: 231: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,948 INFO L273 TraceCheckUtils]: 232: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,948 INFO L273 TraceCheckUtils]: 233: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,948 INFO L273 TraceCheckUtils]: 234: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,948 INFO L273 TraceCheckUtils]: 235: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,948 INFO L273 TraceCheckUtils]: 236: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,948 INFO L273 TraceCheckUtils]: 237: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,948 INFO L273 TraceCheckUtils]: 238: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,949 INFO L273 TraceCheckUtils]: 239: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,949 INFO L273 TraceCheckUtils]: 240: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,949 INFO L273 TraceCheckUtils]: 241: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,949 INFO L273 TraceCheckUtils]: 242: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,949 INFO L273 TraceCheckUtils]: 243: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,949 INFO L273 TraceCheckUtils]: 244: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,949 INFO L273 TraceCheckUtils]: 245: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,949 INFO L273 TraceCheckUtils]: 246: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,949 INFO L273 TraceCheckUtils]: 247: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,949 INFO L273 TraceCheckUtils]: 248: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,950 INFO L273 TraceCheckUtils]: 249: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,950 INFO L273 TraceCheckUtils]: 250: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,950 INFO L273 TraceCheckUtils]: 251: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,950 INFO L273 TraceCheckUtils]: 252: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,950 INFO L273 TraceCheckUtils]: 253: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,950 INFO L273 TraceCheckUtils]: 254: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,950 INFO L273 TraceCheckUtils]: 255: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,950 INFO L273 TraceCheckUtils]: 256: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,950 INFO L273 TraceCheckUtils]: 257: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,951 INFO L273 TraceCheckUtils]: 258: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,951 INFO L273 TraceCheckUtils]: 259: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,951 INFO L273 TraceCheckUtils]: 260: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,951 INFO L273 TraceCheckUtils]: 261: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,951 INFO L273 TraceCheckUtils]: 262: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,951 INFO L273 TraceCheckUtils]: 263: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,951 INFO L273 TraceCheckUtils]: 264: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:09,951 INFO L273 TraceCheckUtils]: 265: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:09,951 INFO L273 TraceCheckUtils]: 266: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:09,951 INFO L273 TraceCheckUtils]: 267: Hoare triple {32576#true} assume !(~i~0 < 20); {32576#true} is VALID [2018-11-23 12:18:09,952 INFO L273 TraceCheckUtils]: 268: Hoare triple {32576#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {32576#true} is VALID [2018-11-23 12:18:09,952 INFO L273 TraceCheckUtils]: 269: Hoare triple {32576#true} assume true; {32576#true} is VALID [2018-11-23 12:18:09,952 INFO L268 TraceCheckUtils]: 270: Hoare quadruple {32576#true} {32577#false} #79#return; {32577#false} is VALID [2018-11-23 12:18:09,952 INFO L273 TraceCheckUtils]: 271: Hoare triple {32577#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {32577#false} is VALID [2018-11-23 12:18:09,952 INFO L273 TraceCheckUtils]: 272: Hoare triple {32577#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {32577#false} is VALID [2018-11-23 12:18:09,952 INFO L273 TraceCheckUtils]: 273: Hoare triple {32577#false} assume !false; {32577#false} is VALID [2018-11-23 12:18:09,978 INFO L134 CoverageAnalysis]: Checked inductivity of 6026 backedges. 0 proven. 121 refuted. 0 times theorem prover too weak. 5905 trivial. 0 not checked. [2018-11-23 12:18:09,979 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:09,979 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:18:09,988 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:18:19,444 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 41 check-sat command(s) [2018-11-23 12:18:19,444 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:19,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:19,508 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:20,338 INFO L256 TraceCheckUtils]: 0: Hoare triple {32576#true} call ULTIMATE.init(); {32576#true} is VALID [2018-11-23 12:18:20,338 INFO L273 TraceCheckUtils]: 1: Hoare triple {32576#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {32576#true} is VALID [2018-11-23 12:18:20,338 INFO L273 TraceCheckUtils]: 2: Hoare triple {32576#true} assume true; {32576#true} is VALID [2018-11-23 12:18:20,338 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {32576#true} {32576#true} #71#return; {32576#true} is VALID [2018-11-23 12:18:20,339 INFO L256 TraceCheckUtils]: 4: Hoare triple {32576#true} call #t~ret14 := main(); {32576#true} is VALID [2018-11-23 12:18:20,339 INFO L273 TraceCheckUtils]: 5: Hoare triple {32576#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {32576#true} is VALID [2018-11-23 12:18:20,339 INFO L273 TraceCheckUtils]: 6: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,339 INFO L273 TraceCheckUtils]: 7: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,339 INFO L273 TraceCheckUtils]: 8: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,339 INFO L273 TraceCheckUtils]: 9: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,340 INFO L273 TraceCheckUtils]: 10: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,340 INFO L273 TraceCheckUtils]: 11: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,340 INFO L273 TraceCheckUtils]: 12: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,340 INFO L273 TraceCheckUtils]: 13: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,340 INFO L273 TraceCheckUtils]: 14: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,340 INFO L273 TraceCheckUtils]: 15: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,340 INFO L273 TraceCheckUtils]: 16: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,340 INFO L273 TraceCheckUtils]: 17: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,340 INFO L273 TraceCheckUtils]: 18: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,340 INFO L273 TraceCheckUtils]: 19: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,341 INFO L273 TraceCheckUtils]: 20: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,341 INFO L273 TraceCheckUtils]: 21: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,341 INFO L273 TraceCheckUtils]: 22: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,341 INFO L273 TraceCheckUtils]: 23: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,341 INFO L273 TraceCheckUtils]: 24: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,341 INFO L273 TraceCheckUtils]: 25: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,341 INFO L273 TraceCheckUtils]: 26: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,341 INFO L273 TraceCheckUtils]: 27: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,341 INFO L273 TraceCheckUtils]: 28: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,341 INFO L273 TraceCheckUtils]: 29: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,342 INFO L273 TraceCheckUtils]: 30: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,342 INFO L273 TraceCheckUtils]: 31: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,342 INFO L273 TraceCheckUtils]: 32: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,342 INFO L273 TraceCheckUtils]: 33: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,342 INFO L273 TraceCheckUtils]: 34: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,342 INFO L273 TraceCheckUtils]: 35: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,342 INFO L273 TraceCheckUtils]: 36: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,342 INFO L273 TraceCheckUtils]: 37: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,342 INFO L273 TraceCheckUtils]: 38: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,343 INFO L273 TraceCheckUtils]: 39: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,343 INFO L273 TraceCheckUtils]: 40: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,343 INFO L273 TraceCheckUtils]: 41: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,343 INFO L273 TraceCheckUtils]: 42: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,343 INFO L273 TraceCheckUtils]: 43: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,343 INFO L273 TraceCheckUtils]: 44: Hoare triple {32576#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32576#true} is VALID [2018-11-23 12:18:20,343 INFO L273 TraceCheckUtils]: 45: Hoare triple {32576#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32576#true} is VALID [2018-11-23 12:18:20,343 INFO L273 TraceCheckUtils]: 46: Hoare triple {32576#true} assume !(~i~1 < 20); {32576#true} is VALID [2018-11-23 12:18:20,343 INFO L256 TraceCheckUtils]: 47: Hoare triple {32576#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {32576#true} is VALID [2018-11-23 12:18:20,343 INFO L273 TraceCheckUtils]: 48: Hoare triple {32576#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {32576#true} is VALID [2018-11-23 12:18:20,344 INFO L273 TraceCheckUtils]: 49: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,344 INFO L273 TraceCheckUtils]: 50: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,344 INFO L273 TraceCheckUtils]: 51: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,344 INFO L273 TraceCheckUtils]: 52: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,344 INFO L273 TraceCheckUtils]: 53: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,344 INFO L273 TraceCheckUtils]: 54: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,344 INFO L273 TraceCheckUtils]: 55: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,344 INFO L273 TraceCheckUtils]: 56: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,344 INFO L273 TraceCheckUtils]: 57: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,344 INFO L273 TraceCheckUtils]: 58: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,345 INFO L273 TraceCheckUtils]: 59: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,345 INFO L273 TraceCheckUtils]: 60: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,345 INFO L273 TraceCheckUtils]: 61: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,345 INFO L273 TraceCheckUtils]: 62: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,345 INFO L273 TraceCheckUtils]: 63: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,345 INFO L273 TraceCheckUtils]: 64: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,345 INFO L273 TraceCheckUtils]: 65: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,345 INFO L273 TraceCheckUtils]: 66: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,345 INFO L273 TraceCheckUtils]: 67: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,345 INFO L273 TraceCheckUtils]: 68: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,346 INFO L273 TraceCheckUtils]: 69: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,346 INFO L273 TraceCheckUtils]: 70: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,346 INFO L273 TraceCheckUtils]: 71: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,346 INFO L273 TraceCheckUtils]: 72: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,346 INFO L273 TraceCheckUtils]: 73: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,346 INFO L273 TraceCheckUtils]: 74: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,346 INFO L273 TraceCheckUtils]: 75: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,346 INFO L273 TraceCheckUtils]: 76: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,346 INFO L273 TraceCheckUtils]: 77: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,347 INFO L273 TraceCheckUtils]: 78: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,347 INFO L273 TraceCheckUtils]: 79: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,347 INFO L273 TraceCheckUtils]: 80: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,347 INFO L273 TraceCheckUtils]: 81: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,347 INFO L273 TraceCheckUtils]: 82: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,347 INFO L273 TraceCheckUtils]: 83: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,347 INFO L273 TraceCheckUtils]: 84: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,347 INFO L273 TraceCheckUtils]: 85: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,347 INFO L273 TraceCheckUtils]: 86: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,347 INFO L273 TraceCheckUtils]: 87: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,348 INFO L273 TraceCheckUtils]: 88: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,348 INFO L273 TraceCheckUtils]: 89: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,348 INFO L273 TraceCheckUtils]: 90: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,348 INFO L273 TraceCheckUtils]: 91: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,348 INFO L273 TraceCheckUtils]: 92: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,348 INFO L273 TraceCheckUtils]: 93: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,348 INFO L273 TraceCheckUtils]: 94: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,348 INFO L273 TraceCheckUtils]: 95: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,348 INFO L273 TraceCheckUtils]: 96: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,348 INFO L273 TraceCheckUtils]: 97: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,349 INFO L273 TraceCheckUtils]: 98: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,349 INFO L273 TraceCheckUtils]: 99: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,349 INFO L273 TraceCheckUtils]: 100: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,349 INFO L273 TraceCheckUtils]: 101: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,349 INFO L273 TraceCheckUtils]: 102: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,349 INFO L273 TraceCheckUtils]: 103: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,349 INFO L273 TraceCheckUtils]: 104: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,349 INFO L273 TraceCheckUtils]: 105: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,349 INFO L273 TraceCheckUtils]: 106: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,350 INFO L273 TraceCheckUtils]: 107: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,350 INFO L273 TraceCheckUtils]: 108: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,350 INFO L273 TraceCheckUtils]: 109: Hoare triple {32576#true} assume !(~i~0 < 20); {32576#true} is VALID [2018-11-23 12:18:20,350 INFO L273 TraceCheckUtils]: 110: Hoare triple {32576#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {32576#true} is VALID [2018-11-23 12:18:20,350 INFO L273 TraceCheckUtils]: 111: Hoare triple {32576#true} assume true; {32576#true} is VALID [2018-11-23 12:18:20,350 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {32576#true} {32576#true} #75#return; {32576#true} is VALID [2018-11-23 12:18:20,350 INFO L273 TraceCheckUtils]: 113: Hoare triple {32576#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {32576#true} is VALID [2018-11-23 12:18:20,350 INFO L256 TraceCheckUtils]: 114: Hoare triple {32576#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {32576#true} is VALID [2018-11-23 12:18:20,350 INFO L273 TraceCheckUtils]: 115: Hoare triple {32576#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {32576#true} is VALID [2018-11-23 12:18:20,350 INFO L273 TraceCheckUtils]: 116: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,351 INFO L273 TraceCheckUtils]: 117: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,351 INFO L273 TraceCheckUtils]: 118: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,351 INFO L273 TraceCheckUtils]: 119: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,351 INFO L273 TraceCheckUtils]: 120: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,351 INFO L273 TraceCheckUtils]: 121: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,351 INFO L273 TraceCheckUtils]: 122: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,351 INFO L273 TraceCheckUtils]: 123: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,351 INFO L273 TraceCheckUtils]: 124: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,351 INFO L273 TraceCheckUtils]: 125: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,351 INFO L273 TraceCheckUtils]: 126: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,352 INFO L273 TraceCheckUtils]: 127: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,352 INFO L273 TraceCheckUtils]: 128: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,352 INFO L273 TraceCheckUtils]: 129: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,352 INFO L273 TraceCheckUtils]: 130: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,352 INFO L273 TraceCheckUtils]: 131: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,352 INFO L273 TraceCheckUtils]: 132: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,352 INFO L273 TraceCheckUtils]: 133: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,352 INFO L273 TraceCheckUtils]: 134: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,352 INFO L273 TraceCheckUtils]: 135: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,352 INFO L273 TraceCheckUtils]: 136: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,353 INFO L273 TraceCheckUtils]: 137: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,353 INFO L273 TraceCheckUtils]: 138: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,353 INFO L273 TraceCheckUtils]: 139: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,353 INFO L273 TraceCheckUtils]: 140: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,353 INFO L273 TraceCheckUtils]: 141: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,353 INFO L273 TraceCheckUtils]: 142: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,353 INFO L273 TraceCheckUtils]: 143: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,353 INFO L273 TraceCheckUtils]: 144: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,353 INFO L273 TraceCheckUtils]: 145: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,354 INFO L273 TraceCheckUtils]: 146: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,354 INFO L273 TraceCheckUtils]: 147: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,354 INFO L273 TraceCheckUtils]: 148: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,354 INFO L273 TraceCheckUtils]: 149: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,354 INFO L273 TraceCheckUtils]: 150: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,354 INFO L273 TraceCheckUtils]: 151: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,354 INFO L273 TraceCheckUtils]: 152: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,354 INFO L273 TraceCheckUtils]: 153: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,354 INFO L273 TraceCheckUtils]: 154: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,354 INFO L273 TraceCheckUtils]: 155: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,355 INFO L273 TraceCheckUtils]: 156: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,355 INFO L273 TraceCheckUtils]: 157: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,355 INFO L273 TraceCheckUtils]: 158: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,355 INFO L273 TraceCheckUtils]: 159: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,355 INFO L273 TraceCheckUtils]: 160: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,355 INFO L273 TraceCheckUtils]: 161: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,355 INFO L273 TraceCheckUtils]: 162: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,355 INFO L273 TraceCheckUtils]: 163: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,355 INFO L273 TraceCheckUtils]: 164: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,356 INFO L273 TraceCheckUtils]: 165: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,356 INFO L273 TraceCheckUtils]: 166: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,356 INFO L273 TraceCheckUtils]: 167: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,356 INFO L273 TraceCheckUtils]: 168: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,356 INFO L273 TraceCheckUtils]: 169: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,356 INFO L273 TraceCheckUtils]: 170: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,356 INFO L273 TraceCheckUtils]: 171: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,356 INFO L273 TraceCheckUtils]: 172: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,356 INFO L273 TraceCheckUtils]: 173: Hoare triple {32576#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32576#true} is VALID [2018-11-23 12:18:20,356 INFO L273 TraceCheckUtils]: 174: Hoare triple {32576#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32576#true} is VALID [2018-11-23 12:18:20,357 INFO L273 TraceCheckUtils]: 175: Hoare triple {32576#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32576#true} is VALID [2018-11-23 12:18:20,357 INFO L273 TraceCheckUtils]: 176: Hoare triple {32576#true} assume !(~i~0 < 20); {32576#true} is VALID [2018-11-23 12:18:20,357 INFO L273 TraceCheckUtils]: 177: Hoare triple {32576#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {32576#true} is VALID [2018-11-23 12:18:20,357 INFO L273 TraceCheckUtils]: 178: Hoare triple {32576#true} assume true; {32576#true} is VALID [2018-11-23 12:18:20,357 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {32576#true} {32576#true} #77#return; {32576#true} is VALID [2018-11-23 12:18:20,357 INFO L273 TraceCheckUtils]: 180: Hoare triple {32576#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {33133#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:20,358 INFO L273 TraceCheckUtils]: 181: Hoare triple {33133#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {33133#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:20,362 INFO L273 TraceCheckUtils]: 182: Hoare triple {33133#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32579#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:20,362 INFO L273 TraceCheckUtils]: 183: Hoare triple {32579#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32579#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:20,362 INFO L273 TraceCheckUtils]: 184: Hoare triple {32579#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32580#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:20,363 INFO L273 TraceCheckUtils]: 185: Hoare triple {32580#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32580#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:20,363 INFO L273 TraceCheckUtils]: 186: Hoare triple {32580#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32581#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:20,363 INFO L273 TraceCheckUtils]: 187: Hoare triple {32581#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32581#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:20,364 INFO L273 TraceCheckUtils]: 188: Hoare triple {32581#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32582#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:20,364 INFO L273 TraceCheckUtils]: 189: Hoare triple {32582#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32582#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:20,365 INFO L273 TraceCheckUtils]: 190: Hoare triple {32582#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32583#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:20,365 INFO L273 TraceCheckUtils]: 191: Hoare triple {32583#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32583#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:20,365 INFO L273 TraceCheckUtils]: 192: Hoare triple {32583#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32584#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:20,366 INFO L273 TraceCheckUtils]: 193: Hoare triple {32584#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32584#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:20,367 INFO L273 TraceCheckUtils]: 194: Hoare triple {32584#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32585#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:20,367 INFO L273 TraceCheckUtils]: 195: Hoare triple {32585#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32585#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:20,368 INFO L273 TraceCheckUtils]: 196: Hoare triple {32585#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32586#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:20,368 INFO L273 TraceCheckUtils]: 197: Hoare triple {32586#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32586#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:20,369 INFO L273 TraceCheckUtils]: 198: Hoare triple {32586#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32587#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:20,369 INFO L273 TraceCheckUtils]: 199: Hoare triple {32587#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32587#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:20,370 INFO L273 TraceCheckUtils]: 200: Hoare triple {32587#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32588#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:20,371 INFO L273 TraceCheckUtils]: 201: Hoare triple {32588#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32588#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:20,371 INFO L273 TraceCheckUtils]: 202: Hoare triple {32588#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32589#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:20,372 INFO L273 TraceCheckUtils]: 203: Hoare triple {32589#(<= main_~i~2 11)} assume !(~i~2 < 19); {32577#false} is VALID [2018-11-23 12:18:20,372 INFO L273 TraceCheckUtils]: 204: Hoare triple {32577#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {32577#false} is VALID [2018-11-23 12:18:20,372 INFO L256 TraceCheckUtils]: 205: Hoare triple {32577#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {32577#false} is VALID [2018-11-23 12:18:20,373 INFO L273 TraceCheckUtils]: 206: Hoare triple {32577#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {32577#false} is VALID [2018-11-23 12:18:20,373 INFO L273 TraceCheckUtils]: 207: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,373 INFO L273 TraceCheckUtils]: 208: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,373 INFO L273 TraceCheckUtils]: 209: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,373 INFO L273 TraceCheckUtils]: 210: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,374 INFO L273 TraceCheckUtils]: 211: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,374 INFO L273 TraceCheckUtils]: 212: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,374 INFO L273 TraceCheckUtils]: 213: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,374 INFO L273 TraceCheckUtils]: 214: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,374 INFO L273 TraceCheckUtils]: 215: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,374 INFO L273 TraceCheckUtils]: 216: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,374 INFO L273 TraceCheckUtils]: 217: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,375 INFO L273 TraceCheckUtils]: 218: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,375 INFO L273 TraceCheckUtils]: 219: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,375 INFO L273 TraceCheckUtils]: 220: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,375 INFO L273 TraceCheckUtils]: 221: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,375 INFO L273 TraceCheckUtils]: 222: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,375 INFO L273 TraceCheckUtils]: 223: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,375 INFO L273 TraceCheckUtils]: 224: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,375 INFO L273 TraceCheckUtils]: 225: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,375 INFO L273 TraceCheckUtils]: 226: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,376 INFO L273 TraceCheckUtils]: 227: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,376 INFO L273 TraceCheckUtils]: 228: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,376 INFO L273 TraceCheckUtils]: 229: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,376 INFO L273 TraceCheckUtils]: 230: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,376 INFO L273 TraceCheckUtils]: 231: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,376 INFO L273 TraceCheckUtils]: 232: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,376 INFO L273 TraceCheckUtils]: 233: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,376 INFO L273 TraceCheckUtils]: 234: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,376 INFO L273 TraceCheckUtils]: 235: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,376 INFO L273 TraceCheckUtils]: 236: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,377 INFO L273 TraceCheckUtils]: 237: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,377 INFO L273 TraceCheckUtils]: 238: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,377 INFO L273 TraceCheckUtils]: 239: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,377 INFO L273 TraceCheckUtils]: 240: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,377 INFO L273 TraceCheckUtils]: 241: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,377 INFO L273 TraceCheckUtils]: 242: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,377 INFO L273 TraceCheckUtils]: 243: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,377 INFO L273 TraceCheckUtils]: 244: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,377 INFO L273 TraceCheckUtils]: 245: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,377 INFO L273 TraceCheckUtils]: 246: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,378 INFO L273 TraceCheckUtils]: 247: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,378 INFO L273 TraceCheckUtils]: 248: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,378 INFO L273 TraceCheckUtils]: 249: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,378 INFO L273 TraceCheckUtils]: 250: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,378 INFO L273 TraceCheckUtils]: 251: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,378 INFO L273 TraceCheckUtils]: 252: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,378 INFO L273 TraceCheckUtils]: 253: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,378 INFO L273 TraceCheckUtils]: 254: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,378 INFO L273 TraceCheckUtils]: 255: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,378 INFO L273 TraceCheckUtils]: 256: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,379 INFO L273 TraceCheckUtils]: 257: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,379 INFO L273 TraceCheckUtils]: 258: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,379 INFO L273 TraceCheckUtils]: 259: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,379 INFO L273 TraceCheckUtils]: 260: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,379 INFO L273 TraceCheckUtils]: 261: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,379 INFO L273 TraceCheckUtils]: 262: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,379 INFO L273 TraceCheckUtils]: 263: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,379 INFO L273 TraceCheckUtils]: 264: Hoare triple {32577#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32577#false} is VALID [2018-11-23 12:18:20,379 INFO L273 TraceCheckUtils]: 265: Hoare triple {32577#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32577#false} is VALID [2018-11-23 12:18:20,380 INFO L273 TraceCheckUtils]: 266: Hoare triple {32577#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32577#false} is VALID [2018-11-23 12:18:20,380 INFO L273 TraceCheckUtils]: 267: Hoare triple {32577#false} assume !(~i~0 < 20); {32577#false} is VALID [2018-11-23 12:18:20,380 INFO L273 TraceCheckUtils]: 268: Hoare triple {32577#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {32577#false} is VALID [2018-11-23 12:18:20,380 INFO L273 TraceCheckUtils]: 269: Hoare triple {32577#false} assume true; {32577#false} is VALID [2018-11-23 12:18:20,380 INFO L268 TraceCheckUtils]: 270: Hoare quadruple {32577#false} {32577#false} #79#return; {32577#false} is VALID [2018-11-23 12:18:20,380 INFO L273 TraceCheckUtils]: 271: Hoare triple {32577#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {32577#false} is VALID [2018-11-23 12:18:20,380 INFO L273 TraceCheckUtils]: 272: Hoare triple {32577#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {32577#false} is VALID [2018-11-23 12:18:20,380 INFO L273 TraceCheckUtils]: 273: Hoare triple {32577#false} assume !false; {32577#false} is VALID [2018-11-23 12:18:20,404 INFO L134 CoverageAnalysis]: Checked inductivity of 6026 backedges. 2490 proven. 121 refuted. 0 times theorem prover too weak. 3415 trivial. 0 not checked. [2018-11-23 12:18:20,429 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:20,430 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 15 [2018-11-23 12:18:20,430 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 274 [2018-11-23 12:18:20,431 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:20,431 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 12:18:20,489 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:20,489 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 12:18:20,489 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 12:18:20,490 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:18:20,490 INFO L87 Difference]: Start difference. First operand 145 states and 169 transitions. Second operand 15 states. [2018-11-23 12:18:20,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:20,875 INFO L93 Difference]: Finished difference Result 219 states and 264 transitions. [2018-11-23 12:18:20,875 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 12:18:20,875 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 274 [2018-11-23 12:18:20,875 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:20,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:18:20,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 71 transitions. [2018-11-23 12:18:20,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:18:20,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 71 transitions. [2018-11-23 12:18:20,876 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 71 transitions. [2018-11-23 12:18:20,942 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:20,945 INFO L225 Difference]: With dead ends: 219 [2018-11-23 12:18:20,945 INFO L226 Difference]: Without dead ends: 148 [2018-11-23 12:18:20,946 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 287 GetRequests, 274 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:18:20,946 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2018-11-23 12:18:21,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 147. [2018-11-23 12:18:21,016 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:21,016 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand 147 states. [2018-11-23 12:18:21,016 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand 147 states. [2018-11-23 12:18:21,016 INFO L87 Difference]: Start difference. First operand 148 states. Second operand 147 states. [2018-11-23 12:18:21,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:21,020 INFO L93 Difference]: Finished difference Result 148 states and 172 transitions. [2018-11-23 12:18:21,020 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 172 transitions. [2018-11-23 12:18:21,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:21,021 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:21,021 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand 148 states. [2018-11-23 12:18:21,021 INFO L87 Difference]: Start difference. First operand 147 states. Second operand 148 states. [2018-11-23 12:18:21,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:21,024 INFO L93 Difference]: Finished difference Result 148 states and 172 transitions. [2018-11-23 12:18:21,024 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 172 transitions. [2018-11-23 12:18:21,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:21,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:21,024 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:21,024 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:21,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 147 states. [2018-11-23 12:18:21,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 171 transitions. [2018-11-23 12:18:21,027 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 171 transitions. Word has length 274 [2018-11-23 12:18:21,028 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:21,028 INFO L480 AbstractCegarLoop]: Abstraction has 147 states and 171 transitions. [2018-11-23 12:18:21,028 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 12:18:21,028 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 171 transitions. [2018-11-23 12:18:21,029 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 277 [2018-11-23 12:18:21,029 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:21,029 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 60, 20, 20, 12, 12, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:18:21,030 INFO L423 AbstractCegarLoop]: === Iteration 40 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:21,030 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:21,030 INFO L82 PathProgramCache]: Analyzing trace with hash -471405626, now seen corresponding path program 36 times [2018-11-23 12:18:21,030 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:21,030 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:21,031 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:21,031 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:21,031 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:21,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:21,383 INFO L256 TraceCheckUtils]: 0: Hoare triple {34223#true} call ULTIMATE.init(); {34223#true} is VALID [2018-11-23 12:18:21,383 INFO L273 TraceCheckUtils]: 1: Hoare triple {34223#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {34223#true} is VALID [2018-11-23 12:18:21,383 INFO L273 TraceCheckUtils]: 2: Hoare triple {34223#true} assume true; {34223#true} is VALID [2018-11-23 12:18:21,384 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {34223#true} {34223#true} #71#return; {34223#true} is VALID [2018-11-23 12:18:21,384 INFO L256 TraceCheckUtils]: 4: Hoare triple {34223#true} call #t~ret14 := main(); {34223#true} is VALID [2018-11-23 12:18:21,384 INFO L273 TraceCheckUtils]: 5: Hoare triple {34223#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {34223#true} is VALID [2018-11-23 12:18:21,384 INFO L273 TraceCheckUtils]: 6: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,385 INFO L273 TraceCheckUtils]: 7: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,385 INFO L273 TraceCheckUtils]: 8: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,385 INFO L273 TraceCheckUtils]: 9: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,385 INFO L273 TraceCheckUtils]: 10: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,385 INFO L273 TraceCheckUtils]: 11: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,385 INFO L273 TraceCheckUtils]: 12: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,385 INFO L273 TraceCheckUtils]: 13: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,386 INFO L273 TraceCheckUtils]: 14: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,386 INFO L273 TraceCheckUtils]: 15: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,386 INFO L273 TraceCheckUtils]: 16: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,386 INFO L273 TraceCheckUtils]: 17: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,386 INFO L273 TraceCheckUtils]: 18: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,386 INFO L273 TraceCheckUtils]: 19: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,386 INFO L273 TraceCheckUtils]: 20: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,386 INFO L273 TraceCheckUtils]: 21: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,386 INFO L273 TraceCheckUtils]: 22: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,387 INFO L273 TraceCheckUtils]: 23: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,387 INFO L273 TraceCheckUtils]: 24: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,387 INFO L273 TraceCheckUtils]: 25: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,387 INFO L273 TraceCheckUtils]: 26: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,387 INFO L273 TraceCheckUtils]: 27: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,387 INFO L273 TraceCheckUtils]: 28: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,387 INFO L273 TraceCheckUtils]: 29: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,387 INFO L273 TraceCheckUtils]: 30: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,387 INFO L273 TraceCheckUtils]: 31: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,387 INFO L273 TraceCheckUtils]: 32: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,388 INFO L273 TraceCheckUtils]: 33: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,388 INFO L273 TraceCheckUtils]: 34: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,388 INFO L273 TraceCheckUtils]: 35: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,388 INFO L273 TraceCheckUtils]: 36: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,388 INFO L273 TraceCheckUtils]: 37: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,388 INFO L273 TraceCheckUtils]: 38: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,388 INFO L273 TraceCheckUtils]: 39: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,388 INFO L273 TraceCheckUtils]: 40: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,388 INFO L273 TraceCheckUtils]: 41: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,388 INFO L273 TraceCheckUtils]: 42: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,389 INFO L273 TraceCheckUtils]: 43: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,389 INFO L273 TraceCheckUtils]: 44: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:21,389 INFO L273 TraceCheckUtils]: 45: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:21,389 INFO L273 TraceCheckUtils]: 46: Hoare triple {34223#true} assume !(~i~1 < 20); {34223#true} is VALID [2018-11-23 12:18:21,389 INFO L256 TraceCheckUtils]: 47: Hoare triple {34223#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {34223#true} is VALID [2018-11-23 12:18:21,389 INFO L273 TraceCheckUtils]: 48: Hoare triple {34223#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {34223#true} is VALID [2018-11-23 12:18:21,389 INFO L273 TraceCheckUtils]: 49: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,389 INFO L273 TraceCheckUtils]: 50: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,389 INFO L273 TraceCheckUtils]: 51: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,389 INFO L273 TraceCheckUtils]: 52: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,390 INFO L273 TraceCheckUtils]: 53: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,390 INFO L273 TraceCheckUtils]: 54: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,390 INFO L273 TraceCheckUtils]: 55: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,390 INFO L273 TraceCheckUtils]: 56: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,390 INFO L273 TraceCheckUtils]: 57: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,390 INFO L273 TraceCheckUtils]: 58: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,390 INFO L273 TraceCheckUtils]: 59: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,390 INFO L273 TraceCheckUtils]: 60: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,390 INFO L273 TraceCheckUtils]: 61: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,391 INFO L273 TraceCheckUtils]: 62: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,391 INFO L273 TraceCheckUtils]: 63: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,391 INFO L273 TraceCheckUtils]: 64: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,391 INFO L273 TraceCheckUtils]: 65: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,391 INFO L273 TraceCheckUtils]: 66: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,391 INFO L273 TraceCheckUtils]: 67: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,391 INFO L273 TraceCheckUtils]: 68: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,391 INFO L273 TraceCheckUtils]: 69: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,391 INFO L273 TraceCheckUtils]: 70: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,391 INFO L273 TraceCheckUtils]: 71: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,392 INFO L273 TraceCheckUtils]: 72: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,392 INFO L273 TraceCheckUtils]: 73: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,392 INFO L273 TraceCheckUtils]: 74: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,392 INFO L273 TraceCheckUtils]: 75: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,392 INFO L273 TraceCheckUtils]: 76: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,392 INFO L273 TraceCheckUtils]: 77: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,392 INFO L273 TraceCheckUtils]: 78: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,392 INFO L273 TraceCheckUtils]: 79: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,392 INFO L273 TraceCheckUtils]: 80: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,392 INFO L273 TraceCheckUtils]: 81: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,393 INFO L273 TraceCheckUtils]: 82: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,393 INFO L273 TraceCheckUtils]: 83: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,393 INFO L273 TraceCheckUtils]: 84: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,393 INFO L273 TraceCheckUtils]: 85: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,393 INFO L273 TraceCheckUtils]: 86: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,393 INFO L273 TraceCheckUtils]: 87: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,393 INFO L273 TraceCheckUtils]: 88: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,393 INFO L273 TraceCheckUtils]: 89: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,393 INFO L273 TraceCheckUtils]: 90: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,393 INFO L273 TraceCheckUtils]: 91: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,394 INFO L273 TraceCheckUtils]: 92: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,394 INFO L273 TraceCheckUtils]: 93: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,394 INFO L273 TraceCheckUtils]: 94: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,394 INFO L273 TraceCheckUtils]: 95: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,394 INFO L273 TraceCheckUtils]: 96: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,394 INFO L273 TraceCheckUtils]: 97: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,394 INFO L273 TraceCheckUtils]: 98: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,394 INFO L273 TraceCheckUtils]: 99: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,394 INFO L273 TraceCheckUtils]: 100: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,395 INFO L273 TraceCheckUtils]: 101: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,395 INFO L273 TraceCheckUtils]: 102: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,395 INFO L273 TraceCheckUtils]: 103: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,395 INFO L273 TraceCheckUtils]: 104: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,395 INFO L273 TraceCheckUtils]: 105: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,395 INFO L273 TraceCheckUtils]: 106: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,395 INFO L273 TraceCheckUtils]: 107: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,395 INFO L273 TraceCheckUtils]: 108: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,395 INFO L273 TraceCheckUtils]: 109: Hoare triple {34223#true} assume !(~i~0 < 20); {34223#true} is VALID [2018-11-23 12:18:21,395 INFO L273 TraceCheckUtils]: 110: Hoare triple {34223#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34223#true} is VALID [2018-11-23 12:18:21,396 INFO L273 TraceCheckUtils]: 111: Hoare triple {34223#true} assume true; {34223#true} is VALID [2018-11-23 12:18:21,396 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {34223#true} {34223#true} #75#return; {34223#true} is VALID [2018-11-23 12:18:21,396 INFO L273 TraceCheckUtils]: 113: Hoare triple {34223#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {34223#true} is VALID [2018-11-23 12:18:21,396 INFO L256 TraceCheckUtils]: 114: Hoare triple {34223#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {34223#true} is VALID [2018-11-23 12:18:21,396 INFO L273 TraceCheckUtils]: 115: Hoare triple {34223#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {34223#true} is VALID [2018-11-23 12:18:21,396 INFO L273 TraceCheckUtils]: 116: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,396 INFO L273 TraceCheckUtils]: 117: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,396 INFO L273 TraceCheckUtils]: 118: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,396 INFO L273 TraceCheckUtils]: 119: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,396 INFO L273 TraceCheckUtils]: 120: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,397 INFO L273 TraceCheckUtils]: 121: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,397 INFO L273 TraceCheckUtils]: 122: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,397 INFO L273 TraceCheckUtils]: 123: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,397 INFO L273 TraceCheckUtils]: 124: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,397 INFO L273 TraceCheckUtils]: 125: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,397 INFO L273 TraceCheckUtils]: 126: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,397 INFO L273 TraceCheckUtils]: 127: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,397 INFO L273 TraceCheckUtils]: 128: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,397 INFO L273 TraceCheckUtils]: 129: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,397 INFO L273 TraceCheckUtils]: 130: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,398 INFO L273 TraceCheckUtils]: 131: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,398 INFO L273 TraceCheckUtils]: 132: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,398 INFO L273 TraceCheckUtils]: 133: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,398 INFO L273 TraceCheckUtils]: 134: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,398 INFO L273 TraceCheckUtils]: 135: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,398 INFO L273 TraceCheckUtils]: 136: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,398 INFO L273 TraceCheckUtils]: 137: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,398 INFO L273 TraceCheckUtils]: 138: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,398 INFO L273 TraceCheckUtils]: 139: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,399 INFO L273 TraceCheckUtils]: 140: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,399 INFO L273 TraceCheckUtils]: 141: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,399 INFO L273 TraceCheckUtils]: 142: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,399 INFO L273 TraceCheckUtils]: 143: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,399 INFO L273 TraceCheckUtils]: 144: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,399 INFO L273 TraceCheckUtils]: 145: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,399 INFO L273 TraceCheckUtils]: 146: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,399 INFO L273 TraceCheckUtils]: 147: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,399 INFO L273 TraceCheckUtils]: 148: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,399 INFO L273 TraceCheckUtils]: 149: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,400 INFO L273 TraceCheckUtils]: 150: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,400 INFO L273 TraceCheckUtils]: 151: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,400 INFO L273 TraceCheckUtils]: 152: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,400 INFO L273 TraceCheckUtils]: 153: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,400 INFO L273 TraceCheckUtils]: 154: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,400 INFO L273 TraceCheckUtils]: 155: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,400 INFO L273 TraceCheckUtils]: 156: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,400 INFO L273 TraceCheckUtils]: 157: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,400 INFO L273 TraceCheckUtils]: 158: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,400 INFO L273 TraceCheckUtils]: 159: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,401 INFO L273 TraceCheckUtils]: 160: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,401 INFO L273 TraceCheckUtils]: 161: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,401 INFO L273 TraceCheckUtils]: 162: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,401 INFO L273 TraceCheckUtils]: 163: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,401 INFO L273 TraceCheckUtils]: 164: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,401 INFO L273 TraceCheckUtils]: 165: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,401 INFO L273 TraceCheckUtils]: 166: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,401 INFO L273 TraceCheckUtils]: 167: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,401 INFO L273 TraceCheckUtils]: 168: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,401 INFO L273 TraceCheckUtils]: 169: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,402 INFO L273 TraceCheckUtils]: 170: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,402 INFO L273 TraceCheckUtils]: 171: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,402 INFO L273 TraceCheckUtils]: 172: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,402 INFO L273 TraceCheckUtils]: 173: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,402 INFO L273 TraceCheckUtils]: 174: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,402 INFO L273 TraceCheckUtils]: 175: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,402 INFO L273 TraceCheckUtils]: 176: Hoare triple {34223#true} assume !(~i~0 < 20); {34223#true} is VALID [2018-11-23 12:18:21,402 INFO L273 TraceCheckUtils]: 177: Hoare triple {34223#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34223#true} is VALID [2018-11-23 12:18:21,402 INFO L273 TraceCheckUtils]: 178: Hoare triple {34223#true} assume true; {34223#true} is VALID [2018-11-23 12:18:21,403 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {34223#true} {34223#true} #77#return; {34223#true} is VALID [2018-11-23 12:18:21,403 INFO L273 TraceCheckUtils]: 180: Hoare triple {34223#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {34225#(= main_~i~2 0)} is VALID [2018-11-23 12:18:21,403 INFO L273 TraceCheckUtils]: 181: Hoare triple {34225#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34225#(= main_~i~2 0)} is VALID [2018-11-23 12:18:21,404 INFO L273 TraceCheckUtils]: 182: Hoare triple {34225#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34226#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:21,404 INFO L273 TraceCheckUtils]: 183: Hoare triple {34226#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34226#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:21,404 INFO L273 TraceCheckUtils]: 184: Hoare triple {34226#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34227#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:21,405 INFO L273 TraceCheckUtils]: 185: Hoare triple {34227#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34227#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:21,405 INFO L273 TraceCheckUtils]: 186: Hoare triple {34227#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34228#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:21,405 INFO L273 TraceCheckUtils]: 187: Hoare triple {34228#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34228#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:21,406 INFO L273 TraceCheckUtils]: 188: Hoare triple {34228#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34229#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:21,406 INFO L273 TraceCheckUtils]: 189: Hoare triple {34229#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34229#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:21,407 INFO L273 TraceCheckUtils]: 190: Hoare triple {34229#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34230#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:21,407 INFO L273 TraceCheckUtils]: 191: Hoare triple {34230#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34230#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:21,407 INFO L273 TraceCheckUtils]: 192: Hoare triple {34230#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34231#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:21,408 INFO L273 TraceCheckUtils]: 193: Hoare triple {34231#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34231#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:21,409 INFO L273 TraceCheckUtils]: 194: Hoare triple {34231#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34232#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:21,409 INFO L273 TraceCheckUtils]: 195: Hoare triple {34232#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34232#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:21,410 INFO L273 TraceCheckUtils]: 196: Hoare triple {34232#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34233#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:21,410 INFO L273 TraceCheckUtils]: 197: Hoare triple {34233#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34233#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:21,411 INFO L273 TraceCheckUtils]: 198: Hoare triple {34233#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34234#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:21,412 INFO L273 TraceCheckUtils]: 199: Hoare triple {34234#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34234#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:21,412 INFO L273 TraceCheckUtils]: 200: Hoare triple {34234#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34235#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:21,413 INFO L273 TraceCheckUtils]: 201: Hoare triple {34235#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34235#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:21,414 INFO L273 TraceCheckUtils]: 202: Hoare triple {34235#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34236#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:21,414 INFO L273 TraceCheckUtils]: 203: Hoare triple {34236#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34236#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:21,415 INFO L273 TraceCheckUtils]: 204: Hoare triple {34236#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34237#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:21,415 INFO L273 TraceCheckUtils]: 205: Hoare triple {34237#(<= main_~i~2 12)} assume !(~i~2 < 19); {34224#false} is VALID [2018-11-23 12:18:21,416 INFO L273 TraceCheckUtils]: 206: Hoare triple {34224#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {34224#false} is VALID [2018-11-23 12:18:21,416 INFO L256 TraceCheckUtils]: 207: Hoare triple {34224#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {34223#true} is VALID [2018-11-23 12:18:21,416 INFO L273 TraceCheckUtils]: 208: Hoare triple {34223#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {34223#true} is VALID [2018-11-23 12:18:21,416 INFO L273 TraceCheckUtils]: 209: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,416 INFO L273 TraceCheckUtils]: 210: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,417 INFO L273 TraceCheckUtils]: 211: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,417 INFO L273 TraceCheckUtils]: 212: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,417 INFO L273 TraceCheckUtils]: 213: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,417 INFO L273 TraceCheckUtils]: 214: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,417 INFO L273 TraceCheckUtils]: 215: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,417 INFO L273 TraceCheckUtils]: 216: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,418 INFO L273 TraceCheckUtils]: 217: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,418 INFO L273 TraceCheckUtils]: 218: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,418 INFO L273 TraceCheckUtils]: 219: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,418 INFO L273 TraceCheckUtils]: 220: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,418 INFO L273 TraceCheckUtils]: 221: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,418 INFO L273 TraceCheckUtils]: 222: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,419 INFO L273 TraceCheckUtils]: 223: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,419 INFO L273 TraceCheckUtils]: 224: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,419 INFO L273 TraceCheckUtils]: 225: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,419 INFO L273 TraceCheckUtils]: 226: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,419 INFO L273 TraceCheckUtils]: 227: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,419 INFO L273 TraceCheckUtils]: 228: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,419 INFO L273 TraceCheckUtils]: 229: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,419 INFO L273 TraceCheckUtils]: 230: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,419 INFO L273 TraceCheckUtils]: 231: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,419 INFO L273 TraceCheckUtils]: 232: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,420 INFO L273 TraceCheckUtils]: 233: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,420 INFO L273 TraceCheckUtils]: 234: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,420 INFO L273 TraceCheckUtils]: 235: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,420 INFO L273 TraceCheckUtils]: 236: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,420 INFO L273 TraceCheckUtils]: 237: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,420 INFO L273 TraceCheckUtils]: 238: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,420 INFO L273 TraceCheckUtils]: 239: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,420 INFO L273 TraceCheckUtils]: 240: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,420 INFO L273 TraceCheckUtils]: 241: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,420 INFO L273 TraceCheckUtils]: 242: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,421 INFO L273 TraceCheckUtils]: 243: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,421 INFO L273 TraceCheckUtils]: 244: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,421 INFO L273 TraceCheckUtils]: 245: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,421 INFO L273 TraceCheckUtils]: 246: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,421 INFO L273 TraceCheckUtils]: 247: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,421 INFO L273 TraceCheckUtils]: 248: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,421 INFO L273 TraceCheckUtils]: 249: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,421 INFO L273 TraceCheckUtils]: 250: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,421 INFO L273 TraceCheckUtils]: 251: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,422 INFO L273 TraceCheckUtils]: 252: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,422 INFO L273 TraceCheckUtils]: 253: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,422 INFO L273 TraceCheckUtils]: 254: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,422 INFO L273 TraceCheckUtils]: 255: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,422 INFO L273 TraceCheckUtils]: 256: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,422 INFO L273 TraceCheckUtils]: 257: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,422 INFO L273 TraceCheckUtils]: 258: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,422 INFO L273 TraceCheckUtils]: 259: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,422 INFO L273 TraceCheckUtils]: 260: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,422 INFO L273 TraceCheckUtils]: 261: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,423 INFO L273 TraceCheckUtils]: 262: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,423 INFO L273 TraceCheckUtils]: 263: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,423 INFO L273 TraceCheckUtils]: 264: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,423 INFO L273 TraceCheckUtils]: 265: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,423 INFO L273 TraceCheckUtils]: 266: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:21,423 INFO L273 TraceCheckUtils]: 267: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:21,423 INFO L273 TraceCheckUtils]: 268: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:21,423 INFO L273 TraceCheckUtils]: 269: Hoare triple {34223#true} assume !(~i~0 < 20); {34223#true} is VALID [2018-11-23 12:18:21,423 INFO L273 TraceCheckUtils]: 270: Hoare triple {34223#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34223#true} is VALID [2018-11-23 12:18:21,423 INFO L273 TraceCheckUtils]: 271: Hoare triple {34223#true} assume true; {34223#true} is VALID [2018-11-23 12:18:21,424 INFO L268 TraceCheckUtils]: 272: Hoare quadruple {34223#true} {34224#false} #79#return; {34224#false} is VALID [2018-11-23 12:18:21,424 INFO L273 TraceCheckUtils]: 273: Hoare triple {34224#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {34224#false} is VALID [2018-11-23 12:18:21,424 INFO L273 TraceCheckUtils]: 274: Hoare triple {34224#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {34224#false} is VALID [2018-11-23 12:18:21,424 INFO L273 TraceCheckUtils]: 275: Hoare triple {34224#false} assume !false; {34224#false} is VALID [2018-11-23 12:18:21,476 INFO L134 CoverageAnalysis]: Checked inductivity of 6049 backedges. 0 proven. 144 refuted. 0 times theorem prover too weak. 5905 trivial. 0 not checked. [2018-11-23 12:18:21,477 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:21,477 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:18:21,486 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:18:22,742 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 27 check-sat command(s) [2018-11-23 12:18:22,742 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:22,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:22,820 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:23,905 INFO L256 TraceCheckUtils]: 0: Hoare triple {34223#true} call ULTIMATE.init(); {34223#true} is VALID [2018-11-23 12:18:23,906 INFO L273 TraceCheckUtils]: 1: Hoare triple {34223#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {34223#true} is VALID [2018-11-23 12:18:23,906 INFO L273 TraceCheckUtils]: 2: Hoare triple {34223#true} assume true; {34223#true} is VALID [2018-11-23 12:18:23,906 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {34223#true} {34223#true} #71#return; {34223#true} is VALID [2018-11-23 12:18:23,906 INFO L256 TraceCheckUtils]: 4: Hoare triple {34223#true} call #t~ret14 := main(); {34223#true} is VALID [2018-11-23 12:18:23,906 INFO L273 TraceCheckUtils]: 5: Hoare triple {34223#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {34223#true} is VALID [2018-11-23 12:18:23,907 INFO L273 TraceCheckUtils]: 6: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,907 INFO L273 TraceCheckUtils]: 7: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,907 INFO L273 TraceCheckUtils]: 8: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,907 INFO L273 TraceCheckUtils]: 9: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,907 INFO L273 TraceCheckUtils]: 10: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,907 INFO L273 TraceCheckUtils]: 11: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,908 INFO L273 TraceCheckUtils]: 12: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,908 INFO L273 TraceCheckUtils]: 13: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,908 INFO L273 TraceCheckUtils]: 14: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,908 INFO L273 TraceCheckUtils]: 15: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,908 INFO L273 TraceCheckUtils]: 16: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,908 INFO L273 TraceCheckUtils]: 17: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,908 INFO L273 TraceCheckUtils]: 18: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,908 INFO L273 TraceCheckUtils]: 19: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,909 INFO L273 TraceCheckUtils]: 20: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,909 INFO L273 TraceCheckUtils]: 21: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,909 INFO L273 TraceCheckUtils]: 22: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,909 INFO L273 TraceCheckUtils]: 23: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,909 INFO L273 TraceCheckUtils]: 24: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,909 INFO L273 TraceCheckUtils]: 25: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,909 INFO L273 TraceCheckUtils]: 26: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,909 INFO L273 TraceCheckUtils]: 27: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,909 INFO L273 TraceCheckUtils]: 28: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,909 INFO L273 TraceCheckUtils]: 29: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,910 INFO L273 TraceCheckUtils]: 30: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,910 INFO L273 TraceCheckUtils]: 31: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,910 INFO L273 TraceCheckUtils]: 32: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,910 INFO L273 TraceCheckUtils]: 33: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,910 INFO L273 TraceCheckUtils]: 34: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,910 INFO L273 TraceCheckUtils]: 35: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,910 INFO L273 TraceCheckUtils]: 36: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,910 INFO L273 TraceCheckUtils]: 37: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,910 INFO L273 TraceCheckUtils]: 38: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,911 INFO L273 TraceCheckUtils]: 39: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,911 INFO L273 TraceCheckUtils]: 40: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,911 INFO L273 TraceCheckUtils]: 41: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,911 INFO L273 TraceCheckUtils]: 42: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,911 INFO L273 TraceCheckUtils]: 43: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,911 INFO L273 TraceCheckUtils]: 44: Hoare triple {34223#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34223#true} is VALID [2018-11-23 12:18:23,911 INFO L273 TraceCheckUtils]: 45: Hoare triple {34223#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34223#true} is VALID [2018-11-23 12:18:23,911 INFO L273 TraceCheckUtils]: 46: Hoare triple {34223#true} assume !(~i~1 < 20); {34223#true} is VALID [2018-11-23 12:18:23,911 INFO L256 TraceCheckUtils]: 47: Hoare triple {34223#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {34223#true} is VALID [2018-11-23 12:18:23,911 INFO L273 TraceCheckUtils]: 48: Hoare triple {34223#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {34223#true} is VALID [2018-11-23 12:18:23,912 INFO L273 TraceCheckUtils]: 49: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,912 INFO L273 TraceCheckUtils]: 50: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,912 INFO L273 TraceCheckUtils]: 51: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,912 INFO L273 TraceCheckUtils]: 52: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,912 INFO L273 TraceCheckUtils]: 53: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,912 INFO L273 TraceCheckUtils]: 54: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,912 INFO L273 TraceCheckUtils]: 55: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,912 INFO L273 TraceCheckUtils]: 56: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,912 INFO L273 TraceCheckUtils]: 57: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,912 INFO L273 TraceCheckUtils]: 58: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,913 INFO L273 TraceCheckUtils]: 59: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,913 INFO L273 TraceCheckUtils]: 60: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,913 INFO L273 TraceCheckUtils]: 61: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,913 INFO L273 TraceCheckUtils]: 62: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,913 INFO L273 TraceCheckUtils]: 63: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,913 INFO L273 TraceCheckUtils]: 64: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,913 INFO L273 TraceCheckUtils]: 65: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,913 INFO L273 TraceCheckUtils]: 66: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,913 INFO L273 TraceCheckUtils]: 67: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,913 INFO L273 TraceCheckUtils]: 68: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,914 INFO L273 TraceCheckUtils]: 69: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,914 INFO L273 TraceCheckUtils]: 70: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,914 INFO L273 TraceCheckUtils]: 71: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,914 INFO L273 TraceCheckUtils]: 72: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,914 INFO L273 TraceCheckUtils]: 73: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,914 INFO L273 TraceCheckUtils]: 74: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,914 INFO L273 TraceCheckUtils]: 75: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,914 INFO L273 TraceCheckUtils]: 76: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,914 INFO L273 TraceCheckUtils]: 77: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,914 INFO L273 TraceCheckUtils]: 78: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,915 INFO L273 TraceCheckUtils]: 79: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,915 INFO L273 TraceCheckUtils]: 80: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,915 INFO L273 TraceCheckUtils]: 81: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,915 INFO L273 TraceCheckUtils]: 82: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,915 INFO L273 TraceCheckUtils]: 83: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,915 INFO L273 TraceCheckUtils]: 84: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,915 INFO L273 TraceCheckUtils]: 85: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,915 INFO L273 TraceCheckUtils]: 86: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,915 INFO L273 TraceCheckUtils]: 87: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,916 INFO L273 TraceCheckUtils]: 88: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,916 INFO L273 TraceCheckUtils]: 89: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,916 INFO L273 TraceCheckUtils]: 90: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,916 INFO L273 TraceCheckUtils]: 91: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,916 INFO L273 TraceCheckUtils]: 92: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,916 INFO L273 TraceCheckUtils]: 93: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,916 INFO L273 TraceCheckUtils]: 94: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,916 INFO L273 TraceCheckUtils]: 95: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,916 INFO L273 TraceCheckUtils]: 96: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,916 INFO L273 TraceCheckUtils]: 97: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,917 INFO L273 TraceCheckUtils]: 98: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,917 INFO L273 TraceCheckUtils]: 99: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,917 INFO L273 TraceCheckUtils]: 100: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,917 INFO L273 TraceCheckUtils]: 101: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,917 INFO L273 TraceCheckUtils]: 102: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,917 INFO L273 TraceCheckUtils]: 103: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,917 INFO L273 TraceCheckUtils]: 104: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,917 INFO L273 TraceCheckUtils]: 105: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,917 INFO L273 TraceCheckUtils]: 106: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,917 INFO L273 TraceCheckUtils]: 107: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,918 INFO L273 TraceCheckUtils]: 108: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,918 INFO L273 TraceCheckUtils]: 109: Hoare triple {34223#true} assume !(~i~0 < 20); {34223#true} is VALID [2018-11-23 12:18:23,918 INFO L273 TraceCheckUtils]: 110: Hoare triple {34223#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34223#true} is VALID [2018-11-23 12:18:23,918 INFO L273 TraceCheckUtils]: 111: Hoare triple {34223#true} assume true; {34223#true} is VALID [2018-11-23 12:18:23,918 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {34223#true} {34223#true} #75#return; {34223#true} is VALID [2018-11-23 12:18:23,918 INFO L273 TraceCheckUtils]: 113: Hoare triple {34223#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {34223#true} is VALID [2018-11-23 12:18:23,918 INFO L256 TraceCheckUtils]: 114: Hoare triple {34223#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {34223#true} is VALID [2018-11-23 12:18:23,918 INFO L273 TraceCheckUtils]: 115: Hoare triple {34223#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {34223#true} is VALID [2018-11-23 12:18:23,918 INFO L273 TraceCheckUtils]: 116: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,918 INFO L273 TraceCheckUtils]: 117: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,919 INFO L273 TraceCheckUtils]: 118: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,919 INFO L273 TraceCheckUtils]: 119: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,919 INFO L273 TraceCheckUtils]: 120: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,919 INFO L273 TraceCheckUtils]: 121: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,919 INFO L273 TraceCheckUtils]: 122: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,919 INFO L273 TraceCheckUtils]: 123: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,919 INFO L273 TraceCheckUtils]: 124: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,919 INFO L273 TraceCheckUtils]: 125: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,919 INFO L273 TraceCheckUtils]: 126: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,920 INFO L273 TraceCheckUtils]: 127: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,920 INFO L273 TraceCheckUtils]: 128: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,920 INFO L273 TraceCheckUtils]: 129: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,920 INFO L273 TraceCheckUtils]: 130: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,920 INFO L273 TraceCheckUtils]: 131: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,920 INFO L273 TraceCheckUtils]: 132: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,920 INFO L273 TraceCheckUtils]: 133: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,920 INFO L273 TraceCheckUtils]: 134: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,920 INFO L273 TraceCheckUtils]: 135: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,920 INFO L273 TraceCheckUtils]: 136: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,921 INFO L273 TraceCheckUtils]: 137: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,921 INFO L273 TraceCheckUtils]: 138: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,921 INFO L273 TraceCheckUtils]: 139: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,921 INFO L273 TraceCheckUtils]: 140: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,921 INFO L273 TraceCheckUtils]: 141: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,921 INFO L273 TraceCheckUtils]: 142: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,921 INFO L273 TraceCheckUtils]: 143: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,921 INFO L273 TraceCheckUtils]: 144: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,921 INFO L273 TraceCheckUtils]: 145: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,921 INFO L273 TraceCheckUtils]: 146: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,922 INFO L273 TraceCheckUtils]: 147: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,922 INFO L273 TraceCheckUtils]: 148: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,922 INFO L273 TraceCheckUtils]: 149: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,922 INFO L273 TraceCheckUtils]: 150: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,922 INFO L273 TraceCheckUtils]: 151: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,922 INFO L273 TraceCheckUtils]: 152: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,922 INFO L273 TraceCheckUtils]: 153: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,922 INFO L273 TraceCheckUtils]: 154: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,922 INFO L273 TraceCheckUtils]: 155: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,922 INFO L273 TraceCheckUtils]: 156: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,923 INFO L273 TraceCheckUtils]: 157: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,923 INFO L273 TraceCheckUtils]: 158: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,923 INFO L273 TraceCheckUtils]: 159: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,923 INFO L273 TraceCheckUtils]: 160: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,923 INFO L273 TraceCheckUtils]: 161: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,923 INFO L273 TraceCheckUtils]: 162: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,923 INFO L273 TraceCheckUtils]: 163: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,923 INFO L273 TraceCheckUtils]: 164: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,923 INFO L273 TraceCheckUtils]: 165: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,923 INFO L273 TraceCheckUtils]: 166: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,924 INFO L273 TraceCheckUtils]: 167: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,924 INFO L273 TraceCheckUtils]: 168: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,924 INFO L273 TraceCheckUtils]: 169: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,924 INFO L273 TraceCheckUtils]: 170: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,924 INFO L273 TraceCheckUtils]: 171: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,924 INFO L273 TraceCheckUtils]: 172: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,924 INFO L273 TraceCheckUtils]: 173: Hoare triple {34223#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34223#true} is VALID [2018-11-23 12:18:23,924 INFO L273 TraceCheckUtils]: 174: Hoare triple {34223#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34223#true} is VALID [2018-11-23 12:18:23,924 INFO L273 TraceCheckUtils]: 175: Hoare triple {34223#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34223#true} is VALID [2018-11-23 12:18:23,925 INFO L273 TraceCheckUtils]: 176: Hoare triple {34223#true} assume !(~i~0 < 20); {34223#true} is VALID [2018-11-23 12:18:23,925 INFO L273 TraceCheckUtils]: 177: Hoare triple {34223#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34223#true} is VALID [2018-11-23 12:18:23,925 INFO L273 TraceCheckUtils]: 178: Hoare triple {34223#true} assume true; {34223#true} is VALID [2018-11-23 12:18:23,925 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {34223#true} {34223#true} #77#return; {34223#true} is VALID [2018-11-23 12:18:23,925 INFO L273 TraceCheckUtils]: 180: Hoare triple {34223#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {34781#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:23,926 INFO L273 TraceCheckUtils]: 181: Hoare triple {34781#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34781#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:23,926 INFO L273 TraceCheckUtils]: 182: Hoare triple {34781#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34226#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:23,927 INFO L273 TraceCheckUtils]: 183: Hoare triple {34226#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34226#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:23,927 INFO L273 TraceCheckUtils]: 184: Hoare triple {34226#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34227#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:23,927 INFO L273 TraceCheckUtils]: 185: Hoare triple {34227#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34227#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:23,928 INFO L273 TraceCheckUtils]: 186: Hoare triple {34227#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34228#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:23,928 INFO L273 TraceCheckUtils]: 187: Hoare triple {34228#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34228#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:23,928 INFO L273 TraceCheckUtils]: 188: Hoare triple {34228#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34229#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:23,929 INFO L273 TraceCheckUtils]: 189: Hoare triple {34229#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34229#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:23,929 INFO L273 TraceCheckUtils]: 190: Hoare triple {34229#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34230#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:23,930 INFO L273 TraceCheckUtils]: 191: Hoare triple {34230#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34230#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:23,930 INFO L273 TraceCheckUtils]: 192: Hoare triple {34230#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34231#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:23,931 INFO L273 TraceCheckUtils]: 193: Hoare triple {34231#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34231#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:23,931 INFO L273 TraceCheckUtils]: 194: Hoare triple {34231#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34232#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:23,932 INFO L273 TraceCheckUtils]: 195: Hoare triple {34232#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34232#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:23,933 INFO L273 TraceCheckUtils]: 196: Hoare triple {34232#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34233#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:23,933 INFO L273 TraceCheckUtils]: 197: Hoare triple {34233#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34233#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:23,934 INFO L273 TraceCheckUtils]: 198: Hoare triple {34233#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34234#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:23,934 INFO L273 TraceCheckUtils]: 199: Hoare triple {34234#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34234#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:23,935 INFO L273 TraceCheckUtils]: 200: Hoare triple {34234#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34235#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:23,935 INFO L273 TraceCheckUtils]: 201: Hoare triple {34235#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34235#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:23,936 INFO L273 TraceCheckUtils]: 202: Hoare triple {34235#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34236#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:23,937 INFO L273 TraceCheckUtils]: 203: Hoare triple {34236#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34236#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:23,937 INFO L273 TraceCheckUtils]: 204: Hoare triple {34236#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34237#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:23,938 INFO L273 TraceCheckUtils]: 205: Hoare triple {34237#(<= main_~i~2 12)} assume !(~i~2 < 19); {34224#false} is VALID [2018-11-23 12:18:23,938 INFO L273 TraceCheckUtils]: 206: Hoare triple {34224#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {34224#false} is VALID [2018-11-23 12:18:23,938 INFO L256 TraceCheckUtils]: 207: Hoare triple {34224#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {34224#false} is VALID [2018-11-23 12:18:23,938 INFO L273 TraceCheckUtils]: 208: Hoare triple {34224#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {34224#false} is VALID [2018-11-23 12:18:23,939 INFO L273 TraceCheckUtils]: 209: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,939 INFO L273 TraceCheckUtils]: 210: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,939 INFO L273 TraceCheckUtils]: 211: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,939 INFO L273 TraceCheckUtils]: 212: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,939 INFO L273 TraceCheckUtils]: 213: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,939 INFO L273 TraceCheckUtils]: 214: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,940 INFO L273 TraceCheckUtils]: 215: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,940 INFO L273 TraceCheckUtils]: 216: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,940 INFO L273 TraceCheckUtils]: 217: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,940 INFO L273 TraceCheckUtils]: 218: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,940 INFO L273 TraceCheckUtils]: 219: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,940 INFO L273 TraceCheckUtils]: 220: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,941 INFO L273 TraceCheckUtils]: 221: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,941 INFO L273 TraceCheckUtils]: 222: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,941 INFO L273 TraceCheckUtils]: 223: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,941 INFO L273 TraceCheckUtils]: 224: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,941 INFO L273 TraceCheckUtils]: 225: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,941 INFO L273 TraceCheckUtils]: 226: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,941 INFO L273 TraceCheckUtils]: 227: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,941 INFO L273 TraceCheckUtils]: 228: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,942 INFO L273 TraceCheckUtils]: 229: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,942 INFO L273 TraceCheckUtils]: 230: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,942 INFO L273 TraceCheckUtils]: 231: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,942 INFO L273 TraceCheckUtils]: 232: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,942 INFO L273 TraceCheckUtils]: 233: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,942 INFO L273 TraceCheckUtils]: 234: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,942 INFO L273 TraceCheckUtils]: 235: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,942 INFO L273 TraceCheckUtils]: 236: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,942 INFO L273 TraceCheckUtils]: 237: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,942 INFO L273 TraceCheckUtils]: 238: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,943 INFO L273 TraceCheckUtils]: 239: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,943 INFO L273 TraceCheckUtils]: 240: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,943 INFO L273 TraceCheckUtils]: 241: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,943 INFO L273 TraceCheckUtils]: 242: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,943 INFO L273 TraceCheckUtils]: 243: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,943 INFO L273 TraceCheckUtils]: 244: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,943 INFO L273 TraceCheckUtils]: 245: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,943 INFO L273 TraceCheckUtils]: 246: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,943 INFO L273 TraceCheckUtils]: 247: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,944 INFO L273 TraceCheckUtils]: 248: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,944 INFO L273 TraceCheckUtils]: 249: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,944 INFO L273 TraceCheckUtils]: 250: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,944 INFO L273 TraceCheckUtils]: 251: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,944 INFO L273 TraceCheckUtils]: 252: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,944 INFO L273 TraceCheckUtils]: 253: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,944 INFO L273 TraceCheckUtils]: 254: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,944 INFO L273 TraceCheckUtils]: 255: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,944 INFO L273 TraceCheckUtils]: 256: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,944 INFO L273 TraceCheckUtils]: 257: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,945 INFO L273 TraceCheckUtils]: 258: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,945 INFO L273 TraceCheckUtils]: 259: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,945 INFO L273 TraceCheckUtils]: 260: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,945 INFO L273 TraceCheckUtils]: 261: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,945 INFO L273 TraceCheckUtils]: 262: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,945 INFO L273 TraceCheckUtils]: 263: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,945 INFO L273 TraceCheckUtils]: 264: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,945 INFO L273 TraceCheckUtils]: 265: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,945 INFO L273 TraceCheckUtils]: 266: Hoare triple {34224#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34224#false} is VALID [2018-11-23 12:18:23,945 INFO L273 TraceCheckUtils]: 267: Hoare triple {34224#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34224#false} is VALID [2018-11-23 12:18:23,946 INFO L273 TraceCheckUtils]: 268: Hoare triple {34224#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34224#false} is VALID [2018-11-23 12:18:23,946 INFO L273 TraceCheckUtils]: 269: Hoare triple {34224#false} assume !(~i~0 < 20); {34224#false} is VALID [2018-11-23 12:18:23,946 INFO L273 TraceCheckUtils]: 270: Hoare triple {34224#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34224#false} is VALID [2018-11-23 12:18:23,946 INFO L273 TraceCheckUtils]: 271: Hoare triple {34224#false} assume true; {34224#false} is VALID [2018-11-23 12:18:23,946 INFO L268 TraceCheckUtils]: 272: Hoare quadruple {34224#false} {34224#false} #79#return; {34224#false} is VALID [2018-11-23 12:18:23,946 INFO L273 TraceCheckUtils]: 273: Hoare triple {34224#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {34224#false} is VALID [2018-11-23 12:18:23,946 INFO L273 TraceCheckUtils]: 274: Hoare triple {34224#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {34224#false} is VALID [2018-11-23 12:18:23,946 INFO L273 TraceCheckUtils]: 275: Hoare triple {34224#false} assume !false; {34224#false} is VALID [2018-11-23 12:18:23,973 INFO L134 CoverageAnalysis]: Checked inductivity of 6049 backedges. 2490 proven. 144 refuted. 0 times theorem prover too weak. 3415 trivial. 0 not checked. [2018-11-23 12:18:23,995 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:23,995 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 16 [2018-11-23 12:18:23,996 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 276 [2018-11-23 12:18:23,996 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:23,996 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:18:24,142 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:24,143 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:18:24,143 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:18:24,143 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:18:24,143 INFO L87 Difference]: Start difference. First operand 147 states and 171 transitions. Second operand 16 states. [2018-11-23 12:18:24,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:24,568 INFO L93 Difference]: Finished difference Result 221 states and 266 transitions. [2018-11-23 12:18:24,568 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 12:18:24,568 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 276 [2018-11-23 12:18:24,568 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:24,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:18:24,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 73 transitions. [2018-11-23 12:18:24,569 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:18:24,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 73 transitions. [2018-11-23 12:18:24,569 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 73 transitions. [2018-11-23 12:18:24,632 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:24,635 INFO L225 Difference]: With dead ends: 221 [2018-11-23 12:18:24,635 INFO L226 Difference]: Without dead ends: 150 [2018-11-23 12:18:24,636 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 290 GetRequests, 276 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:18:24,636 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 150 states. [2018-11-23 12:18:24,720 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 150 to 149. [2018-11-23 12:18:24,720 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:24,720 INFO L82 GeneralOperation]: Start isEquivalent. First operand 150 states. Second operand 149 states. [2018-11-23 12:18:24,720 INFO L74 IsIncluded]: Start isIncluded. First operand 150 states. Second operand 149 states. [2018-11-23 12:18:24,720 INFO L87 Difference]: Start difference. First operand 150 states. Second operand 149 states. [2018-11-23 12:18:24,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:24,723 INFO L93 Difference]: Finished difference Result 150 states and 174 transitions. [2018-11-23 12:18:24,723 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 174 transitions. [2018-11-23 12:18:24,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:24,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:24,723 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand 150 states. [2018-11-23 12:18:24,724 INFO L87 Difference]: Start difference. First operand 149 states. Second operand 150 states. [2018-11-23 12:18:24,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:24,726 INFO L93 Difference]: Finished difference Result 150 states and 174 transitions. [2018-11-23 12:18:24,726 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 174 transitions. [2018-11-23 12:18:24,726 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:24,726 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:24,726 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:24,726 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:24,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 149 states. [2018-11-23 12:18:24,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 173 transitions. [2018-11-23 12:18:24,728 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 173 transitions. Word has length 276 [2018-11-23 12:18:24,729 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:24,729 INFO L480 AbstractCegarLoop]: Abstraction has 149 states and 173 transitions. [2018-11-23 12:18:24,729 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:18:24,729 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 173 transitions. [2018-11-23 12:18:24,730 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 279 [2018-11-23 12:18:24,730 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:24,730 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 60, 20, 20, 13, 13, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:18:24,730 INFO L423 AbstractCegarLoop]: === Iteration 41 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:24,730 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:24,731 INFO L82 PathProgramCache]: Analyzing trace with hash 1762049412, now seen corresponding path program 37 times [2018-11-23 12:18:24,731 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:24,731 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:24,731 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:24,731 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:24,732 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:24,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:25,394 INFO L256 TraceCheckUtils]: 0: Hoare triple {35887#true} call ULTIMATE.init(); {35887#true} is VALID [2018-11-23 12:18:25,394 INFO L273 TraceCheckUtils]: 1: Hoare triple {35887#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {35887#true} is VALID [2018-11-23 12:18:25,395 INFO L273 TraceCheckUtils]: 2: Hoare triple {35887#true} assume true; {35887#true} is VALID [2018-11-23 12:18:25,395 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {35887#true} {35887#true} #71#return; {35887#true} is VALID [2018-11-23 12:18:25,395 INFO L256 TraceCheckUtils]: 4: Hoare triple {35887#true} call #t~ret14 := main(); {35887#true} is VALID [2018-11-23 12:18:25,395 INFO L273 TraceCheckUtils]: 5: Hoare triple {35887#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {35887#true} is VALID [2018-11-23 12:18:25,395 INFO L273 TraceCheckUtils]: 6: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,396 INFO L273 TraceCheckUtils]: 7: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,396 INFO L273 TraceCheckUtils]: 8: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,396 INFO L273 TraceCheckUtils]: 9: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,396 INFO L273 TraceCheckUtils]: 10: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,396 INFO L273 TraceCheckUtils]: 11: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,397 INFO L273 TraceCheckUtils]: 12: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,397 INFO L273 TraceCheckUtils]: 13: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,397 INFO L273 TraceCheckUtils]: 14: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,397 INFO L273 TraceCheckUtils]: 15: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,397 INFO L273 TraceCheckUtils]: 16: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,397 INFO L273 TraceCheckUtils]: 17: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,398 INFO L273 TraceCheckUtils]: 18: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,398 INFO L273 TraceCheckUtils]: 19: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,398 INFO L273 TraceCheckUtils]: 20: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,398 INFO L273 TraceCheckUtils]: 21: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,398 INFO L273 TraceCheckUtils]: 22: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,398 INFO L273 TraceCheckUtils]: 23: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,399 INFO L273 TraceCheckUtils]: 24: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,399 INFO L273 TraceCheckUtils]: 25: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,399 INFO L273 TraceCheckUtils]: 26: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,399 INFO L273 TraceCheckUtils]: 27: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,399 INFO L273 TraceCheckUtils]: 28: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,399 INFO L273 TraceCheckUtils]: 29: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,399 INFO L273 TraceCheckUtils]: 30: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,399 INFO L273 TraceCheckUtils]: 31: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,399 INFO L273 TraceCheckUtils]: 32: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,400 INFO L273 TraceCheckUtils]: 33: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,400 INFO L273 TraceCheckUtils]: 34: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,400 INFO L273 TraceCheckUtils]: 35: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,400 INFO L273 TraceCheckUtils]: 36: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,400 INFO L273 TraceCheckUtils]: 37: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,400 INFO L273 TraceCheckUtils]: 38: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,400 INFO L273 TraceCheckUtils]: 39: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,400 INFO L273 TraceCheckUtils]: 40: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,400 INFO L273 TraceCheckUtils]: 41: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,401 INFO L273 TraceCheckUtils]: 42: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,401 INFO L273 TraceCheckUtils]: 43: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,401 INFO L273 TraceCheckUtils]: 44: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:25,401 INFO L273 TraceCheckUtils]: 45: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:25,401 INFO L273 TraceCheckUtils]: 46: Hoare triple {35887#true} assume !(~i~1 < 20); {35887#true} is VALID [2018-11-23 12:18:25,401 INFO L256 TraceCheckUtils]: 47: Hoare triple {35887#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {35887#true} is VALID [2018-11-23 12:18:25,401 INFO L273 TraceCheckUtils]: 48: Hoare triple {35887#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {35887#true} is VALID [2018-11-23 12:18:25,401 INFO L273 TraceCheckUtils]: 49: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,401 INFO L273 TraceCheckUtils]: 50: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,401 INFO L273 TraceCheckUtils]: 51: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,402 INFO L273 TraceCheckUtils]: 52: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,402 INFO L273 TraceCheckUtils]: 53: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,402 INFO L273 TraceCheckUtils]: 54: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,402 INFO L273 TraceCheckUtils]: 55: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,402 INFO L273 TraceCheckUtils]: 56: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,402 INFO L273 TraceCheckUtils]: 57: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,402 INFO L273 TraceCheckUtils]: 58: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,402 INFO L273 TraceCheckUtils]: 59: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,402 INFO L273 TraceCheckUtils]: 60: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,402 INFO L273 TraceCheckUtils]: 61: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,403 INFO L273 TraceCheckUtils]: 62: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,403 INFO L273 TraceCheckUtils]: 63: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,403 INFO L273 TraceCheckUtils]: 64: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,403 INFO L273 TraceCheckUtils]: 65: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,403 INFO L273 TraceCheckUtils]: 66: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,403 INFO L273 TraceCheckUtils]: 67: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,403 INFO L273 TraceCheckUtils]: 68: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,403 INFO L273 TraceCheckUtils]: 69: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,403 INFO L273 TraceCheckUtils]: 70: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,403 INFO L273 TraceCheckUtils]: 71: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,404 INFO L273 TraceCheckUtils]: 72: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,404 INFO L273 TraceCheckUtils]: 73: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,404 INFO L273 TraceCheckUtils]: 74: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,404 INFO L273 TraceCheckUtils]: 75: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,404 INFO L273 TraceCheckUtils]: 76: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,404 INFO L273 TraceCheckUtils]: 77: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,404 INFO L273 TraceCheckUtils]: 78: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,404 INFO L273 TraceCheckUtils]: 79: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,404 INFO L273 TraceCheckUtils]: 80: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,405 INFO L273 TraceCheckUtils]: 81: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,405 INFO L273 TraceCheckUtils]: 82: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,405 INFO L273 TraceCheckUtils]: 83: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,405 INFO L273 TraceCheckUtils]: 84: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,405 INFO L273 TraceCheckUtils]: 85: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,405 INFO L273 TraceCheckUtils]: 86: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,405 INFO L273 TraceCheckUtils]: 87: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,405 INFO L273 TraceCheckUtils]: 88: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,405 INFO L273 TraceCheckUtils]: 89: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,405 INFO L273 TraceCheckUtils]: 90: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,406 INFO L273 TraceCheckUtils]: 91: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,406 INFO L273 TraceCheckUtils]: 92: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,406 INFO L273 TraceCheckUtils]: 93: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,406 INFO L273 TraceCheckUtils]: 94: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,406 INFO L273 TraceCheckUtils]: 95: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,406 INFO L273 TraceCheckUtils]: 96: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,406 INFO L273 TraceCheckUtils]: 97: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,406 INFO L273 TraceCheckUtils]: 98: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,406 INFO L273 TraceCheckUtils]: 99: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,406 INFO L273 TraceCheckUtils]: 100: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,407 INFO L273 TraceCheckUtils]: 101: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,407 INFO L273 TraceCheckUtils]: 102: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,407 INFO L273 TraceCheckUtils]: 103: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,407 INFO L273 TraceCheckUtils]: 104: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,407 INFO L273 TraceCheckUtils]: 105: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,407 INFO L273 TraceCheckUtils]: 106: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,407 INFO L273 TraceCheckUtils]: 107: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,407 INFO L273 TraceCheckUtils]: 108: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,407 INFO L273 TraceCheckUtils]: 109: Hoare triple {35887#true} assume !(~i~0 < 20); {35887#true} is VALID [2018-11-23 12:18:25,407 INFO L273 TraceCheckUtils]: 110: Hoare triple {35887#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {35887#true} is VALID [2018-11-23 12:18:25,408 INFO L273 TraceCheckUtils]: 111: Hoare triple {35887#true} assume true; {35887#true} is VALID [2018-11-23 12:18:25,408 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {35887#true} {35887#true} #75#return; {35887#true} is VALID [2018-11-23 12:18:25,408 INFO L273 TraceCheckUtils]: 113: Hoare triple {35887#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {35887#true} is VALID [2018-11-23 12:18:25,408 INFO L256 TraceCheckUtils]: 114: Hoare triple {35887#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {35887#true} is VALID [2018-11-23 12:18:25,408 INFO L273 TraceCheckUtils]: 115: Hoare triple {35887#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {35887#true} is VALID [2018-11-23 12:18:25,408 INFO L273 TraceCheckUtils]: 116: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,408 INFO L273 TraceCheckUtils]: 117: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,408 INFO L273 TraceCheckUtils]: 118: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,408 INFO L273 TraceCheckUtils]: 119: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,409 INFO L273 TraceCheckUtils]: 120: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,409 INFO L273 TraceCheckUtils]: 121: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,409 INFO L273 TraceCheckUtils]: 122: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,409 INFO L273 TraceCheckUtils]: 123: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,409 INFO L273 TraceCheckUtils]: 124: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,409 INFO L273 TraceCheckUtils]: 125: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,409 INFO L273 TraceCheckUtils]: 126: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,409 INFO L273 TraceCheckUtils]: 127: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,409 INFO L273 TraceCheckUtils]: 128: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,409 INFO L273 TraceCheckUtils]: 129: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,410 INFO L273 TraceCheckUtils]: 130: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,410 INFO L273 TraceCheckUtils]: 131: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,410 INFO L273 TraceCheckUtils]: 132: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,410 INFO L273 TraceCheckUtils]: 133: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,410 INFO L273 TraceCheckUtils]: 134: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,410 INFO L273 TraceCheckUtils]: 135: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,410 INFO L273 TraceCheckUtils]: 136: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,410 INFO L273 TraceCheckUtils]: 137: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,410 INFO L273 TraceCheckUtils]: 138: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,410 INFO L273 TraceCheckUtils]: 139: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,411 INFO L273 TraceCheckUtils]: 140: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,411 INFO L273 TraceCheckUtils]: 141: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,411 INFO L273 TraceCheckUtils]: 142: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,411 INFO L273 TraceCheckUtils]: 143: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,411 INFO L273 TraceCheckUtils]: 144: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,411 INFO L273 TraceCheckUtils]: 145: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,411 INFO L273 TraceCheckUtils]: 146: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,411 INFO L273 TraceCheckUtils]: 147: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,411 INFO L273 TraceCheckUtils]: 148: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,411 INFO L273 TraceCheckUtils]: 149: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,412 INFO L273 TraceCheckUtils]: 150: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,412 INFO L273 TraceCheckUtils]: 151: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,412 INFO L273 TraceCheckUtils]: 152: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,412 INFO L273 TraceCheckUtils]: 153: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,412 INFO L273 TraceCheckUtils]: 154: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,412 INFO L273 TraceCheckUtils]: 155: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,412 INFO L273 TraceCheckUtils]: 156: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,412 INFO L273 TraceCheckUtils]: 157: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,412 INFO L273 TraceCheckUtils]: 158: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,412 INFO L273 TraceCheckUtils]: 159: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,413 INFO L273 TraceCheckUtils]: 160: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,413 INFO L273 TraceCheckUtils]: 161: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,413 INFO L273 TraceCheckUtils]: 162: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,413 INFO L273 TraceCheckUtils]: 163: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,413 INFO L273 TraceCheckUtils]: 164: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,413 INFO L273 TraceCheckUtils]: 165: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,413 INFO L273 TraceCheckUtils]: 166: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,413 INFO L273 TraceCheckUtils]: 167: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,413 INFO L273 TraceCheckUtils]: 168: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,413 INFO L273 TraceCheckUtils]: 169: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,414 INFO L273 TraceCheckUtils]: 170: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,414 INFO L273 TraceCheckUtils]: 171: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,414 INFO L273 TraceCheckUtils]: 172: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,414 INFO L273 TraceCheckUtils]: 173: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,414 INFO L273 TraceCheckUtils]: 174: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,414 INFO L273 TraceCheckUtils]: 175: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,414 INFO L273 TraceCheckUtils]: 176: Hoare triple {35887#true} assume !(~i~0 < 20); {35887#true} is VALID [2018-11-23 12:18:25,414 INFO L273 TraceCheckUtils]: 177: Hoare triple {35887#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {35887#true} is VALID [2018-11-23 12:18:25,414 INFO L273 TraceCheckUtils]: 178: Hoare triple {35887#true} assume true; {35887#true} is VALID [2018-11-23 12:18:25,414 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {35887#true} {35887#true} #77#return; {35887#true} is VALID [2018-11-23 12:18:25,415 INFO L273 TraceCheckUtils]: 180: Hoare triple {35887#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {35889#(= main_~i~2 0)} is VALID [2018-11-23 12:18:25,415 INFO L273 TraceCheckUtils]: 181: Hoare triple {35889#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35889#(= main_~i~2 0)} is VALID [2018-11-23 12:18:25,415 INFO L273 TraceCheckUtils]: 182: Hoare triple {35889#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35890#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:25,416 INFO L273 TraceCheckUtils]: 183: Hoare triple {35890#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35890#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:25,416 INFO L273 TraceCheckUtils]: 184: Hoare triple {35890#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35891#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:25,417 INFO L273 TraceCheckUtils]: 185: Hoare triple {35891#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35891#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:25,417 INFO L273 TraceCheckUtils]: 186: Hoare triple {35891#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35892#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:25,417 INFO L273 TraceCheckUtils]: 187: Hoare triple {35892#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35892#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:25,418 INFO L273 TraceCheckUtils]: 188: Hoare triple {35892#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35893#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:25,418 INFO L273 TraceCheckUtils]: 189: Hoare triple {35893#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35893#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:25,418 INFO L273 TraceCheckUtils]: 190: Hoare triple {35893#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35894#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:25,419 INFO L273 TraceCheckUtils]: 191: Hoare triple {35894#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35894#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:25,419 INFO L273 TraceCheckUtils]: 192: Hoare triple {35894#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35895#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:25,419 INFO L273 TraceCheckUtils]: 193: Hoare triple {35895#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35895#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:25,420 INFO L273 TraceCheckUtils]: 194: Hoare triple {35895#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35896#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:25,420 INFO L273 TraceCheckUtils]: 195: Hoare triple {35896#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35896#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:25,421 INFO L273 TraceCheckUtils]: 196: Hoare triple {35896#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35897#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:25,422 INFO L273 TraceCheckUtils]: 197: Hoare triple {35897#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35897#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:25,422 INFO L273 TraceCheckUtils]: 198: Hoare triple {35897#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35898#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:25,423 INFO L273 TraceCheckUtils]: 199: Hoare triple {35898#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35898#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:25,424 INFO L273 TraceCheckUtils]: 200: Hoare triple {35898#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35899#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:25,424 INFO L273 TraceCheckUtils]: 201: Hoare triple {35899#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35899#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:25,425 INFO L273 TraceCheckUtils]: 202: Hoare triple {35899#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35900#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:25,425 INFO L273 TraceCheckUtils]: 203: Hoare triple {35900#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35900#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:25,426 INFO L273 TraceCheckUtils]: 204: Hoare triple {35900#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35901#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:25,426 INFO L273 TraceCheckUtils]: 205: Hoare triple {35901#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35901#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:25,427 INFO L273 TraceCheckUtils]: 206: Hoare triple {35901#(<= main_~i~2 12)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35902#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:25,428 INFO L273 TraceCheckUtils]: 207: Hoare triple {35902#(<= main_~i~2 13)} assume !(~i~2 < 19); {35888#false} is VALID [2018-11-23 12:18:25,428 INFO L273 TraceCheckUtils]: 208: Hoare triple {35888#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {35888#false} is VALID [2018-11-23 12:18:25,428 INFO L256 TraceCheckUtils]: 209: Hoare triple {35888#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {35887#true} is VALID [2018-11-23 12:18:25,428 INFO L273 TraceCheckUtils]: 210: Hoare triple {35887#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {35887#true} is VALID [2018-11-23 12:18:25,429 INFO L273 TraceCheckUtils]: 211: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,429 INFO L273 TraceCheckUtils]: 212: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,429 INFO L273 TraceCheckUtils]: 213: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,429 INFO L273 TraceCheckUtils]: 214: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,429 INFO L273 TraceCheckUtils]: 215: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,429 INFO L273 TraceCheckUtils]: 216: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,430 INFO L273 TraceCheckUtils]: 217: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,430 INFO L273 TraceCheckUtils]: 218: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,430 INFO L273 TraceCheckUtils]: 219: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,430 INFO L273 TraceCheckUtils]: 220: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,430 INFO L273 TraceCheckUtils]: 221: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,430 INFO L273 TraceCheckUtils]: 222: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,431 INFO L273 TraceCheckUtils]: 223: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,431 INFO L273 TraceCheckUtils]: 224: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,431 INFO L273 TraceCheckUtils]: 225: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,431 INFO L273 TraceCheckUtils]: 226: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,431 INFO L273 TraceCheckUtils]: 227: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,431 INFO L273 TraceCheckUtils]: 228: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,431 INFO L273 TraceCheckUtils]: 229: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,431 INFO L273 TraceCheckUtils]: 230: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,432 INFO L273 TraceCheckUtils]: 231: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,432 INFO L273 TraceCheckUtils]: 232: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,432 INFO L273 TraceCheckUtils]: 233: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,432 INFO L273 TraceCheckUtils]: 234: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,432 INFO L273 TraceCheckUtils]: 235: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,432 INFO L273 TraceCheckUtils]: 236: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,432 INFO L273 TraceCheckUtils]: 237: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,432 INFO L273 TraceCheckUtils]: 238: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,432 INFO L273 TraceCheckUtils]: 239: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,432 INFO L273 TraceCheckUtils]: 240: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,433 INFO L273 TraceCheckUtils]: 241: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,433 INFO L273 TraceCheckUtils]: 242: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,433 INFO L273 TraceCheckUtils]: 243: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,433 INFO L273 TraceCheckUtils]: 244: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,433 INFO L273 TraceCheckUtils]: 245: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,433 INFO L273 TraceCheckUtils]: 246: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,433 INFO L273 TraceCheckUtils]: 247: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,433 INFO L273 TraceCheckUtils]: 248: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,433 INFO L273 TraceCheckUtils]: 249: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,433 INFO L273 TraceCheckUtils]: 250: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,434 INFO L273 TraceCheckUtils]: 251: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,434 INFO L273 TraceCheckUtils]: 252: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,434 INFO L273 TraceCheckUtils]: 253: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,434 INFO L273 TraceCheckUtils]: 254: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,434 INFO L273 TraceCheckUtils]: 255: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,434 INFO L273 TraceCheckUtils]: 256: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,434 INFO L273 TraceCheckUtils]: 257: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,434 INFO L273 TraceCheckUtils]: 258: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,434 INFO L273 TraceCheckUtils]: 259: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,434 INFO L273 TraceCheckUtils]: 260: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,435 INFO L273 TraceCheckUtils]: 261: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,435 INFO L273 TraceCheckUtils]: 262: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,435 INFO L273 TraceCheckUtils]: 263: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,435 INFO L273 TraceCheckUtils]: 264: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,435 INFO L273 TraceCheckUtils]: 265: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,435 INFO L273 TraceCheckUtils]: 266: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,435 INFO L273 TraceCheckUtils]: 267: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,435 INFO L273 TraceCheckUtils]: 268: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:25,435 INFO L273 TraceCheckUtils]: 269: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:25,435 INFO L273 TraceCheckUtils]: 270: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:25,436 INFO L273 TraceCheckUtils]: 271: Hoare triple {35887#true} assume !(~i~0 < 20); {35887#true} is VALID [2018-11-23 12:18:25,436 INFO L273 TraceCheckUtils]: 272: Hoare triple {35887#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {35887#true} is VALID [2018-11-23 12:18:25,436 INFO L273 TraceCheckUtils]: 273: Hoare triple {35887#true} assume true; {35887#true} is VALID [2018-11-23 12:18:25,436 INFO L268 TraceCheckUtils]: 274: Hoare quadruple {35887#true} {35888#false} #79#return; {35888#false} is VALID [2018-11-23 12:18:25,436 INFO L273 TraceCheckUtils]: 275: Hoare triple {35888#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {35888#false} is VALID [2018-11-23 12:18:25,436 INFO L273 TraceCheckUtils]: 276: Hoare triple {35888#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {35888#false} is VALID [2018-11-23 12:18:25,436 INFO L273 TraceCheckUtils]: 277: Hoare triple {35888#false} assume !false; {35888#false} is VALID [2018-11-23 12:18:25,463 INFO L134 CoverageAnalysis]: Checked inductivity of 6074 backedges. 0 proven. 169 refuted. 0 times theorem prover too weak. 5905 trivial. 0 not checked. [2018-11-23 12:18:25,463 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:25,463 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:18:25,472 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:18:25,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:25,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:25,665 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:26,672 INFO L256 TraceCheckUtils]: 0: Hoare triple {35887#true} call ULTIMATE.init(); {35887#true} is VALID [2018-11-23 12:18:26,672 INFO L273 TraceCheckUtils]: 1: Hoare triple {35887#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {35887#true} is VALID [2018-11-23 12:18:26,672 INFO L273 TraceCheckUtils]: 2: Hoare triple {35887#true} assume true; {35887#true} is VALID [2018-11-23 12:18:26,672 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {35887#true} {35887#true} #71#return; {35887#true} is VALID [2018-11-23 12:18:26,673 INFO L256 TraceCheckUtils]: 4: Hoare triple {35887#true} call #t~ret14 := main(); {35887#true} is VALID [2018-11-23 12:18:26,673 INFO L273 TraceCheckUtils]: 5: Hoare triple {35887#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {35887#true} is VALID [2018-11-23 12:18:26,673 INFO L273 TraceCheckUtils]: 6: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,673 INFO L273 TraceCheckUtils]: 7: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,673 INFO L273 TraceCheckUtils]: 8: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,673 INFO L273 TraceCheckUtils]: 9: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,674 INFO L273 TraceCheckUtils]: 10: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,674 INFO L273 TraceCheckUtils]: 11: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,674 INFO L273 TraceCheckUtils]: 12: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,674 INFO L273 TraceCheckUtils]: 13: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,674 INFO L273 TraceCheckUtils]: 14: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,674 INFO L273 TraceCheckUtils]: 15: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,675 INFO L273 TraceCheckUtils]: 16: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,675 INFO L273 TraceCheckUtils]: 17: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,675 INFO L273 TraceCheckUtils]: 18: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,675 INFO L273 TraceCheckUtils]: 19: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,675 INFO L273 TraceCheckUtils]: 20: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,675 INFO L273 TraceCheckUtils]: 21: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,675 INFO L273 TraceCheckUtils]: 22: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,675 INFO L273 TraceCheckUtils]: 23: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,675 INFO L273 TraceCheckUtils]: 24: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,675 INFO L273 TraceCheckUtils]: 25: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,676 INFO L273 TraceCheckUtils]: 26: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,676 INFO L273 TraceCheckUtils]: 27: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,676 INFO L273 TraceCheckUtils]: 28: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,676 INFO L273 TraceCheckUtils]: 29: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,676 INFO L273 TraceCheckUtils]: 30: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,676 INFO L273 TraceCheckUtils]: 31: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,676 INFO L273 TraceCheckUtils]: 32: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,676 INFO L273 TraceCheckUtils]: 33: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,676 INFO L273 TraceCheckUtils]: 34: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,676 INFO L273 TraceCheckUtils]: 35: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,677 INFO L273 TraceCheckUtils]: 36: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,677 INFO L273 TraceCheckUtils]: 37: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,677 INFO L273 TraceCheckUtils]: 38: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,677 INFO L273 TraceCheckUtils]: 39: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,677 INFO L273 TraceCheckUtils]: 40: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,677 INFO L273 TraceCheckUtils]: 41: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,677 INFO L273 TraceCheckUtils]: 42: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,677 INFO L273 TraceCheckUtils]: 43: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,677 INFO L273 TraceCheckUtils]: 44: Hoare triple {35887#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {35887#true} is VALID [2018-11-23 12:18:26,677 INFO L273 TraceCheckUtils]: 45: Hoare triple {35887#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {35887#true} is VALID [2018-11-23 12:18:26,678 INFO L273 TraceCheckUtils]: 46: Hoare triple {35887#true} assume !(~i~1 < 20); {35887#true} is VALID [2018-11-23 12:18:26,678 INFO L256 TraceCheckUtils]: 47: Hoare triple {35887#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {35887#true} is VALID [2018-11-23 12:18:26,678 INFO L273 TraceCheckUtils]: 48: Hoare triple {35887#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {35887#true} is VALID [2018-11-23 12:18:26,678 INFO L273 TraceCheckUtils]: 49: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,678 INFO L273 TraceCheckUtils]: 50: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,678 INFO L273 TraceCheckUtils]: 51: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,678 INFO L273 TraceCheckUtils]: 52: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,678 INFO L273 TraceCheckUtils]: 53: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,678 INFO L273 TraceCheckUtils]: 54: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,678 INFO L273 TraceCheckUtils]: 55: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,679 INFO L273 TraceCheckUtils]: 56: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,679 INFO L273 TraceCheckUtils]: 57: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,679 INFO L273 TraceCheckUtils]: 58: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,679 INFO L273 TraceCheckUtils]: 59: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,679 INFO L273 TraceCheckUtils]: 60: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,679 INFO L273 TraceCheckUtils]: 61: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,679 INFO L273 TraceCheckUtils]: 62: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,679 INFO L273 TraceCheckUtils]: 63: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,679 INFO L273 TraceCheckUtils]: 64: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,680 INFO L273 TraceCheckUtils]: 65: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,680 INFO L273 TraceCheckUtils]: 66: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,680 INFO L273 TraceCheckUtils]: 67: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,680 INFO L273 TraceCheckUtils]: 68: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,680 INFO L273 TraceCheckUtils]: 69: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,680 INFO L273 TraceCheckUtils]: 70: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,680 INFO L273 TraceCheckUtils]: 71: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,680 INFO L273 TraceCheckUtils]: 72: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,680 INFO L273 TraceCheckUtils]: 73: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,680 INFO L273 TraceCheckUtils]: 74: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,681 INFO L273 TraceCheckUtils]: 75: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,681 INFO L273 TraceCheckUtils]: 76: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,681 INFO L273 TraceCheckUtils]: 77: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,681 INFO L273 TraceCheckUtils]: 78: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,681 INFO L273 TraceCheckUtils]: 79: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,681 INFO L273 TraceCheckUtils]: 80: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,681 INFO L273 TraceCheckUtils]: 81: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,681 INFO L273 TraceCheckUtils]: 82: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,681 INFO L273 TraceCheckUtils]: 83: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,681 INFO L273 TraceCheckUtils]: 84: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,682 INFO L273 TraceCheckUtils]: 85: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,682 INFO L273 TraceCheckUtils]: 86: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,682 INFO L273 TraceCheckUtils]: 87: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,682 INFO L273 TraceCheckUtils]: 88: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,682 INFO L273 TraceCheckUtils]: 89: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,682 INFO L273 TraceCheckUtils]: 90: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,682 INFO L273 TraceCheckUtils]: 91: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,682 INFO L273 TraceCheckUtils]: 92: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,682 INFO L273 TraceCheckUtils]: 93: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,682 INFO L273 TraceCheckUtils]: 94: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,683 INFO L273 TraceCheckUtils]: 95: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,683 INFO L273 TraceCheckUtils]: 96: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,683 INFO L273 TraceCheckUtils]: 97: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,683 INFO L273 TraceCheckUtils]: 98: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,683 INFO L273 TraceCheckUtils]: 99: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,683 INFO L273 TraceCheckUtils]: 100: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,683 INFO L273 TraceCheckUtils]: 101: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,683 INFO L273 TraceCheckUtils]: 102: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,683 INFO L273 TraceCheckUtils]: 103: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,684 INFO L273 TraceCheckUtils]: 104: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,684 INFO L273 TraceCheckUtils]: 105: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,684 INFO L273 TraceCheckUtils]: 106: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,684 INFO L273 TraceCheckUtils]: 107: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,684 INFO L273 TraceCheckUtils]: 108: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,684 INFO L273 TraceCheckUtils]: 109: Hoare triple {35887#true} assume !(~i~0 < 20); {35887#true} is VALID [2018-11-23 12:18:26,684 INFO L273 TraceCheckUtils]: 110: Hoare triple {35887#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {35887#true} is VALID [2018-11-23 12:18:26,684 INFO L273 TraceCheckUtils]: 111: Hoare triple {35887#true} assume true; {35887#true} is VALID [2018-11-23 12:18:26,684 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {35887#true} {35887#true} #75#return; {35887#true} is VALID [2018-11-23 12:18:26,684 INFO L273 TraceCheckUtils]: 113: Hoare triple {35887#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {35887#true} is VALID [2018-11-23 12:18:26,685 INFO L256 TraceCheckUtils]: 114: Hoare triple {35887#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {35887#true} is VALID [2018-11-23 12:18:26,685 INFO L273 TraceCheckUtils]: 115: Hoare triple {35887#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {35887#true} is VALID [2018-11-23 12:18:26,685 INFO L273 TraceCheckUtils]: 116: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,685 INFO L273 TraceCheckUtils]: 117: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,685 INFO L273 TraceCheckUtils]: 118: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,685 INFO L273 TraceCheckUtils]: 119: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,685 INFO L273 TraceCheckUtils]: 120: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,685 INFO L273 TraceCheckUtils]: 121: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,685 INFO L273 TraceCheckUtils]: 122: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,685 INFO L273 TraceCheckUtils]: 123: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,686 INFO L273 TraceCheckUtils]: 124: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,686 INFO L273 TraceCheckUtils]: 125: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,686 INFO L273 TraceCheckUtils]: 126: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,686 INFO L273 TraceCheckUtils]: 127: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,686 INFO L273 TraceCheckUtils]: 128: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,686 INFO L273 TraceCheckUtils]: 129: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,686 INFO L273 TraceCheckUtils]: 130: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,686 INFO L273 TraceCheckUtils]: 131: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,686 INFO L273 TraceCheckUtils]: 132: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,686 INFO L273 TraceCheckUtils]: 133: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,687 INFO L273 TraceCheckUtils]: 134: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,687 INFO L273 TraceCheckUtils]: 135: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,687 INFO L273 TraceCheckUtils]: 136: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,687 INFO L273 TraceCheckUtils]: 137: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,687 INFO L273 TraceCheckUtils]: 138: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,687 INFO L273 TraceCheckUtils]: 139: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,687 INFO L273 TraceCheckUtils]: 140: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,687 INFO L273 TraceCheckUtils]: 141: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,687 INFO L273 TraceCheckUtils]: 142: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,687 INFO L273 TraceCheckUtils]: 143: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,688 INFO L273 TraceCheckUtils]: 144: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,688 INFO L273 TraceCheckUtils]: 145: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,688 INFO L273 TraceCheckUtils]: 146: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,688 INFO L273 TraceCheckUtils]: 147: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,688 INFO L273 TraceCheckUtils]: 148: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,688 INFO L273 TraceCheckUtils]: 149: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,688 INFO L273 TraceCheckUtils]: 150: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,688 INFO L273 TraceCheckUtils]: 151: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,688 INFO L273 TraceCheckUtils]: 152: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,689 INFO L273 TraceCheckUtils]: 153: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,689 INFO L273 TraceCheckUtils]: 154: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,689 INFO L273 TraceCheckUtils]: 155: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,689 INFO L273 TraceCheckUtils]: 156: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,689 INFO L273 TraceCheckUtils]: 157: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,689 INFO L273 TraceCheckUtils]: 158: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,689 INFO L273 TraceCheckUtils]: 159: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,689 INFO L273 TraceCheckUtils]: 160: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,689 INFO L273 TraceCheckUtils]: 161: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,689 INFO L273 TraceCheckUtils]: 162: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,690 INFO L273 TraceCheckUtils]: 163: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,690 INFO L273 TraceCheckUtils]: 164: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,690 INFO L273 TraceCheckUtils]: 165: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,690 INFO L273 TraceCheckUtils]: 166: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,690 INFO L273 TraceCheckUtils]: 167: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,690 INFO L273 TraceCheckUtils]: 168: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,690 INFO L273 TraceCheckUtils]: 169: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,690 INFO L273 TraceCheckUtils]: 170: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,690 INFO L273 TraceCheckUtils]: 171: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,690 INFO L273 TraceCheckUtils]: 172: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,691 INFO L273 TraceCheckUtils]: 173: Hoare triple {35887#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35887#true} is VALID [2018-11-23 12:18:26,691 INFO L273 TraceCheckUtils]: 174: Hoare triple {35887#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35887#true} is VALID [2018-11-23 12:18:26,691 INFO L273 TraceCheckUtils]: 175: Hoare triple {35887#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35887#true} is VALID [2018-11-23 12:18:26,691 INFO L273 TraceCheckUtils]: 176: Hoare triple {35887#true} assume !(~i~0 < 20); {35887#true} is VALID [2018-11-23 12:18:26,691 INFO L273 TraceCheckUtils]: 177: Hoare triple {35887#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {35887#true} is VALID [2018-11-23 12:18:26,691 INFO L273 TraceCheckUtils]: 178: Hoare triple {35887#true} assume true; {35887#true} is VALID [2018-11-23 12:18:26,691 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {35887#true} {35887#true} #77#return; {35887#true} is VALID [2018-11-23 12:18:26,692 INFO L273 TraceCheckUtils]: 180: Hoare triple {35887#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {36446#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:26,692 INFO L273 TraceCheckUtils]: 181: Hoare triple {36446#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36446#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:26,693 INFO L273 TraceCheckUtils]: 182: Hoare triple {36446#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35890#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:26,693 INFO L273 TraceCheckUtils]: 183: Hoare triple {35890#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35890#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:26,693 INFO L273 TraceCheckUtils]: 184: Hoare triple {35890#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35891#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:26,694 INFO L273 TraceCheckUtils]: 185: Hoare triple {35891#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35891#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:26,694 INFO L273 TraceCheckUtils]: 186: Hoare triple {35891#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35892#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:26,694 INFO L273 TraceCheckUtils]: 187: Hoare triple {35892#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35892#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:26,695 INFO L273 TraceCheckUtils]: 188: Hoare triple {35892#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35893#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:26,695 INFO L273 TraceCheckUtils]: 189: Hoare triple {35893#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35893#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:26,696 INFO L273 TraceCheckUtils]: 190: Hoare triple {35893#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35894#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:26,696 INFO L273 TraceCheckUtils]: 191: Hoare triple {35894#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35894#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:26,697 INFO L273 TraceCheckUtils]: 192: Hoare triple {35894#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35895#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:26,697 INFO L273 TraceCheckUtils]: 193: Hoare triple {35895#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35895#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:26,698 INFO L273 TraceCheckUtils]: 194: Hoare triple {35895#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35896#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:26,699 INFO L273 TraceCheckUtils]: 195: Hoare triple {35896#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35896#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:26,699 INFO L273 TraceCheckUtils]: 196: Hoare triple {35896#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35897#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:26,700 INFO L273 TraceCheckUtils]: 197: Hoare triple {35897#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35897#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:26,701 INFO L273 TraceCheckUtils]: 198: Hoare triple {35897#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35898#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:26,701 INFO L273 TraceCheckUtils]: 199: Hoare triple {35898#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35898#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:26,702 INFO L273 TraceCheckUtils]: 200: Hoare triple {35898#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35899#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:26,702 INFO L273 TraceCheckUtils]: 201: Hoare triple {35899#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35899#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:26,703 INFO L273 TraceCheckUtils]: 202: Hoare triple {35899#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35900#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:26,704 INFO L273 TraceCheckUtils]: 203: Hoare triple {35900#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35900#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:26,704 INFO L273 TraceCheckUtils]: 204: Hoare triple {35900#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35901#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:26,705 INFO L273 TraceCheckUtils]: 205: Hoare triple {35901#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {35901#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:26,706 INFO L273 TraceCheckUtils]: 206: Hoare triple {35901#(<= main_~i~2 12)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {35902#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:26,706 INFO L273 TraceCheckUtils]: 207: Hoare triple {35902#(<= main_~i~2 13)} assume !(~i~2 < 19); {35888#false} is VALID [2018-11-23 12:18:26,706 INFO L273 TraceCheckUtils]: 208: Hoare triple {35888#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {35888#false} is VALID [2018-11-23 12:18:26,707 INFO L256 TraceCheckUtils]: 209: Hoare triple {35888#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {35888#false} is VALID [2018-11-23 12:18:26,707 INFO L273 TraceCheckUtils]: 210: Hoare triple {35888#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {35888#false} is VALID [2018-11-23 12:18:26,707 INFO L273 TraceCheckUtils]: 211: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,707 INFO L273 TraceCheckUtils]: 212: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,707 INFO L273 TraceCheckUtils]: 213: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,708 INFO L273 TraceCheckUtils]: 214: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,708 INFO L273 TraceCheckUtils]: 215: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,708 INFO L273 TraceCheckUtils]: 216: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,708 INFO L273 TraceCheckUtils]: 217: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,708 INFO L273 TraceCheckUtils]: 218: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,708 INFO L273 TraceCheckUtils]: 219: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,708 INFO L273 TraceCheckUtils]: 220: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,709 INFO L273 TraceCheckUtils]: 221: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,709 INFO L273 TraceCheckUtils]: 222: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,709 INFO L273 TraceCheckUtils]: 223: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,709 INFO L273 TraceCheckUtils]: 224: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,709 INFO L273 TraceCheckUtils]: 225: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,709 INFO L273 TraceCheckUtils]: 226: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,709 INFO L273 TraceCheckUtils]: 227: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,709 INFO L273 TraceCheckUtils]: 228: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,709 INFO L273 TraceCheckUtils]: 229: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,709 INFO L273 TraceCheckUtils]: 230: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,710 INFO L273 TraceCheckUtils]: 231: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,710 INFO L273 TraceCheckUtils]: 232: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,710 INFO L273 TraceCheckUtils]: 233: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,710 INFO L273 TraceCheckUtils]: 234: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,710 INFO L273 TraceCheckUtils]: 235: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,710 INFO L273 TraceCheckUtils]: 236: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,710 INFO L273 TraceCheckUtils]: 237: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,710 INFO L273 TraceCheckUtils]: 238: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,710 INFO L273 TraceCheckUtils]: 239: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,710 INFO L273 TraceCheckUtils]: 240: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,711 INFO L273 TraceCheckUtils]: 241: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,711 INFO L273 TraceCheckUtils]: 242: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,711 INFO L273 TraceCheckUtils]: 243: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,711 INFO L273 TraceCheckUtils]: 244: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,711 INFO L273 TraceCheckUtils]: 245: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,711 INFO L273 TraceCheckUtils]: 246: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,711 INFO L273 TraceCheckUtils]: 247: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,711 INFO L273 TraceCheckUtils]: 248: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,711 INFO L273 TraceCheckUtils]: 249: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,712 INFO L273 TraceCheckUtils]: 250: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,712 INFO L273 TraceCheckUtils]: 251: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,712 INFO L273 TraceCheckUtils]: 252: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,712 INFO L273 TraceCheckUtils]: 253: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,712 INFO L273 TraceCheckUtils]: 254: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,712 INFO L273 TraceCheckUtils]: 255: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,712 INFO L273 TraceCheckUtils]: 256: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,712 INFO L273 TraceCheckUtils]: 257: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,712 INFO L273 TraceCheckUtils]: 258: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,712 INFO L273 TraceCheckUtils]: 259: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,713 INFO L273 TraceCheckUtils]: 260: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,713 INFO L273 TraceCheckUtils]: 261: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,713 INFO L273 TraceCheckUtils]: 262: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,713 INFO L273 TraceCheckUtils]: 263: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,713 INFO L273 TraceCheckUtils]: 264: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,713 INFO L273 TraceCheckUtils]: 265: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,713 INFO L273 TraceCheckUtils]: 266: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,713 INFO L273 TraceCheckUtils]: 267: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,713 INFO L273 TraceCheckUtils]: 268: Hoare triple {35888#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {35888#false} is VALID [2018-11-23 12:18:26,713 INFO L273 TraceCheckUtils]: 269: Hoare triple {35888#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {35888#false} is VALID [2018-11-23 12:18:26,714 INFO L273 TraceCheckUtils]: 270: Hoare triple {35888#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {35888#false} is VALID [2018-11-23 12:18:26,714 INFO L273 TraceCheckUtils]: 271: Hoare triple {35888#false} assume !(~i~0 < 20); {35888#false} is VALID [2018-11-23 12:18:26,714 INFO L273 TraceCheckUtils]: 272: Hoare triple {35888#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {35888#false} is VALID [2018-11-23 12:18:26,714 INFO L273 TraceCheckUtils]: 273: Hoare triple {35888#false} assume true; {35888#false} is VALID [2018-11-23 12:18:26,714 INFO L268 TraceCheckUtils]: 274: Hoare quadruple {35888#false} {35888#false} #79#return; {35888#false} is VALID [2018-11-23 12:18:26,714 INFO L273 TraceCheckUtils]: 275: Hoare triple {35888#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {35888#false} is VALID [2018-11-23 12:18:26,714 INFO L273 TraceCheckUtils]: 276: Hoare triple {35888#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {35888#false} is VALID [2018-11-23 12:18:26,714 INFO L273 TraceCheckUtils]: 277: Hoare triple {35888#false} assume !false; {35888#false} is VALID [2018-11-23 12:18:26,742 INFO L134 CoverageAnalysis]: Checked inductivity of 6074 backedges. 2490 proven. 169 refuted. 0 times theorem prover too weak. 3415 trivial. 0 not checked. [2018-11-23 12:18:26,761 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:26,761 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 17 [2018-11-23 12:18:26,761 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 278 [2018-11-23 12:18:26,762 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:26,762 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 12:18:26,825 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:26,826 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 12:18:26,826 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 12:18:26,826 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:18:26,827 INFO L87 Difference]: Start difference. First operand 149 states and 173 transitions. Second operand 17 states. [2018-11-23 12:18:27,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:27,326 INFO L93 Difference]: Finished difference Result 223 states and 268 transitions. [2018-11-23 12:18:27,327 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:18:27,327 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 278 [2018-11-23 12:18:27,327 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:27,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:18:27,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2018-11-23 12:18:27,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:18:27,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2018-11-23 12:18:27,328 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 75 transitions. [2018-11-23 12:18:27,399 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:27,403 INFO L225 Difference]: With dead ends: 223 [2018-11-23 12:18:27,403 INFO L226 Difference]: Without dead ends: 152 [2018-11-23 12:18:27,403 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 293 GetRequests, 278 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:18:27,403 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2018-11-23 12:18:27,458 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 151. [2018-11-23 12:18:27,458 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:27,458 INFO L82 GeneralOperation]: Start isEquivalent. First operand 152 states. Second operand 151 states. [2018-11-23 12:18:27,458 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand 151 states. [2018-11-23 12:18:27,458 INFO L87 Difference]: Start difference. First operand 152 states. Second operand 151 states. [2018-11-23 12:18:27,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:27,461 INFO L93 Difference]: Finished difference Result 152 states and 176 transitions. [2018-11-23 12:18:27,461 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 176 transitions. [2018-11-23 12:18:27,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:27,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:27,462 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand 152 states. [2018-11-23 12:18:27,462 INFO L87 Difference]: Start difference. First operand 151 states. Second operand 152 states. [2018-11-23 12:18:27,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:27,464 INFO L93 Difference]: Finished difference Result 152 states and 176 transitions. [2018-11-23 12:18:27,464 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 176 transitions. [2018-11-23 12:18:27,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:27,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:27,464 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:27,464 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:27,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 151 states. [2018-11-23 12:18:27,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 151 states to 151 states and 175 transitions. [2018-11-23 12:18:27,466 INFO L78 Accepts]: Start accepts. Automaton has 151 states and 175 transitions. Word has length 278 [2018-11-23 12:18:27,467 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:27,467 INFO L480 AbstractCegarLoop]: Abstraction has 151 states and 175 transitions. [2018-11-23 12:18:27,467 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 12:18:27,467 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 175 transitions. [2018-11-23 12:18:27,468 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 281 [2018-11-23 12:18:27,468 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:27,468 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 60, 20, 20, 14, 14, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:18:27,468 INFO L423 AbstractCegarLoop]: === Iteration 42 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:27,469 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:27,469 INFO L82 PathProgramCache]: Analyzing trace with hash 628692930, now seen corresponding path program 38 times [2018-11-23 12:18:27,469 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:27,469 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:27,470 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:27,470 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:18:27,470 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:27,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:27,861 INFO L256 TraceCheckUtils]: 0: Hoare triple {37568#true} call ULTIMATE.init(); {37568#true} is VALID [2018-11-23 12:18:27,861 INFO L273 TraceCheckUtils]: 1: Hoare triple {37568#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {37568#true} is VALID [2018-11-23 12:18:27,861 INFO L273 TraceCheckUtils]: 2: Hoare triple {37568#true} assume true; {37568#true} is VALID [2018-11-23 12:18:27,861 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {37568#true} {37568#true} #71#return; {37568#true} is VALID [2018-11-23 12:18:27,862 INFO L256 TraceCheckUtils]: 4: Hoare triple {37568#true} call #t~ret14 := main(); {37568#true} is VALID [2018-11-23 12:18:27,862 INFO L273 TraceCheckUtils]: 5: Hoare triple {37568#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {37568#true} is VALID [2018-11-23 12:18:27,862 INFO L273 TraceCheckUtils]: 6: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,862 INFO L273 TraceCheckUtils]: 7: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,862 INFO L273 TraceCheckUtils]: 8: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,862 INFO L273 TraceCheckUtils]: 9: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,863 INFO L273 TraceCheckUtils]: 10: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,863 INFO L273 TraceCheckUtils]: 11: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,863 INFO L273 TraceCheckUtils]: 12: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,863 INFO L273 TraceCheckUtils]: 13: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,863 INFO L273 TraceCheckUtils]: 14: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,863 INFO L273 TraceCheckUtils]: 15: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,863 INFO L273 TraceCheckUtils]: 16: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,863 INFO L273 TraceCheckUtils]: 17: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,863 INFO L273 TraceCheckUtils]: 18: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,864 INFO L273 TraceCheckUtils]: 19: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,864 INFO L273 TraceCheckUtils]: 20: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,864 INFO L273 TraceCheckUtils]: 21: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,864 INFO L273 TraceCheckUtils]: 22: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,864 INFO L273 TraceCheckUtils]: 23: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,864 INFO L273 TraceCheckUtils]: 24: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,864 INFO L273 TraceCheckUtils]: 25: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,864 INFO L273 TraceCheckUtils]: 26: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,864 INFO L273 TraceCheckUtils]: 27: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,864 INFO L273 TraceCheckUtils]: 28: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,865 INFO L273 TraceCheckUtils]: 29: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,865 INFO L273 TraceCheckUtils]: 30: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,865 INFO L273 TraceCheckUtils]: 31: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,865 INFO L273 TraceCheckUtils]: 32: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,865 INFO L273 TraceCheckUtils]: 33: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,865 INFO L273 TraceCheckUtils]: 34: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,865 INFO L273 TraceCheckUtils]: 35: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,865 INFO L273 TraceCheckUtils]: 36: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,865 INFO L273 TraceCheckUtils]: 37: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,866 INFO L273 TraceCheckUtils]: 38: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,866 INFO L273 TraceCheckUtils]: 39: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,866 INFO L273 TraceCheckUtils]: 40: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,866 INFO L273 TraceCheckUtils]: 41: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,866 INFO L273 TraceCheckUtils]: 42: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,866 INFO L273 TraceCheckUtils]: 43: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,866 INFO L273 TraceCheckUtils]: 44: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:27,866 INFO L273 TraceCheckUtils]: 45: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:27,866 INFO L273 TraceCheckUtils]: 46: Hoare triple {37568#true} assume !(~i~1 < 20); {37568#true} is VALID [2018-11-23 12:18:27,866 INFO L256 TraceCheckUtils]: 47: Hoare triple {37568#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {37568#true} is VALID [2018-11-23 12:18:27,867 INFO L273 TraceCheckUtils]: 48: Hoare triple {37568#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {37568#true} is VALID [2018-11-23 12:18:27,867 INFO L273 TraceCheckUtils]: 49: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,867 INFO L273 TraceCheckUtils]: 50: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,867 INFO L273 TraceCheckUtils]: 51: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,867 INFO L273 TraceCheckUtils]: 52: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,867 INFO L273 TraceCheckUtils]: 53: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,867 INFO L273 TraceCheckUtils]: 54: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,867 INFO L273 TraceCheckUtils]: 55: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,867 INFO L273 TraceCheckUtils]: 56: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,867 INFO L273 TraceCheckUtils]: 57: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,868 INFO L273 TraceCheckUtils]: 58: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,868 INFO L273 TraceCheckUtils]: 59: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,868 INFO L273 TraceCheckUtils]: 60: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,868 INFO L273 TraceCheckUtils]: 61: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,868 INFO L273 TraceCheckUtils]: 62: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,868 INFO L273 TraceCheckUtils]: 63: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,868 INFO L273 TraceCheckUtils]: 64: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,868 INFO L273 TraceCheckUtils]: 65: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,868 INFO L273 TraceCheckUtils]: 66: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,869 INFO L273 TraceCheckUtils]: 67: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,869 INFO L273 TraceCheckUtils]: 68: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,869 INFO L273 TraceCheckUtils]: 69: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,869 INFO L273 TraceCheckUtils]: 70: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,869 INFO L273 TraceCheckUtils]: 71: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,869 INFO L273 TraceCheckUtils]: 72: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,869 INFO L273 TraceCheckUtils]: 73: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,869 INFO L273 TraceCheckUtils]: 74: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,869 INFO L273 TraceCheckUtils]: 75: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,870 INFO L273 TraceCheckUtils]: 76: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,870 INFO L273 TraceCheckUtils]: 77: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,870 INFO L273 TraceCheckUtils]: 78: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,870 INFO L273 TraceCheckUtils]: 79: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,870 INFO L273 TraceCheckUtils]: 80: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,870 INFO L273 TraceCheckUtils]: 81: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,870 INFO L273 TraceCheckUtils]: 82: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,870 INFO L273 TraceCheckUtils]: 83: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,870 INFO L273 TraceCheckUtils]: 84: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,870 INFO L273 TraceCheckUtils]: 85: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,871 INFO L273 TraceCheckUtils]: 86: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,871 INFO L273 TraceCheckUtils]: 87: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,871 INFO L273 TraceCheckUtils]: 88: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,871 INFO L273 TraceCheckUtils]: 89: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,871 INFO L273 TraceCheckUtils]: 90: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,871 INFO L273 TraceCheckUtils]: 91: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,871 INFO L273 TraceCheckUtils]: 92: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,871 INFO L273 TraceCheckUtils]: 93: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,871 INFO L273 TraceCheckUtils]: 94: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,871 INFO L273 TraceCheckUtils]: 95: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,872 INFO L273 TraceCheckUtils]: 96: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,872 INFO L273 TraceCheckUtils]: 97: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,872 INFO L273 TraceCheckUtils]: 98: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,872 INFO L273 TraceCheckUtils]: 99: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,872 INFO L273 TraceCheckUtils]: 100: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,872 INFO L273 TraceCheckUtils]: 101: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,872 INFO L273 TraceCheckUtils]: 102: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,872 INFO L273 TraceCheckUtils]: 103: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,872 INFO L273 TraceCheckUtils]: 104: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,873 INFO L273 TraceCheckUtils]: 105: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,873 INFO L273 TraceCheckUtils]: 106: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,873 INFO L273 TraceCheckUtils]: 107: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,873 INFO L273 TraceCheckUtils]: 108: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,873 INFO L273 TraceCheckUtils]: 109: Hoare triple {37568#true} assume !(~i~0 < 20); {37568#true} is VALID [2018-11-23 12:18:27,873 INFO L273 TraceCheckUtils]: 110: Hoare triple {37568#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {37568#true} is VALID [2018-11-23 12:18:27,873 INFO L273 TraceCheckUtils]: 111: Hoare triple {37568#true} assume true; {37568#true} is VALID [2018-11-23 12:18:27,873 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {37568#true} {37568#true} #75#return; {37568#true} is VALID [2018-11-23 12:18:27,873 INFO L273 TraceCheckUtils]: 113: Hoare triple {37568#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {37568#true} is VALID [2018-11-23 12:18:27,874 INFO L256 TraceCheckUtils]: 114: Hoare triple {37568#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {37568#true} is VALID [2018-11-23 12:18:27,874 INFO L273 TraceCheckUtils]: 115: Hoare triple {37568#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {37568#true} is VALID [2018-11-23 12:18:27,874 INFO L273 TraceCheckUtils]: 116: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,874 INFO L273 TraceCheckUtils]: 117: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,874 INFO L273 TraceCheckUtils]: 118: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,874 INFO L273 TraceCheckUtils]: 119: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,874 INFO L273 TraceCheckUtils]: 120: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,874 INFO L273 TraceCheckUtils]: 121: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,874 INFO L273 TraceCheckUtils]: 122: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,874 INFO L273 TraceCheckUtils]: 123: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,875 INFO L273 TraceCheckUtils]: 124: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,875 INFO L273 TraceCheckUtils]: 125: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,875 INFO L273 TraceCheckUtils]: 126: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,875 INFO L273 TraceCheckUtils]: 127: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,875 INFO L273 TraceCheckUtils]: 128: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,875 INFO L273 TraceCheckUtils]: 129: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,875 INFO L273 TraceCheckUtils]: 130: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,875 INFO L273 TraceCheckUtils]: 131: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,875 INFO L273 TraceCheckUtils]: 132: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,876 INFO L273 TraceCheckUtils]: 133: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,876 INFO L273 TraceCheckUtils]: 134: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,876 INFO L273 TraceCheckUtils]: 135: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,876 INFO L273 TraceCheckUtils]: 136: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,876 INFO L273 TraceCheckUtils]: 137: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,876 INFO L273 TraceCheckUtils]: 138: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,876 INFO L273 TraceCheckUtils]: 139: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,876 INFO L273 TraceCheckUtils]: 140: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,876 INFO L273 TraceCheckUtils]: 141: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,876 INFO L273 TraceCheckUtils]: 142: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,877 INFO L273 TraceCheckUtils]: 143: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,877 INFO L273 TraceCheckUtils]: 144: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,877 INFO L273 TraceCheckUtils]: 145: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,877 INFO L273 TraceCheckUtils]: 146: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,877 INFO L273 TraceCheckUtils]: 147: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,877 INFO L273 TraceCheckUtils]: 148: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,877 INFO L273 TraceCheckUtils]: 149: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,877 INFO L273 TraceCheckUtils]: 150: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,877 INFO L273 TraceCheckUtils]: 151: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,878 INFO L273 TraceCheckUtils]: 152: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,878 INFO L273 TraceCheckUtils]: 153: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,878 INFO L273 TraceCheckUtils]: 154: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,878 INFO L273 TraceCheckUtils]: 155: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,878 INFO L273 TraceCheckUtils]: 156: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,878 INFO L273 TraceCheckUtils]: 157: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,878 INFO L273 TraceCheckUtils]: 158: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,878 INFO L273 TraceCheckUtils]: 159: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,878 INFO L273 TraceCheckUtils]: 160: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,878 INFO L273 TraceCheckUtils]: 161: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,879 INFO L273 TraceCheckUtils]: 162: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,879 INFO L273 TraceCheckUtils]: 163: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,879 INFO L273 TraceCheckUtils]: 164: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,879 INFO L273 TraceCheckUtils]: 165: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,879 INFO L273 TraceCheckUtils]: 166: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,879 INFO L273 TraceCheckUtils]: 167: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,879 INFO L273 TraceCheckUtils]: 168: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,879 INFO L273 TraceCheckUtils]: 169: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,879 INFO L273 TraceCheckUtils]: 170: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,879 INFO L273 TraceCheckUtils]: 171: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,880 INFO L273 TraceCheckUtils]: 172: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,880 INFO L273 TraceCheckUtils]: 173: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,880 INFO L273 TraceCheckUtils]: 174: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,880 INFO L273 TraceCheckUtils]: 175: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,880 INFO L273 TraceCheckUtils]: 176: Hoare triple {37568#true} assume !(~i~0 < 20); {37568#true} is VALID [2018-11-23 12:18:27,880 INFO L273 TraceCheckUtils]: 177: Hoare triple {37568#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {37568#true} is VALID [2018-11-23 12:18:27,880 INFO L273 TraceCheckUtils]: 178: Hoare triple {37568#true} assume true; {37568#true} is VALID [2018-11-23 12:18:27,880 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {37568#true} {37568#true} #77#return; {37568#true} is VALID [2018-11-23 12:18:27,881 INFO L273 TraceCheckUtils]: 180: Hoare triple {37568#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {37570#(= main_~i~2 0)} is VALID [2018-11-23 12:18:27,881 INFO L273 TraceCheckUtils]: 181: Hoare triple {37570#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37570#(= main_~i~2 0)} is VALID [2018-11-23 12:18:27,881 INFO L273 TraceCheckUtils]: 182: Hoare triple {37570#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37571#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:27,882 INFO L273 TraceCheckUtils]: 183: Hoare triple {37571#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37571#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:27,882 INFO L273 TraceCheckUtils]: 184: Hoare triple {37571#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37572#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:27,882 INFO L273 TraceCheckUtils]: 185: Hoare triple {37572#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37572#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:27,883 INFO L273 TraceCheckUtils]: 186: Hoare triple {37572#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37573#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:27,883 INFO L273 TraceCheckUtils]: 187: Hoare triple {37573#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37573#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:27,884 INFO L273 TraceCheckUtils]: 188: Hoare triple {37573#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37574#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:27,884 INFO L273 TraceCheckUtils]: 189: Hoare triple {37574#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37574#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:27,884 INFO L273 TraceCheckUtils]: 190: Hoare triple {37574#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37575#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:27,885 INFO L273 TraceCheckUtils]: 191: Hoare triple {37575#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37575#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:27,885 INFO L273 TraceCheckUtils]: 192: Hoare triple {37575#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37576#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:27,885 INFO L273 TraceCheckUtils]: 193: Hoare triple {37576#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37576#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:27,886 INFO L273 TraceCheckUtils]: 194: Hoare triple {37576#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37577#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:27,886 INFO L273 TraceCheckUtils]: 195: Hoare triple {37577#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37577#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:27,887 INFO L273 TraceCheckUtils]: 196: Hoare triple {37577#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37578#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:27,888 INFO L273 TraceCheckUtils]: 197: Hoare triple {37578#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37578#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:27,888 INFO L273 TraceCheckUtils]: 198: Hoare triple {37578#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37579#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:27,889 INFO L273 TraceCheckUtils]: 199: Hoare triple {37579#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37579#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:27,890 INFO L273 TraceCheckUtils]: 200: Hoare triple {37579#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37580#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:27,890 INFO L273 TraceCheckUtils]: 201: Hoare triple {37580#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37580#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:27,891 INFO L273 TraceCheckUtils]: 202: Hoare triple {37580#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37581#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:27,891 INFO L273 TraceCheckUtils]: 203: Hoare triple {37581#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37581#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:27,892 INFO L273 TraceCheckUtils]: 204: Hoare triple {37581#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37582#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:27,892 INFO L273 TraceCheckUtils]: 205: Hoare triple {37582#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37582#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:27,893 INFO L273 TraceCheckUtils]: 206: Hoare triple {37582#(<= main_~i~2 12)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37583#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:27,894 INFO L273 TraceCheckUtils]: 207: Hoare triple {37583#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37583#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:27,894 INFO L273 TraceCheckUtils]: 208: Hoare triple {37583#(<= main_~i~2 13)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37584#(<= main_~i~2 14)} is VALID [2018-11-23 12:18:27,895 INFO L273 TraceCheckUtils]: 209: Hoare triple {37584#(<= main_~i~2 14)} assume !(~i~2 < 19); {37569#false} is VALID [2018-11-23 12:18:27,895 INFO L273 TraceCheckUtils]: 210: Hoare triple {37569#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {37569#false} is VALID [2018-11-23 12:18:27,895 INFO L256 TraceCheckUtils]: 211: Hoare triple {37569#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {37568#true} is VALID [2018-11-23 12:18:27,896 INFO L273 TraceCheckUtils]: 212: Hoare triple {37568#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {37568#true} is VALID [2018-11-23 12:18:27,896 INFO L273 TraceCheckUtils]: 213: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,896 INFO L273 TraceCheckUtils]: 214: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,896 INFO L273 TraceCheckUtils]: 215: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,896 INFO L273 TraceCheckUtils]: 216: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,897 INFO L273 TraceCheckUtils]: 217: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,897 INFO L273 TraceCheckUtils]: 218: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,897 INFO L273 TraceCheckUtils]: 219: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,897 INFO L273 TraceCheckUtils]: 220: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,897 INFO L273 TraceCheckUtils]: 221: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,897 INFO L273 TraceCheckUtils]: 222: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,898 INFO L273 TraceCheckUtils]: 223: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,898 INFO L273 TraceCheckUtils]: 224: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,898 INFO L273 TraceCheckUtils]: 225: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,898 INFO L273 TraceCheckUtils]: 226: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,898 INFO L273 TraceCheckUtils]: 227: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,899 INFO L273 TraceCheckUtils]: 228: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,899 INFO L273 TraceCheckUtils]: 229: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,899 INFO L273 TraceCheckUtils]: 230: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,899 INFO L273 TraceCheckUtils]: 231: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,899 INFO L273 TraceCheckUtils]: 232: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,899 INFO L273 TraceCheckUtils]: 233: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,900 INFO L273 TraceCheckUtils]: 234: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,900 INFO L273 TraceCheckUtils]: 235: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,900 INFO L273 TraceCheckUtils]: 236: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,900 INFO L273 TraceCheckUtils]: 237: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,900 INFO L273 TraceCheckUtils]: 238: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,900 INFO L273 TraceCheckUtils]: 239: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,901 INFO L273 TraceCheckUtils]: 240: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,901 INFO L273 TraceCheckUtils]: 241: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,901 INFO L273 TraceCheckUtils]: 242: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,901 INFO L273 TraceCheckUtils]: 243: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,901 INFO L273 TraceCheckUtils]: 244: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,901 INFO L273 TraceCheckUtils]: 245: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,901 INFO L273 TraceCheckUtils]: 246: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,901 INFO L273 TraceCheckUtils]: 247: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,901 INFO L273 TraceCheckUtils]: 248: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,902 INFO L273 TraceCheckUtils]: 249: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,902 INFO L273 TraceCheckUtils]: 250: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,902 INFO L273 TraceCheckUtils]: 251: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,902 INFO L273 TraceCheckUtils]: 252: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,902 INFO L273 TraceCheckUtils]: 253: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,902 INFO L273 TraceCheckUtils]: 254: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,902 INFO L273 TraceCheckUtils]: 255: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,902 INFO L273 TraceCheckUtils]: 256: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,902 INFO L273 TraceCheckUtils]: 257: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,902 INFO L273 TraceCheckUtils]: 258: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,903 INFO L273 TraceCheckUtils]: 259: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,903 INFO L273 TraceCheckUtils]: 260: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,903 INFO L273 TraceCheckUtils]: 261: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,903 INFO L273 TraceCheckUtils]: 262: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,903 INFO L273 TraceCheckUtils]: 263: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,903 INFO L273 TraceCheckUtils]: 264: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,903 INFO L273 TraceCheckUtils]: 265: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,903 INFO L273 TraceCheckUtils]: 266: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,903 INFO L273 TraceCheckUtils]: 267: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,903 INFO L273 TraceCheckUtils]: 268: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,904 INFO L273 TraceCheckUtils]: 269: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,904 INFO L273 TraceCheckUtils]: 270: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:27,904 INFO L273 TraceCheckUtils]: 271: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:27,904 INFO L273 TraceCheckUtils]: 272: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:27,904 INFO L273 TraceCheckUtils]: 273: Hoare triple {37568#true} assume !(~i~0 < 20); {37568#true} is VALID [2018-11-23 12:18:27,904 INFO L273 TraceCheckUtils]: 274: Hoare triple {37568#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {37568#true} is VALID [2018-11-23 12:18:27,904 INFO L273 TraceCheckUtils]: 275: Hoare triple {37568#true} assume true; {37568#true} is VALID [2018-11-23 12:18:27,904 INFO L268 TraceCheckUtils]: 276: Hoare quadruple {37568#true} {37569#false} #79#return; {37569#false} is VALID [2018-11-23 12:18:27,904 INFO L273 TraceCheckUtils]: 277: Hoare triple {37569#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {37569#false} is VALID [2018-11-23 12:18:27,905 INFO L273 TraceCheckUtils]: 278: Hoare triple {37569#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {37569#false} is VALID [2018-11-23 12:18:27,905 INFO L273 TraceCheckUtils]: 279: Hoare triple {37569#false} assume !false; {37569#false} is VALID [2018-11-23 12:18:27,932 INFO L134 CoverageAnalysis]: Checked inductivity of 6101 backedges. 0 proven. 196 refuted. 0 times theorem prover too weak. 5905 trivial. 0 not checked. [2018-11-23 12:18:27,932 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:27,932 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 40 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 40 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:18:27,941 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:18:28,111 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:18:28,111 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:28,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:28,164 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:29,162 INFO L256 TraceCheckUtils]: 0: Hoare triple {37568#true} call ULTIMATE.init(); {37568#true} is VALID [2018-11-23 12:18:29,162 INFO L273 TraceCheckUtils]: 1: Hoare triple {37568#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {37568#true} is VALID [2018-11-23 12:18:29,162 INFO L273 TraceCheckUtils]: 2: Hoare triple {37568#true} assume true; {37568#true} is VALID [2018-11-23 12:18:29,162 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {37568#true} {37568#true} #71#return; {37568#true} is VALID [2018-11-23 12:18:29,163 INFO L256 TraceCheckUtils]: 4: Hoare triple {37568#true} call #t~ret14 := main(); {37568#true} is VALID [2018-11-23 12:18:29,163 INFO L273 TraceCheckUtils]: 5: Hoare triple {37568#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {37568#true} is VALID [2018-11-23 12:18:29,163 INFO L273 TraceCheckUtils]: 6: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,163 INFO L273 TraceCheckUtils]: 7: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,163 INFO L273 TraceCheckUtils]: 8: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,164 INFO L273 TraceCheckUtils]: 9: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,164 INFO L273 TraceCheckUtils]: 10: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,164 INFO L273 TraceCheckUtils]: 11: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,164 INFO L273 TraceCheckUtils]: 12: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,164 INFO L273 TraceCheckUtils]: 13: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,164 INFO L273 TraceCheckUtils]: 14: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,165 INFO L273 TraceCheckUtils]: 15: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,165 INFO L273 TraceCheckUtils]: 16: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,165 INFO L273 TraceCheckUtils]: 17: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,165 INFO L273 TraceCheckUtils]: 18: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,165 INFO L273 TraceCheckUtils]: 19: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,165 INFO L273 TraceCheckUtils]: 20: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,165 INFO L273 TraceCheckUtils]: 21: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,165 INFO L273 TraceCheckUtils]: 22: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,166 INFO L273 TraceCheckUtils]: 23: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,166 INFO L273 TraceCheckUtils]: 24: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,166 INFO L273 TraceCheckUtils]: 25: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,166 INFO L273 TraceCheckUtils]: 26: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,166 INFO L273 TraceCheckUtils]: 27: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,166 INFO L273 TraceCheckUtils]: 28: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,166 INFO L273 TraceCheckUtils]: 29: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,166 INFO L273 TraceCheckUtils]: 30: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,166 INFO L273 TraceCheckUtils]: 31: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,166 INFO L273 TraceCheckUtils]: 32: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,167 INFO L273 TraceCheckUtils]: 33: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,167 INFO L273 TraceCheckUtils]: 34: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,167 INFO L273 TraceCheckUtils]: 35: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,167 INFO L273 TraceCheckUtils]: 36: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,167 INFO L273 TraceCheckUtils]: 37: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,167 INFO L273 TraceCheckUtils]: 38: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,167 INFO L273 TraceCheckUtils]: 39: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,167 INFO L273 TraceCheckUtils]: 40: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,167 INFO L273 TraceCheckUtils]: 41: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,167 INFO L273 TraceCheckUtils]: 42: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,168 INFO L273 TraceCheckUtils]: 43: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,168 INFO L273 TraceCheckUtils]: 44: Hoare triple {37568#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37568#true} is VALID [2018-11-23 12:18:29,168 INFO L273 TraceCheckUtils]: 45: Hoare triple {37568#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37568#true} is VALID [2018-11-23 12:18:29,168 INFO L273 TraceCheckUtils]: 46: Hoare triple {37568#true} assume !(~i~1 < 20); {37568#true} is VALID [2018-11-23 12:18:29,168 INFO L256 TraceCheckUtils]: 47: Hoare triple {37568#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {37568#true} is VALID [2018-11-23 12:18:29,168 INFO L273 TraceCheckUtils]: 48: Hoare triple {37568#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {37568#true} is VALID [2018-11-23 12:18:29,168 INFO L273 TraceCheckUtils]: 49: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,168 INFO L273 TraceCheckUtils]: 50: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,168 INFO L273 TraceCheckUtils]: 51: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,168 INFO L273 TraceCheckUtils]: 52: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,169 INFO L273 TraceCheckUtils]: 53: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,169 INFO L273 TraceCheckUtils]: 54: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,169 INFO L273 TraceCheckUtils]: 55: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,169 INFO L273 TraceCheckUtils]: 56: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,169 INFO L273 TraceCheckUtils]: 57: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,169 INFO L273 TraceCheckUtils]: 58: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,169 INFO L273 TraceCheckUtils]: 59: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,169 INFO L273 TraceCheckUtils]: 60: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,169 INFO L273 TraceCheckUtils]: 61: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,169 INFO L273 TraceCheckUtils]: 62: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,170 INFO L273 TraceCheckUtils]: 63: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,170 INFO L273 TraceCheckUtils]: 64: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,170 INFO L273 TraceCheckUtils]: 65: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,170 INFO L273 TraceCheckUtils]: 66: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,170 INFO L273 TraceCheckUtils]: 67: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,170 INFO L273 TraceCheckUtils]: 68: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,170 INFO L273 TraceCheckUtils]: 69: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,170 INFO L273 TraceCheckUtils]: 70: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,170 INFO L273 TraceCheckUtils]: 71: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,170 INFO L273 TraceCheckUtils]: 72: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,171 INFO L273 TraceCheckUtils]: 73: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,171 INFO L273 TraceCheckUtils]: 74: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,171 INFO L273 TraceCheckUtils]: 75: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,171 INFO L273 TraceCheckUtils]: 76: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,171 INFO L273 TraceCheckUtils]: 77: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,171 INFO L273 TraceCheckUtils]: 78: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,171 INFO L273 TraceCheckUtils]: 79: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,171 INFO L273 TraceCheckUtils]: 80: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,171 INFO L273 TraceCheckUtils]: 81: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,172 INFO L273 TraceCheckUtils]: 82: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,172 INFO L273 TraceCheckUtils]: 83: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,172 INFO L273 TraceCheckUtils]: 84: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,172 INFO L273 TraceCheckUtils]: 85: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,172 INFO L273 TraceCheckUtils]: 86: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,172 INFO L273 TraceCheckUtils]: 87: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,172 INFO L273 TraceCheckUtils]: 88: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,172 INFO L273 TraceCheckUtils]: 89: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,172 INFO L273 TraceCheckUtils]: 90: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,172 INFO L273 TraceCheckUtils]: 91: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,173 INFO L273 TraceCheckUtils]: 92: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,173 INFO L273 TraceCheckUtils]: 93: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,173 INFO L273 TraceCheckUtils]: 94: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,173 INFO L273 TraceCheckUtils]: 95: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,173 INFO L273 TraceCheckUtils]: 96: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,173 INFO L273 TraceCheckUtils]: 97: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,173 INFO L273 TraceCheckUtils]: 98: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,173 INFO L273 TraceCheckUtils]: 99: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,173 INFO L273 TraceCheckUtils]: 100: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,173 INFO L273 TraceCheckUtils]: 101: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,174 INFO L273 TraceCheckUtils]: 102: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,174 INFO L273 TraceCheckUtils]: 103: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,174 INFO L273 TraceCheckUtils]: 104: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,174 INFO L273 TraceCheckUtils]: 105: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,174 INFO L273 TraceCheckUtils]: 106: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,174 INFO L273 TraceCheckUtils]: 107: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,174 INFO L273 TraceCheckUtils]: 108: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,174 INFO L273 TraceCheckUtils]: 109: Hoare triple {37568#true} assume !(~i~0 < 20); {37568#true} is VALID [2018-11-23 12:18:29,174 INFO L273 TraceCheckUtils]: 110: Hoare triple {37568#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {37568#true} is VALID [2018-11-23 12:18:29,174 INFO L273 TraceCheckUtils]: 111: Hoare triple {37568#true} assume true; {37568#true} is VALID [2018-11-23 12:18:29,175 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {37568#true} {37568#true} #75#return; {37568#true} is VALID [2018-11-23 12:18:29,175 INFO L273 TraceCheckUtils]: 113: Hoare triple {37568#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {37568#true} is VALID [2018-11-23 12:18:29,175 INFO L256 TraceCheckUtils]: 114: Hoare triple {37568#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {37568#true} is VALID [2018-11-23 12:18:29,175 INFO L273 TraceCheckUtils]: 115: Hoare triple {37568#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {37568#true} is VALID [2018-11-23 12:18:29,175 INFO L273 TraceCheckUtils]: 116: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,175 INFO L273 TraceCheckUtils]: 117: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,175 INFO L273 TraceCheckUtils]: 118: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,175 INFO L273 TraceCheckUtils]: 119: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,175 INFO L273 TraceCheckUtils]: 120: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,176 INFO L273 TraceCheckUtils]: 121: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,176 INFO L273 TraceCheckUtils]: 122: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,176 INFO L273 TraceCheckUtils]: 123: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,176 INFO L273 TraceCheckUtils]: 124: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,176 INFO L273 TraceCheckUtils]: 125: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,176 INFO L273 TraceCheckUtils]: 126: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,176 INFO L273 TraceCheckUtils]: 127: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,176 INFO L273 TraceCheckUtils]: 128: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,176 INFO L273 TraceCheckUtils]: 129: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,176 INFO L273 TraceCheckUtils]: 130: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,177 INFO L273 TraceCheckUtils]: 131: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,177 INFO L273 TraceCheckUtils]: 132: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,177 INFO L273 TraceCheckUtils]: 133: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,177 INFO L273 TraceCheckUtils]: 134: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,177 INFO L273 TraceCheckUtils]: 135: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,177 INFO L273 TraceCheckUtils]: 136: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,177 INFO L273 TraceCheckUtils]: 137: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,177 INFO L273 TraceCheckUtils]: 138: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,177 INFO L273 TraceCheckUtils]: 139: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,177 INFO L273 TraceCheckUtils]: 140: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,178 INFO L273 TraceCheckUtils]: 141: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,178 INFO L273 TraceCheckUtils]: 142: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,178 INFO L273 TraceCheckUtils]: 143: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,178 INFO L273 TraceCheckUtils]: 144: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,178 INFO L273 TraceCheckUtils]: 145: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,178 INFO L273 TraceCheckUtils]: 146: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,178 INFO L273 TraceCheckUtils]: 147: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,178 INFO L273 TraceCheckUtils]: 148: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,178 INFO L273 TraceCheckUtils]: 149: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,178 INFO L273 TraceCheckUtils]: 150: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,179 INFO L273 TraceCheckUtils]: 151: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,179 INFO L273 TraceCheckUtils]: 152: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,179 INFO L273 TraceCheckUtils]: 153: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,179 INFO L273 TraceCheckUtils]: 154: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,179 INFO L273 TraceCheckUtils]: 155: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,179 INFO L273 TraceCheckUtils]: 156: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,179 INFO L273 TraceCheckUtils]: 157: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,179 INFO L273 TraceCheckUtils]: 158: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,179 INFO L273 TraceCheckUtils]: 159: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,179 INFO L273 TraceCheckUtils]: 160: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,180 INFO L273 TraceCheckUtils]: 161: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,180 INFO L273 TraceCheckUtils]: 162: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,180 INFO L273 TraceCheckUtils]: 163: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,180 INFO L273 TraceCheckUtils]: 164: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,180 INFO L273 TraceCheckUtils]: 165: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,180 INFO L273 TraceCheckUtils]: 166: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,180 INFO L273 TraceCheckUtils]: 167: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,180 INFO L273 TraceCheckUtils]: 168: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,180 INFO L273 TraceCheckUtils]: 169: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,180 INFO L273 TraceCheckUtils]: 170: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,181 INFO L273 TraceCheckUtils]: 171: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,181 INFO L273 TraceCheckUtils]: 172: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,181 INFO L273 TraceCheckUtils]: 173: Hoare triple {37568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37568#true} is VALID [2018-11-23 12:18:29,181 INFO L273 TraceCheckUtils]: 174: Hoare triple {37568#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37568#true} is VALID [2018-11-23 12:18:29,181 INFO L273 TraceCheckUtils]: 175: Hoare triple {37568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37568#true} is VALID [2018-11-23 12:18:29,181 INFO L273 TraceCheckUtils]: 176: Hoare triple {37568#true} assume !(~i~0 < 20); {37568#true} is VALID [2018-11-23 12:18:29,181 INFO L273 TraceCheckUtils]: 177: Hoare triple {37568#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {37568#true} is VALID [2018-11-23 12:18:29,181 INFO L273 TraceCheckUtils]: 178: Hoare triple {37568#true} assume true; {37568#true} is VALID [2018-11-23 12:18:29,181 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {37568#true} {37568#true} #77#return; {37568#true} is VALID [2018-11-23 12:18:29,182 INFO L273 TraceCheckUtils]: 180: Hoare triple {37568#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {38128#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:29,182 INFO L273 TraceCheckUtils]: 181: Hoare triple {38128#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {38128#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:29,183 INFO L273 TraceCheckUtils]: 182: Hoare triple {38128#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37571#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:29,183 INFO L273 TraceCheckUtils]: 183: Hoare triple {37571#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37571#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:29,183 INFO L273 TraceCheckUtils]: 184: Hoare triple {37571#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37572#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:29,184 INFO L273 TraceCheckUtils]: 185: Hoare triple {37572#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37572#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:29,184 INFO L273 TraceCheckUtils]: 186: Hoare triple {37572#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37573#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:29,184 INFO L273 TraceCheckUtils]: 187: Hoare triple {37573#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37573#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:29,185 INFO L273 TraceCheckUtils]: 188: Hoare triple {37573#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37574#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:29,185 INFO L273 TraceCheckUtils]: 189: Hoare triple {37574#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37574#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:29,186 INFO L273 TraceCheckUtils]: 190: Hoare triple {37574#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37575#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:29,186 INFO L273 TraceCheckUtils]: 191: Hoare triple {37575#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37575#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:29,187 INFO L273 TraceCheckUtils]: 192: Hoare triple {37575#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37576#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:29,187 INFO L273 TraceCheckUtils]: 193: Hoare triple {37576#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37576#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:29,188 INFO L273 TraceCheckUtils]: 194: Hoare triple {37576#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37577#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:29,188 INFO L273 TraceCheckUtils]: 195: Hoare triple {37577#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37577#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:29,189 INFO L273 TraceCheckUtils]: 196: Hoare triple {37577#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37578#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:29,189 INFO L273 TraceCheckUtils]: 197: Hoare triple {37578#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37578#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:29,190 INFO L273 TraceCheckUtils]: 198: Hoare triple {37578#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37579#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:29,191 INFO L273 TraceCheckUtils]: 199: Hoare triple {37579#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37579#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:29,191 INFO L273 TraceCheckUtils]: 200: Hoare triple {37579#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37580#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:29,192 INFO L273 TraceCheckUtils]: 201: Hoare triple {37580#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37580#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:29,193 INFO L273 TraceCheckUtils]: 202: Hoare triple {37580#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37581#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:29,193 INFO L273 TraceCheckUtils]: 203: Hoare triple {37581#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37581#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:29,194 INFO L273 TraceCheckUtils]: 204: Hoare triple {37581#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37582#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:29,194 INFO L273 TraceCheckUtils]: 205: Hoare triple {37582#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37582#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:29,195 INFO L273 TraceCheckUtils]: 206: Hoare triple {37582#(<= main_~i~2 12)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37583#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:29,196 INFO L273 TraceCheckUtils]: 207: Hoare triple {37583#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37583#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:29,196 INFO L273 TraceCheckUtils]: 208: Hoare triple {37583#(<= main_~i~2 13)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37584#(<= main_~i~2 14)} is VALID [2018-11-23 12:18:29,197 INFO L273 TraceCheckUtils]: 209: Hoare triple {37584#(<= main_~i~2 14)} assume !(~i~2 < 19); {37569#false} is VALID [2018-11-23 12:18:29,197 INFO L273 TraceCheckUtils]: 210: Hoare triple {37569#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {37569#false} is VALID [2018-11-23 12:18:29,197 INFO L256 TraceCheckUtils]: 211: Hoare triple {37569#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {37569#false} is VALID [2018-11-23 12:18:29,198 INFO L273 TraceCheckUtils]: 212: Hoare triple {37569#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {37569#false} is VALID [2018-11-23 12:18:29,198 INFO L273 TraceCheckUtils]: 213: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,198 INFO L273 TraceCheckUtils]: 214: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,198 INFO L273 TraceCheckUtils]: 215: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,198 INFO L273 TraceCheckUtils]: 216: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,198 INFO L273 TraceCheckUtils]: 217: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,199 INFO L273 TraceCheckUtils]: 218: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,199 INFO L273 TraceCheckUtils]: 219: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,199 INFO L273 TraceCheckUtils]: 220: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,199 INFO L273 TraceCheckUtils]: 221: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,199 INFO L273 TraceCheckUtils]: 222: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,200 INFO L273 TraceCheckUtils]: 223: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,200 INFO L273 TraceCheckUtils]: 224: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,200 INFO L273 TraceCheckUtils]: 225: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,200 INFO L273 TraceCheckUtils]: 226: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,200 INFO L273 TraceCheckUtils]: 227: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,200 INFO L273 TraceCheckUtils]: 228: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,200 INFO L273 TraceCheckUtils]: 229: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,200 INFO L273 TraceCheckUtils]: 230: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,201 INFO L273 TraceCheckUtils]: 231: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,201 INFO L273 TraceCheckUtils]: 232: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,201 INFO L273 TraceCheckUtils]: 233: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,201 INFO L273 TraceCheckUtils]: 234: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,201 INFO L273 TraceCheckUtils]: 235: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,201 INFO L273 TraceCheckUtils]: 236: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,201 INFO L273 TraceCheckUtils]: 237: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,201 INFO L273 TraceCheckUtils]: 238: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,201 INFO L273 TraceCheckUtils]: 239: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,201 INFO L273 TraceCheckUtils]: 240: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,202 INFO L273 TraceCheckUtils]: 241: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,202 INFO L273 TraceCheckUtils]: 242: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,202 INFO L273 TraceCheckUtils]: 243: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,202 INFO L273 TraceCheckUtils]: 244: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,202 INFO L273 TraceCheckUtils]: 245: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,202 INFO L273 TraceCheckUtils]: 246: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,202 INFO L273 TraceCheckUtils]: 247: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,202 INFO L273 TraceCheckUtils]: 248: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,202 INFO L273 TraceCheckUtils]: 249: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,202 INFO L273 TraceCheckUtils]: 250: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,203 INFO L273 TraceCheckUtils]: 251: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,203 INFO L273 TraceCheckUtils]: 252: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,203 INFO L273 TraceCheckUtils]: 253: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,203 INFO L273 TraceCheckUtils]: 254: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,203 INFO L273 TraceCheckUtils]: 255: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,203 INFO L273 TraceCheckUtils]: 256: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,203 INFO L273 TraceCheckUtils]: 257: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,203 INFO L273 TraceCheckUtils]: 258: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,203 INFO L273 TraceCheckUtils]: 259: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,203 INFO L273 TraceCheckUtils]: 260: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,204 INFO L273 TraceCheckUtils]: 261: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,204 INFO L273 TraceCheckUtils]: 262: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,204 INFO L273 TraceCheckUtils]: 263: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,204 INFO L273 TraceCheckUtils]: 264: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,204 INFO L273 TraceCheckUtils]: 265: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,204 INFO L273 TraceCheckUtils]: 266: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,204 INFO L273 TraceCheckUtils]: 267: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,204 INFO L273 TraceCheckUtils]: 268: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,204 INFO L273 TraceCheckUtils]: 269: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,204 INFO L273 TraceCheckUtils]: 270: Hoare triple {37569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37569#false} is VALID [2018-11-23 12:18:29,205 INFO L273 TraceCheckUtils]: 271: Hoare triple {37569#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37569#false} is VALID [2018-11-23 12:18:29,205 INFO L273 TraceCheckUtils]: 272: Hoare triple {37569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37569#false} is VALID [2018-11-23 12:18:29,205 INFO L273 TraceCheckUtils]: 273: Hoare triple {37569#false} assume !(~i~0 < 20); {37569#false} is VALID [2018-11-23 12:18:29,205 INFO L273 TraceCheckUtils]: 274: Hoare triple {37569#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {37569#false} is VALID [2018-11-23 12:18:29,205 INFO L273 TraceCheckUtils]: 275: Hoare triple {37569#false} assume true; {37569#false} is VALID [2018-11-23 12:18:29,205 INFO L268 TraceCheckUtils]: 276: Hoare quadruple {37569#false} {37569#false} #79#return; {37569#false} is VALID [2018-11-23 12:18:29,205 INFO L273 TraceCheckUtils]: 277: Hoare triple {37569#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {37569#false} is VALID [2018-11-23 12:18:29,205 INFO L273 TraceCheckUtils]: 278: Hoare triple {37569#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {37569#false} is VALID [2018-11-23 12:18:29,205 INFO L273 TraceCheckUtils]: 279: Hoare triple {37569#false} assume !false; {37569#false} is VALID [2018-11-23 12:18:29,234 INFO L134 CoverageAnalysis]: Checked inductivity of 6101 backedges. 2490 proven. 196 refuted. 0 times theorem prover too weak. 3415 trivial. 0 not checked. [2018-11-23 12:18:29,253 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:29,253 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 18 [2018-11-23 12:18:29,254 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 280 [2018-11-23 12:18:29,254 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:29,254 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:18:29,322 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:29,323 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:18:29,323 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:18:29,323 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:18:29,323 INFO L87 Difference]: Start difference. First operand 151 states and 175 transitions. Second operand 18 states. [2018-11-23 12:18:29,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:29,787 INFO L93 Difference]: Finished difference Result 225 states and 270 transitions. [2018-11-23 12:18:29,787 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:18:29,787 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 280 [2018-11-23 12:18:29,787 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:29,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:18:29,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 77 transitions. [2018-11-23 12:18:29,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:18:29,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 77 transitions. [2018-11-23 12:18:29,789 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 77 transitions. [2018-11-23 12:18:29,861 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:29,865 INFO L225 Difference]: With dead ends: 225 [2018-11-23 12:18:29,865 INFO L226 Difference]: Without dead ends: 154 [2018-11-23 12:18:29,865 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 296 GetRequests, 280 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:18:29,866 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 154 states. [2018-11-23 12:18:30,033 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 154 to 153. [2018-11-23 12:18:30,033 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:30,033 INFO L82 GeneralOperation]: Start isEquivalent. First operand 154 states. Second operand 153 states. [2018-11-23 12:18:30,034 INFO L74 IsIncluded]: Start isIncluded. First operand 154 states. Second operand 153 states. [2018-11-23 12:18:30,034 INFO L87 Difference]: Start difference. First operand 154 states. Second operand 153 states. [2018-11-23 12:18:30,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:30,037 INFO L93 Difference]: Finished difference Result 154 states and 178 transitions. [2018-11-23 12:18:30,037 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 178 transitions. [2018-11-23 12:18:30,037 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:30,037 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:30,037 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand 154 states. [2018-11-23 12:18:30,037 INFO L87 Difference]: Start difference. First operand 153 states. Second operand 154 states. [2018-11-23 12:18:30,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:30,039 INFO L93 Difference]: Finished difference Result 154 states and 178 transitions. [2018-11-23 12:18:30,039 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 178 transitions. [2018-11-23 12:18:30,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:30,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:30,040 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:30,040 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:30,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 153 states. [2018-11-23 12:18:30,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 177 transitions. [2018-11-23 12:18:30,042 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 177 transitions. Word has length 280 [2018-11-23 12:18:30,042 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:30,042 INFO L480 AbstractCegarLoop]: Abstraction has 153 states and 177 transitions. [2018-11-23 12:18:30,042 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:18:30,042 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 177 transitions. [2018-11-23 12:18:30,044 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 283 [2018-11-23 12:18:30,044 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:30,044 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 60, 20, 20, 15, 15, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:18:30,044 INFO L423 AbstractCegarLoop]: === Iteration 43 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:30,045 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:30,045 INFO L82 PathProgramCache]: Analyzing trace with hash -1900160384, now seen corresponding path program 39 times [2018-11-23 12:18:30,045 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:30,045 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:30,046 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:30,046 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:30,046 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:30,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:30,470 INFO L256 TraceCheckUtils]: 0: Hoare triple {39266#true} call ULTIMATE.init(); {39266#true} is VALID [2018-11-23 12:18:30,471 INFO L273 TraceCheckUtils]: 1: Hoare triple {39266#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {39266#true} is VALID [2018-11-23 12:18:30,471 INFO L273 TraceCheckUtils]: 2: Hoare triple {39266#true} assume true; {39266#true} is VALID [2018-11-23 12:18:30,471 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {39266#true} {39266#true} #71#return; {39266#true} is VALID [2018-11-23 12:18:30,471 INFO L256 TraceCheckUtils]: 4: Hoare triple {39266#true} call #t~ret14 := main(); {39266#true} is VALID [2018-11-23 12:18:30,471 INFO L273 TraceCheckUtils]: 5: Hoare triple {39266#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {39266#true} is VALID [2018-11-23 12:18:30,471 INFO L273 TraceCheckUtils]: 6: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,471 INFO L273 TraceCheckUtils]: 7: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,471 INFO L273 TraceCheckUtils]: 8: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,471 INFO L273 TraceCheckUtils]: 9: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,472 INFO L273 TraceCheckUtils]: 10: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,472 INFO L273 TraceCheckUtils]: 11: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,472 INFO L273 TraceCheckUtils]: 12: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,472 INFO L273 TraceCheckUtils]: 13: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,472 INFO L273 TraceCheckUtils]: 14: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,472 INFO L273 TraceCheckUtils]: 15: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,473 INFO L273 TraceCheckUtils]: 16: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,473 INFO L273 TraceCheckUtils]: 17: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,473 INFO L273 TraceCheckUtils]: 18: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,473 INFO L273 TraceCheckUtils]: 19: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,473 INFO L273 TraceCheckUtils]: 20: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,473 INFO L273 TraceCheckUtils]: 21: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,473 INFO L273 TraceCheckUtils]: 22: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,473 INFO L273 TraceCheckUtils]: 23: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,473 INFO L273 TraceCheckUtils]: 24: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,473 INFO L273 TraceCheckUtils]: 25: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,474 INFO L273 TraceCheckUtils]: 26: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,474 INFO L273 TraceCheckUtils]: 27: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,474 INFO L273 TraceCheckUtils]: 28: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,474 INFO L273 TraceCheckUtils]: 29: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,474 INFO L273 TraceCheckUtils]: 30: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,474 INFO L273 TraceCheckUtils]: 31: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,474 INFO L273 TraceCheckUtils]: 32: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,474 INFO L273 TraceCheckUtils]: 33: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,474 INFO L273 TraceCheckUtils]: 34: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,474 INFO L273 TraceCheckUtils]: 35: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,475 INFO L273 TraceCheckUtils]: 36: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,475 INFO L273 TraceCheckUtils]: 37: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,475 INFO L273 TraceCheckUtils]: 38: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,475 INFO L273 TraceCheckUtils]: 39: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,475 INFO L273 TraceCheckUtils]: 40: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,475 INFO L273 TraceCheckUtils]: 41: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,475 INFO L273 TraceCheckUtils]: 42: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,475 INFO L273 TraceCheckUtils]: 43: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,475 INFO L273 TraceCheckUtils]: 44: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:30,476 INFO L273 TraceCheckUtils]: 45: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:30,476 INFO L273 TraceCheckUtils]: 46: Hoare triple {39266#true} assume !(~i~1 < 20); {39266#true} is VALID [2018-11-23 12:18:30,476 INFO L256 TraceCheckUtils]: 47: Hoare triple {39266#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {39266#true} is VALID [2018-11-23 12:18:30,476 INFO L273 TraceCheckUtils]: 48: Hoare triple {39266#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {39266#true} is VALID [2018-11-23 12:18:30,476 INFO L273 TraceCheckUtils]: 49: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,476 INFO L273 TraceCheckUtils]: 50: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,476 INFO L273 TraceCheckUtils]: 51: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,476 INFO L273 TraceCheckUtils]: 52: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,476 INFO L273 TraceCheckUtils]: 53: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,476 INFO L273 TraceCheckUtils]: 54: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,477 INFO L273 TraceCheckUtils]: 55: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,477 INFO L273 TraceCheckUtils]: 56: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,477 INFO L273 TraceCheckUtils]: 57: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,477 INFO L273 TraceCheckUtils]: 58: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,477 INFO L273 TraceCheckUtils]: 59: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,477 INFO L273 TraceCheckUtils]: 60: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,477 INFO L273 TraceCheckUtils]: 61: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,477 INFO L273 TraceCheckUtils]: 62: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,477 INFO L273 TraceCheckUtils]: 63: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,477 INFO L273 TraceCheckUtils]: 64: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,478 INFO L273 TraceCheckUtils]: 65: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,478 INFO L273 TraceCheckUtils]: 66: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,478 INFO L273 TraceCheckUtils]: 67: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,478 INFO L273 TraceCheckUtils]: 68: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,478 INFO L273 TraceCheckUtils]: 69: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,478 INFO L273 TraceCheckUtils]: 70: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,478 INFO L273 TraceCheckUtils]: 71: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,478 INFO L273 TraceCheckUtils]: 72: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,478 INFO L273 TraceCheckUtils]: 73: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,478 INFO L273 TraceCheckUtils]: 74: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,479 INFO L273 TraceCheckUtils]: 75: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,479 INFO L273 TraceCheckUtils]: 76: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,479 INFO L273 TraceCheckUtils]: 77: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,479 INFO L273 TraceCheckUtils]: 78: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,479 INFO L273 TraceCheckUtils]: 79: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,479 INFO L273 TraceCheckUtils]: 80: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,479 INFO L273 TraceCheckUtils]: 81: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,479 INFO L273 TraceCheckUtils]: 82: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,479 INFO L273 TraceCheckUtils]: 83: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,480 INFO L273 TraceCheckUtils]: 84: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,480 INFO L273 TraceCheckUtils]: 85: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,480 INFO L273 TraceCheckUtils]: 86: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,480 INFO L273 TraceCheckUtils]: 87: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,480 INFO L273 TraceCheckUtils]: 88: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,480 INFO L273 TraceCheckUtils]: 89: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,480 INFO L273 TraceCheckUtils]: 90: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,480 INFO L273 TraceCheckUtils]: 91: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,480 INFO L273 TraceCheckUtils]: 92: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,480 INFO L273 TraceCheckUtils]: 93: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,481 INFO L273 TraceCheckUtils]: 94: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,481 INFO L273 TraceCheckUtils]: 95: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,481 INFO L273 TraceCheckUtils]: 96: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,481 INFO L273 TraceCheckUtils]: 97: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,481 INFO L273 TraceCheckUtils]: 98: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,481 INFO L273 TraceCheckUtils]: 99: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,481 INFO L273 TraceCheckUtils]: 100: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,481 INFO L273 TraceCheckUtils]: 101: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,481 INFO L273 TraceCheckUtils]: 102: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,481 INFO L273 TraceCheckUtils]: 103: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,482 INFO L273 TraceCheckUtils]: 104: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,482 INFO L273 TraceCheckUtils]: 105: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,482 INFO L273 TraceCheckUtils]: 106: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,482 INFO L273 TraceCheckUtils]: 107: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,482 INFO L273 TraceCheckUtils]: 108: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,482 INFO L273 TraceCheckUtils]: 109: Hoare triple {39266#true} assume !(~i~0 < 20); {39266#true} is VALID [2018-11-23 12:18:30,482 INFO L273 TraceCheckUtils]: 110: Hoare triple {39266#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39266#true} is VALID [2018-11-23 12:18:30,482 INFO L273 TraceCheckUtils]: 111: Hoare triple {39266#true} assume true; {39266#true} is VALID [2018-11-23 12:18:30,482 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {39266#true} {39266#true} #75#return; {39266#true} is VALID [2018-11-23 12:18:30,482 INFO L273 TraceCheckUtils]: 113: Hoare triple {39266#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {39266#true} is VALID [2018-11-23 12:18:30,483 INFO L256 TraceCheckUtils]: 114: Hoare triple {39266#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {39266#true} is VALID [2018-11-23 12:18:30,483 INFO L273 TraceCheckUtils]: 115: Hoare triple {39266#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {39266#true} is VALID [2018-11-23 12:18:30,483 INFO L273 TraceCheckUtils]: 116: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,483 INFO L273 TraceCheckUtils]: 117: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,483 INFO L273 TraceCheckUtils]: 118: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,483 INFO L273 TraceCheckUtils]: 119: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,483 INFO L273 TraceCheckUtils]: 120: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,483 INFO L273 TraceCheckUtils]: 121: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,483 INFO L273 TraceCheckUtils]: 122: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,484 INFO L273 TraceCheckUtils]: 123: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,484 INFO L273 TraceCheckUtils]: 124: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,484 INFO L273 TraceCheckUtils]: 125: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,484 INFO L273 TraceCheckUtils]: 126: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,484 INFO L273 TraceCheckUtils]: 127: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,484 INFO L273 TraceCheckUtils]: 128: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,484 INFO L273 TraceCheckUtils]: 129: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,484 INFO L273 TraceCheckUtils]: 130: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,484 INFO L273 TraceCheckUtils]: 131: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,484 INFO L273 TraceCheckUtils]: 132: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,485 INFO L273 TraceCheckUtils]: 133: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,485 INFO L273 TraceCheckUtils]: 134: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,485 INFO L273 TraceCheckUtils]: 135: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,485 INFO L273 TraceCheckUtils]: 136: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,485 INFO L273 TraceCheckUtils]: 137: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,485 INFO L273 TraceCheckUtils]: 138: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,485 INFO L273 TraceCheckUtils]: 139: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,485 INFO L273 TraceCheckUtils]: 140: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,485 INFO L273 TraceCheckUtils]: 141: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,485 INFO L273 TraceCheckUtils]: 142: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,486 INFO L273 TraceCheckUtils]: 143: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,486 INFO L273 TraceCheckUtils]: 144: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,486 INFO L273 TraceCheckUtils]: 145: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,486 INFO L273 TraceCheckUtils]: 146: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,486 INFO L273 TraceCheckUtils]: 147: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,486 INFO L273 TraceCheckUtils]: 148: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,486 INFO L273 TraceCheckUtils]: 149: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,486 INFO L273 TraceCheckUtils]: 150: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,486 INFO L273 TraceCheckUtils]: 151: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,486 INFO L273 TraceCheckUtils]: 152: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,487 INFO L273 TraceCheckUtils]: 153: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,487 INFO L273 TraceCheckUtils]: 154: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,487 INFO L273 TraceCheckUtils]: 155: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,487 INFO L273 TraceCheckUtils]: 156: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,487 INFO L273 TraceCheckUtils]: 157: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,487 INFO L273 TraceCheckUtils]: 158: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,487 INFO L273 TraceCheckUtils]: 159: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,487 INFO L273 TraceCheckUtils]: 160: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,487 INFO L273 TraceCheckUtils]: 161: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,487 INFO L273 TraceCheckUtils]: 162: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,488 INFO L273 TraceCheckUtils]: 163: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,488 INFO L273 TraceCheckUtils]: 164: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,488 INFO L273 TraceCheckUtils]: 165: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,488 INFO L273 TraceCheckUtils]: 166: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,488 INFO L273 TraceCheckUtils]: 167: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,488 INFO L273 TraceCheckUtils]: 168: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,488 INFO L273 TraceCheckUtils]: 169: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,488 INFO L273 TraceCheckUtils]: 170: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,488 INFO L273 TraceCheckUtils]: 171: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,489 INFO L273 TraceCheckUtils]: 172: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,489 INFO L273 TraceCheckUtils]: 173: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,489 INFO L273 TraceCheckUtils]: 174: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,489 INFO L273 TraceCheckUtils]: 175: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,489 INFO L273 TraceCheckUtils]: 176: Hoare triple {39266#true} assume !(~i~0 < 20); {39266#true} is VALID [2018-11-23 12:18:30,489 INFO L273 TraceCheckUtils]: 177: Hoare triple {39266#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39266#true} is VALID [2018-11-23 12:18:30,489 INFO L273 TraceCheckUtils]: 178: Hoare triple {39266#true} assume true; {39266#true} is VALID [2018-11-23 12:18:30,489 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {39266#true} {39266#true} #77#return; {39266#true} is VALID [2018-11-23 12:18:30,490 INFO L273 TraceCheckUtils]: 180: Hoare triple {39266#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {39268#(= main_~i~2 0)} is VALID [2018-11-23 12:18:30,490 INFO L273 TraceCheckUtils]: 181: Hoare triple {39268#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39268#(= main_~i~2 0)} is VALID [2018-11-23 12:18:30,490 INFO L273 TraceCheckUtils]: 182: Hoare triple {39268#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39269#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:30,491 INFO L273 TraceCheckUtils]: 183: Hoare triple {39269#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39269#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:30,491 INFO L273 TraceCheckUtils]: 184: Hoare triple {39269#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39270#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:30,491 INFO L273 TraceCheckUtils]: 185: Hoare triple {39270#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39270#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:30,492 INFO L273 TraceCheckUtils]: 186: Hoare triple {39270#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39271#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:30,492 INFO L273 TraceCheckUtils]: 187: Hoare triple {39271#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39271#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:30,493 INFO L273 TraceCheckUtils]: 188: Hoare triple {39271#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39272#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:30,493 INFO L273 TraceCheckUtils]: 189: Hoare triple {39272#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39272#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:30,493 INFO L273 TraceCheckUtils]: 190: Hoare triple {39272#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39273#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:30,494 INFO L273 TraceCheckUtils]: 191: Hoare triple {39273#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39273#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:30,494 INFO L273 TraceCheckUtils]: 192: Hoare triple {39273#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39274#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:30,495 INFO L273 TraceCheckUtils]: 193: Hoare triple {39274#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39274#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:30,496 INFO L273 TraceCheckUtils]: 194: Hoare triple {39274#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39275#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:30,496 INFO L273 TraceCheckUtils]: 195: Hoare triple {39275#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39275#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:30,497 INFO L273 TraceCheckUtils]: 196: Hoare triple {39275#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39276#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:30,497 INFO L273 TraceCheckUtils]: 197: Hoare triple {39276#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39276#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:30,498 INFO L273 TraceCheckUtils]: 198: Hoare triple {39276#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39277#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:30,499 INFO L273 TraceCheckUtils]: 199: Hoare triple {39277#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39277#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:30,499 INFO L273 TraceCheckUtils]: 200: Hoare triple {39277#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39278#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:30,500 INFO L273 TraceCheckUtils]: 201: Hoare triple {39278#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39278#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:30,500 INFO L273 TraceCheckUtils]: 202: Hoare triple {39278#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39279#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:30,501 INFO L273 TraceCheckUtils]: 203: Hoare triple {39279#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39279#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:30,502 INFO L273 TraceCheckUtils]: 204: Hoare triple {39279#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39280#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:30,502 INFO L273 TraceCheckUtils]: 205: Hoare triple {39280#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39280#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:30,503 INFO L273 TraceCheckUtils]: 206: Hoare triple {39280#(<= main_~i~2 12)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39281#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:30,503 INFO L273 TraceCheckUtils]: 207: Hoare triple {39281#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39281#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:30,504 INFO L273 TraceCheckUtils]: 208: Hoare triple {39281#(<= main_~i~2 13)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39282#(<= main_~i~2 14)} is VALID [2018-11-23 12:18:30,505 INFO L273 TraceCheckUtils]: 209: Hoare triple {39282#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39282#(<= main_~i~2 14)} is VALID [2018-11-23 12:18:30,505 INFO L273 TraceCheckUtils]: 210: Hoare triple {39282#(<= main_~i~2 14)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39283#(<= main_~i~2 15)} is VALID [2018-11-23 12:18:30,506 INFO L273 TraceCheckUtils]: 211: Hoare triple {39283#(<= main_~i~2 15)} assume !(~i~2 < 19); {39267#false} is VALID [2018-11-23 12:18:30,506 INFO L273 TraceCheckUtils]: 212: Hoare triple {39267#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {39267#false} is VALID [2018-11-23 12:18:30,506 INFO L256 TraceCheckUtils]: 213: Hoare triple {39267#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {39266#true} is VALID [2018-11-23 12:18:30,507 INFO L273 TraceCheckUtils]: 214: Hoare triple {39266#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {39266#true} is VALID [2018-11-23 12:18:30,507 INFO L273 TraceCheckUtils]: 215: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,507 INFO L273 TraceCheckUtils]: 216: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,507 INFO L273 TraceCheckUtils]: 217: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,507 INFO L273 TraceCheckUtils]: 218: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,508 INFO L273 TraceCheckUtils]: 219: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,508 INFO L273 TraceCheckUtils]: 220: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,508 INFO L273 TraceCheckUtils]: 221: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,508 INFO L273 TraceCheckUtils]: 222: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,508 INFO L273 TraceCheckUtils]: 223: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,508 INFO L273 TraceCheckUtils]: 224: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,509 INFO L273 TraceCheckUtils]: 225: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,509 INFO L273 TraceCheckUtils]: 226: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,509 INFO L273 TraceCheckUtils]: 227: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,509 INFO L273 TraceCheckUtils]: 228: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,509 INFO L273 TraceCheckUtils]: 229: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,509 INFO L273 TraceCheckUtils]: 230: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,510 INFO L273 TraceCheckUtils]: 231: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,510 INFO L273 TraceCheckUtils]: 232: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,510 INFO L273 TraceCheckUtils]: 233: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,510 INFO L273 TraceCheckUtils]: 234: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,510 INFO L273 TraceCheckUtils]: 235: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,510 INFO L273 TraceCheckUtils]: 236: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,510 INFO L273 TraceCheckUtils]: 237: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,510 INFO L273 TraceCheckUtils]: 238: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,510 INFO L273 TraceCheckUtils]: 239: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,510 INFO L273 TraceCheckUtils]: 240: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,511 INFO L273 TraceCheckUtils]: 241: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,511 INFO L273 TraceCheckUtils]: 242: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,511 INFO L273 TraceCheckUtils]: 243: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,511 INFO L273 TraceCheckUtils]: 244: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,511 INFO L273 TraceCheckUtils]: 245: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,511 INFO L273 TraceCheckUtils]: 246: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,511 INFO L273 TraceCheckUtils]: 247: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,511 INFO L273 TraceCheckUtils]: 248: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,511 INFO L273 TraceCheckUtils]: 249: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,511 INFO L273 TraceCheckUtils]: 250: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,512 INFO L273 TraceCheckUtils]: 251: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,512 INFO L273 TraceCheckUtils]: 252: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,512 INFO L273 TraceCheckUtils]: 253: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,512 INFO L273 TraceCheckUtils]: 254: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,512 INFO L273 TraceCheckUtils]: 255: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,512 INFO L273 TraceCheckUtils]: 256: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,512 INFO L273 TraceCheckUtils]: 257: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,512 INFO L273 TraceCheckUtils]: 258: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,512 INFO L273 TraceCheckUtils]: 259: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,513 INFO L273 TraceCheckUtils]: 260: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,513 INFO L273 TraceCheckUtils]: 261: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,513 INFO L273 TraceCheckUtils]: 262: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,513 INFO L273 TraceCheckUtils]: 263: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,513 INFO L273 TraceCheckUtils]: 264: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,513 INFO L273 TraceCheckUtils]: 265: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,513 INFO L273 TraceCheckUtils]: 266: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,513 INFO L273 TraceCheckUtils]: 267: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,513 INFO L273 TraceCheckUtils]: 268: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,513 INFO L273 TraceCheckUtils]: 269: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,514 INFO L273 TraceCheckUtils]: 270: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,514 INFO L273 TraceCheckUtils]: 271: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,514 INFO L273 TraceCheckUtils]: 272: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:30,514 INFO L273 TraceCheckUtils]: 273: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:30,514 INFO L273 TraceCheckUtils]: 274: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:30,514 INFO L273 TraceCheckUtils]: 275: Hoare triple {39266#true} assume !(~i~0 < 20); {39266#true} is VALID [2018-11-23 12:18:30,514 INFO L273 TraceCheckUtils]: 276: Hoare triple {39266#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39266#true} is VALID [2018-11-23 12:18:30,514 INFO L273 TraceCheckUtils]: 277: Hoare triple {39266#true} assume true; {39266#true} is VALID [2018-11-23 12:18:30,514 INFO L268 TraceCheckUtils]: 278: Hoare quadruple {39266#true} {39267#false} #79#return; {39267#false} is VALID [2018-11-23 12:18:30,514 INFO L273 TraceCheckUtils]: 279: Hoare triple {39267#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {39267#false} is VALID [2018-11-23 12:18:30,515 INFO L273 TraceCheckUtils]: 280: Hoare triple {39267#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {39267#false} is VALID [2018-11-23 12:18:30,515 INFO L273 TraceCheckUtils]: 281: Hoare triple {39267#false} assume !false; {39267#false} is VALID [2018-11-23 12:18:30,543 INFO L134 CoverageAnalysis]: Checked inductivity of 6130 backedges. 0 proven. 225 refuted. 0 times theorem prover too weak. 5905 trivial. 0 not checked. [2018-11-23 12:18:30,543 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:30,543 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 41 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 41 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:18:30,553 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:18:34,400 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 17 check-sat command(s) [2018-11-23 12:18:34,400 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:34,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:34,458 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:34,694 INFO L256 TraceCheckUtils]: 0: Hoare triple {39266#true} call ULTIMATE.init(); {39266#true} is VALID [2018-11-23 12:18:34,694 INFO L273 TraceCheckUtils]: 1: Hoare triple {39266#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {39266#true} is VALID [2018-11-23 12:18:34,694 INFO L273 TraceCheckUtils]: 2: Hoare triple {39266#true} assume true; {39266#true} is VALID [2018-11-23 12:18:34,695 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {39266#true} {39266#true} #71#return; {39266#true} is VALID [2018-11-23 12:18:34,695 INFO L256 TraceCheckUtils]: 4: Hoare triple {39266#true} call #t~ret14 := main(); {39266#true} is VALID [2018-11-23 12:18:34,695 INFO L273 TraceCheckUtils]: 5: Hoare triple {39266#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {39266#true} is VALID [2018-11-23 12:18:34,695 INFO L273 TraceCheckUtils]: 6: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,695 INFO L273 TraceCheckUtils]: 7: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,695 INFO L273 TraceCheckUtils]: 8: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,696 INFO L273 TraceCheckUtils]: 9: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,696 INFO L273 TraceCheckUtils]: 10: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,696 INFO L273 TraceCheckUtils]: 11: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,696 INFO L273 TraceCheckUtils]: 12: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,696 INFO L273 TraceCheckUtils]: 13: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,696 INFO L273 TraceCheckUtils]: 14: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,696 INFO L273 TraceCheckUtils]: 15: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,696 INFO L273 TraceCheckUtils]: 16: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,696 INFO L273 TraceCheckUtils]: 17: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,696 INFO L273 TraceCheckUtils]: 18: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,697 INFO L273 TraceCheckUtils]: 19: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,697 INFO L273 TraceCheckUtils]: 20: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,697 INFO L273 TraceCheckUtils]: 21: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,697 INFO L273 TraceCheckUtils]: 22: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,697 INFO L273 TraceCheckUtils]: 23: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,697 INFO L273 TraceCheckUtils]: 24: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,697 INFO L273 TraceCheckUtils]: 25: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,697 INFO L273 TraceCheckUtils]: 26: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,697 INFO L273 TraceCheckUtils]: 27: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,697 INFO L273 TraceCheckUtils]: 28: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,698 INFO L273 TraceCheckUtils]: 29: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,698 INFO L273 TraceCheckUtils]: 30: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,698 INFO L273 TraceCheckUtils]: 31: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,698 INFO L273 TraceCheckUtils]: 32: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,698 INFO L273 TraceCheckUtils]: 33: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,698 INFO L273 TraceCheckUtils]: 34: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,698 INFO L273 TraceCheckUtils]: 35: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,698 INFO L273 TraceCheckUtils]: 36: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,698 INFO L273 TraceCheckUtils]: 37: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,699 INFO L273 TraceCheckUtils]: 38: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,699 INFO L273 TraceCheckUtils]: 39: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,699 INFO L273 TraceCheckUtils]: 40: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,699 INFO L273 TraceCheckUtils]: 41: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,699 INFO L273 TraceCheckUtils]: 42: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,699 INFO L273 TraceCheckUtils]: 43: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,699 INFO L273 TraceCheckUtils]: 44: Hoare triple {39266#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39266#true} is VALID [2018-11-23 12:18:34,699 INFO L273 TraceCheckUtils]: 45: Hoare triple {39266#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39266#true} is VALID [2018-11-23 12:18:34,699 INFO L273 TraceCheckUtils]: 46: Hoare triple {39266#true} assume !(~i~1 < 20); {39266#true} is VALID [2018-11-23 12:18:34,699 INFO L256 TraceCheckUtils]: 47: Hoare triple {39266#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {39266#true} is VALID [2018-11-23 12:18:34,700 INFO L273 TraceCheckUtils]: 48: Hoare triple {39266#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {39266#true} is VALID [2018-11-23 12:18:34,700 INFO L273 TraceCheckUtils]: 49: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,700 INFO L273 TraceCheckUtils]: 50: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,700 INFO L273 TraceCheckUtils]: 51: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,700 INFO L273 TraceCheckUtils]: 52: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,700 INFO L273 TraceCheckUtils]: 53: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,700 INFO L273 TraceCheckUtils]: 54: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,700 INFO L273 TraceCheckUtils]: 55: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,700 INFO L273 TraceCheckUtils]: 56: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,701 INFO L273 TraceCheckUtils]: 57: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,701 INFO L273 TraceCheckUtils]: 58: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,701 INFO L273 TraceCheckUtils]: 59: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,701 INFO L273 TraceCheckUtils]: 60: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,701 INFO L273 TraceCheckUtils]: 61: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,701 INFO L273 TraceCheckUtils]: 62: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,701 INFO L273 TraceCheckUtils]: 63: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,701 INFO L273 TraceCheckUtils]: 64: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,701 INFO L273 TraceCheckUtils]: 65: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,701 INFO L273 TraceCheckUtils]: 66: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,702 INFO L273 TraceCheckUtils]: 67: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,702 INFO L273 TraceCheckUtils]: 68: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,702 INFO L273 TraceCheckUtils]: 69: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,702 INFO L273 TraceCheckUtils]: 70: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,702 INFO L273 TraceCheckUtils]: 71: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,702 INFO L273 TraceCheckUtils]: 72: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,702 INFO L273 TraceCheckUtils]: 73: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,702 INFO L273 TraceCheckUtils]: 74: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,702 INFO L273 TraceCheckUtils]: 75: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,702 INFO L273 TraceCheckUtils]: 76: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,703 INFO L273 TraceCheckUtils]: 77: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,703 INFO L273 TraceCheckUtils]: 78: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,703 INFO L273 TraceCheckUtils]: 79: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,703 INFO L273 TraceCheckUtils]: 80: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,703 INFO L273 TraceCheckUtils]: 81: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,703 INFO L273 TraceCheckUtils]: 82: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,703 INFO L273 TraceCheckUtils]: 83: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,703 INFO L273 TraceCheckUtils]: 84: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,703 INFO L273 TraceCheckUtils]: 85: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,703 INFO L273 TraceCheckUtils]: 86: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,704 INFO L273 TraceCheckUtils]: 87: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,704 INFO L273 TraceCheckUtils]: 88: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,704 INFO L273 TraceCheckUtils]: 89: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,704 INFO L273 TraceCheckUtils]: 90: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,704 INFO L273 TraceCheckUtils]: 91: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,704 INFO L273 TraceCheckUtils]: 92: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,704 INFO L273 TraceCheckUtils]: 93: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,704 INFO L273 TraceCheckUtils]: 94: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,704 INFO L273 TraceCheckUtils]: 95: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,704 INFO L273 TraceCheckUtils]: 96: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,705 INFO L273 TraceCheckUtils]: 97: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,705 INFO L273 TraceCheckUtils]: 98: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,705 INFO L273 TraceCheckUtils]: 99: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,705 INFO L273 TraceCheckUtils]: 100: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,705 INFO L273 TraceCheckUtils]: 101: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,705 INFO L273 TraceCheckUtils]: 102: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,705 INFO L273 TraceCheckUtils]: 103: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,705 INFO L273 TraceCheckUtils]: 104: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,705 INFO L273 TraceCheckUtils]: 105: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,705 INFO L273 TraceCheckUtils]: 106: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,706 INFO L273 TraceCheckUtils]: 107: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,706 INFO L273 TraceCheckUtils]: 108: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,706 INFO L273 TraceCheckUtils]: 109: Hoare triple {39266#true} assume !(~i~0 < 20); {39266#true} is VALID [2018-11-23 12:18:34,706 INFO L273 TraceCheckUtils]: 110: Hoare triple {39266#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39266#true} is VALID [2018-11-23 12:18:34,706 INFO L273 TraceCheckUtils]: 111: Hoare triple {39266#true} assume true; {39266#true} is VALID [2018-11-23 12:18:34,706 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {39266#true} {39266#true} #75#return; {39266#true} is VALID [2018-11-23 12:18:34,706 INFO L273 TraceCheckUtils]: 113: Hoare triple {39266#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {39266#true} is VALID [2018-11-23 12:18:34,706 INFO L256 TraceCheckUtils]: 114: Hoare triple {39266#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {39266#true} is VALID [2018-11-23 12:18:34,706 INFO L273 TraceCheckUtils]: 115: Hoare triple {39266#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {39266#true} is VALID [2018-11-23 12:18:34,707 INFO L273 TraceCheckUtils]: 116: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,707 INFO L273 TraceCheckUtils]: 117: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,707 INFO L273 TraceCheckUtils]: 118: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,707 INFO L273 TraceCheckUtils]: 119: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,707 INFO L273 TraceCheckUtils]: 120: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,707 INFO L273 TraceCheckUtils]: 121: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,707 INFO L273 TraceCheckUtils]: 122: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,707 INFO L273 TraceCheckUtils]: 123: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,707 INFO L273 TraceCheckUtils]: 124: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,707 INFO L273 TraceCheckUtils]: 125: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,708 INFO L273 TraceCheckUtils]: 126: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,708 INFO L273 TraceCheckUtils]: 127: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,708 INFO L273 TraceCheckUtils]: 128: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,708 INFO L273 TraceCheckUtils]: 129: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,708 INFO L273 TraceCheckUtils]: 130: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,708 INFO L273 TraceCheckUtils]: 131: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,708 INFO L273 TraceCheckUtils]: 132: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,708 INFO L273 TraceCheckUtils]: 133: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,708 INFO L273 TraceCheckUtils]: 134: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,708 INFO L273 TraceCheckUtils]: 135: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,709 INFO L273 TraceCheckUtils]: 136: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,709 INFO L273 TraceCheckUtils]: 137: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,709 INFO L273 TraceCheckUtils]: 138: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,709 INFO L273 TraceCheckUtils]: 139: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,709 INFO L273 TraceCheckUtils]: 140: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,709 INFO L273 TraceCheckUtils]: 141: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,709 INFO L273 TraceCheckUtils]: 142: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,709 INFO L273 TraceCheckUtils]: 143: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,709 INFO L273 TraceCheckUtils]: 144: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,709 INFO L273 TraceCheckUtils]: 145: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,710 INFO L273 TraceCheckUtils]: 146: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,710 INFO L273 TraceCheckUtils]: 147: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,710 INFO L273 TraceCheckUtils]: 148: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,710 INFO L273 TraceCheckUtils]: 149: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,710 INFO L273 TraceCheckUtils]: 150: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,710 INFO L273 TraceCheckUtils]: 151: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,710 INFO L273 TraceCheckUtils]: 152: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,710 INFO L273 TraceCheckUtils]: 153: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,710 INFO L273 TraceCheckUtils]: 154: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,710 INFO L273 TraceCheckUtils]: 155: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,711 INFO L273 TraceCheckUtils]: 156: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,711 INFO L273 TraceCheckUtils]: 157: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,711 INFO L273 TraceCheckUtils]: 158: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,711 INFO L273 TraceCheckUtils]: 159: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,711 INFO L273 TraceCheckUtils]: 160: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,711 INFO L273 TraceCheckUtils]: 161: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,711 INFO L273 TraceCheckUtils]: 162: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,711 INFO L273 TraceCheckUtils]: 163: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,711 INFO L273 TraceCheckUtils]: 164: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,712 INFO L273 TraceCheckUtils]: 165: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,712 INFO L273 TraceCheckUtils]: 166: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,712 INFO L273 TraceCheckUtils]: 167: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,712 INFO L273 TraceCheckUtils]: 168: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,712 INFO L273 TraceCheckUtils]: 169: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,712 INFO L273 TraceCheckUtils]: 170: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,712 INFO L273 TraceCheckUtils]: 171: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,712 INFO L273 TraceCheckUtils]: 172: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,712 INFO L273 TraceCheckUtils]: 173: Hoare triple {39266#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39266#true} is VALID [2018-11-23 12:18:34,712 INFO L273 TraceCheckUtils]: 174: Hoare triple {39266#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39266#true} is VALID [2018-11-23 12:18:34,713 INFO L273 TraceCheckUtils]: 175: Hoare triple {39266#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39266#true} is VALID [2018-11-23 12:18:34,713 INFO L273 TraceCheckUtils]: 176: Hoare triple {39266#true} assume !(~i~0 < 20); {39266#true} is VALID [2018-11-23 12:18:34,713 INFO L273 TraceCheckUtils]: 177: Hoare triple {39266#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39266#true} is VALID [2018-11-23 12:18:34,713 INFO L273 TraceCheckUtils]: 178: Hoare triple {39266#true} assume true; {39266#true} is VALID [2018-11-23 12:18:34,713 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {39266#true} {39266#true} #77#return; {39266#true} is VALID [2018-11-23 12:18:34,714 INFO L273 TraceCheckUtils]: 180: Hoare triple {39266#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {39827#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:34,715 INFO L273 TraceCheckUtils]: 181: Hoare triple {39827#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39827#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:34,717 INFO L273 TraceCheckUtils]: 182: Hoare triple {39827#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39269#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:34,718 INFO L273 TraceCheckUtils]: 183: Hoare triple {39269#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39269#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:34,719 INFO L273 TraceCheckUtils]: 184: Hoare triple {39269#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39270#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:34,720 INFO L273 TraceCheckUtils]: 185: Hoare triple {39270#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39270#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:34,721 INFO L273 TraceCheckUtils]: 186: Hoare triple {39270#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39271#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:34,722 INFO L273 TraceCheckUtils]: 187: Hoare triple {39271#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39271#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:34,722 INFO L273 TraceCheckUtils]: 188: Hoare triple {39271#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39272#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:34,724 INFO L273 TraceCheckUtils]: 189: Hoare triple {39272#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39272#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:34,724 INFO L273 TraceCheckUtils]: 190: Hoare triple {39272#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39273#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:34,725 INFO L273 TraceCheckUtils]: 191: Hoare triple {39273#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39273#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:34,726 INFO L273 TraceCheckUtils]: 192: Hoare triple {39273#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39274#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:34,726 INFO L273 TraceCheckUtils]: 193: Hoare triple {39274#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39274#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:34,727 INFO L273 TraceCheckUtils]: 194: Hoare triple {39274#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39275#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:34,727 INFO L273 TraceCheckUtils]: 195: Hoare triple {39275#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39275#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:34,728 INFO L273 TraceCheckUtils]: 196: Hoare triple {39275#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39276#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:34,731 INFO L273 TraceCheckUtils]: 197: Hoare triple {39276#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39276#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:34,731 INFO L273 TraceCheckUtils]: 198: Hoare triple {39276#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39277#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:34,732 INFO L273 TraceCheckUtils]: 199: Hoare triple {39277#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39277#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:34,733 INFO L273 TraceCheckUtils]: 200: Hoare triple {39277#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39278#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:34,733 INFO L273 TraceCheckUtils]: 201: Hoare triple {39278#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39278#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:34,733 INFO L273 TraceCheckUtils]: 202: Hoare triple {39278#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39279#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:34,734 INFO L273 TraceCheckUtils]: 203: Hoare triple {39279#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39279#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:34,734 INFO L273 TraceCheckUtils]: 204: Hoare triple {39279#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39280#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:34,734 INFO L273 TraceCheckUtils]: 205: Hoare triple {39280#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39280#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:34,735 INFO L273 TraceCheckUtils]: 206: Hoare triple {39280#(<= main_~i~2 12)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39281#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:34,736 INFO L273 TraceCheckUtils]: 207: Hoare triple {39281#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39281#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:34,736 INFO L273 TraceCheckUtils]: 208: Hoare triple {39281#(<= main_~i~2 13)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39282#(<= main_~i~2 14)} is VALID [2018-11-23 12:18:34,737 INFO L273 TraceCheckUtils]: 209: Hoare triple {39282#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39282#(<= main_~i~2 14)} is VALID [2018-11-23 12:18:34,738 INFO L273 TraceCheckUtils]: 210: Hoare triple {39282#(<= main_~i~2 14)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39283#(<= main_~i~2 15)} is VALID [2018-11-23 12:18:34,738 INFO L273 TraceCheckUtils]: 211: Hoare triple {39283#(<= main_~i~2 15)} assume !(~i~2 < 19); {39267#false} is VALID [2018-11-23 12:18:34,738 INFO L273 TraceCheckUtils]: 212: Hoare triple {39267#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {39267#false} is VALID [2018-11-23 12:18:34,739 INFO L256 TraceCheckUtils]: 213: Hoare triple {39267#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {39267#false} is VALID [2018-11-23 12:18:34,739 INFO L273 TraceCheckUtils]: 214: Hoare triple {39267#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {39267#false} is VALID [2018-11-23 12:18:34,739 INFO L273 TraceCheckUtils]: 215: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,739 INFO L273 TraceCheckUtils]: 216: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,739 INFO L273 TraceCheckUtils]: 217: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,740 INFO L273 TraceCheckUtils]: 218: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,740 INFO L273 TraceCheckUtils]: 219: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,740 INFO L273 TraceCheckUtils]: 220: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,740 INFO L273 TraceCheckUtils]: 221: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,740 INFO L273 TraceCheckUtils]: 222: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,740 INFO L273 TraceCheckUtils]: 223: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,741 INFO L273 TraceCheckUtils]: 224: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,741 INFO L273 TraceCheckUtils]: 225: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,741 INFO L273 TraceCheckUtils]: 226: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,741 INFO L273 TraceCheckUtils]: 227: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,741 INFO L273 TraceCheckUtils]: 228: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,742 INFO L273 TraceCheckUtils]: 229: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,742 INFO L273 TraceCheckUtils]: 230: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,742 INFO L273 TraceCheckUtils]: 231: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,742 INFO L273 TraceCheckUtils]: 232: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,742 INFO L273 TraceCheckUtils]: 233: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,742 INFO L273 TraceCheckUtils]: 234: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,743 INFO L273 TraceCheckUtils]: 235: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,743 INFO L273 TraceCheckUtils]: 236: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,743 INFO L273 TraceCheckUtils]: 237: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,743 INFO L273 TraceCheckUtils]: 238: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,743 INFO L273 TraceCheckUtils]: 239: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,743 INFO L273 TraceCheckUtils]: 240: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,743 INFO L273 TraceCheckUtils]: 241: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,743 INFO L273 TraceCheckUtils]: 242: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,743 INFO L273 TraceCheckUtils]: 243: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,743 INFO L273 TraceCheckUtils]: 244: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,744 INFO L273 TraceCheckUtils]: 245: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,744 INFO L273 TraceCheckUtils]: 246: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,744 INFO L273 TraceCheckUtils]: 247: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,744 INFO L273 TraceCheckUtils]: 248: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,744 INFO L273 TraceCheckUtils]: 249: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,744 INFO L273 TraceCheckUtils]: 250: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,744 INFO L273 TraceCheckUtils]: 251: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,744 INFO L273 TraceCheckUtils]: 252: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,744 INFO L273 TraceCheckUtils]: 253: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,744 INFO L273 TraceCheckUtils]: 254: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,745 INFO L273 TraceCheckUtils]: 255: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,745 INFO L273 TraceCheckUtils]: 256: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,745 INFO L273 TraceCheckUtils]: 257: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,745 INFO L273 TraceCheckUtils]: 258: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,745 INFO L273 TraceCheckUtils]: 259: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,745 INFO L273 TraceCheckUtils]: 260: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,745 INFO L273 TraceCheckUtils]: 261: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,745 INFO L273 TraceCheckUtils]: 262: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,745 INFO L273 TraceCheckUtils]: 263: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,746 INFO L273 TraceCheckUtils]: 264: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,746 INFO L273 TraceCheckUtils]: 265: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,746 INFO L273 TraceCheckUtils]: 266: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,746 INFO L273 TraceCheckUtils]: 267: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,746 INFO L273 TraceCheckUtils]: 268: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,746 INFO L273 TraceCheckUtils]: 269: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,746 INFO L273 TraceCheckUtils]: 270: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,746 INFO L273 TraceCheckUtils]: 271: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,746 INFO L273 TraceCheckUtils]: 272: Hoare triple {39267#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39267#false} is VALID [2018-11-23 12:18:34,746 INFO L273 TraceCheckUtils]: 273: Hoare triple {39267#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39267#false} is VALID [2018-11-23 12:18:34,747 INFO L273 TraceCheckUtils]: 274: Hoare triple {39267#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39267#false} is VALID [2018-11-23 12:18:34,747 INFO L273 TraceCheckUtils]: 275: Hoare triple {39267#false} assume !(~i~0 < 20); {39267#false} is VALID [2018-11-23 12:18:34,747 INFO L273 TraceCheckUtils]: 276: Hoare triple {39267#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39267#false} is VALID [2018-11-23 12:18:34,747 INFO L273 TraceCheckUtils]: 277: Hoare triple {39267#false} assume true; {39267#false} is VALID [2018-11-23 12:18:34,747 INFO L268 TraceCheckUtils]: 278: Hoare quadruple {39267#false} {39267#false} #79#return; {39267#false} is VALID [2018-11-23 12:18:34,747 INFO L273 TraceCheckUtils]: 279: Hoare triple {39267#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {39267#false} is VALID [2018-11-23 12:18:34,747 INFO L273 TraceCheckUtils]: 280: Hoare triple {39267#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {39267#false} is VALID [2018-11-23 12:18:34,747 INFO L273 TraceCheckUtils]: 281: Hoare triple {39267#false} assume !false; {39267#false} is VALID [2018-11-23 12:18:34,776 INFO L134 CoverageAnalysis]: Checked inductivity of 6130 backedges. 2490 proven. 225 refuted. 0 times theorem prover too weak. 3415 trivial. 0 not checked. [2018-11-23 12:18:34,799 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:34,799 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 19 [2018-11-23 12:18:34,799 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 282 [2018-11-23 12:18:34,800 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:34,800 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:18:34,876 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:34,876 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:18:34,876 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:18:34,877 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=171, Invalid=171, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:18:34,877 INFO L87 Difference]: Start difference. First operand 153 states and 177 transitions. Second operand 19 states. [2018-11-23 12:18:35,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:35,500 INFO L93 Difference]: Finished difference Result 227 states and 272 transitions. [2018-11-23 12:18:35,500 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 12:18:35,500 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 282 [2018-11-23 12:18:35,501 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:35,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:18:35,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 79 transitions. [2018-11-23 12:18:35,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:18:35,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 79 transitions. [2018-11-23 12:18:35,502 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 79 transitions. [2018-11-23 12:18:35,600 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:35,603 INFO L225 Difference]: With dead ends: 227 [2018-11-23 12:18:35,603 INFO L226 Difference]: Without dead ends: 156 [2018-11-23 12:18:35,604 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 299 GetRequests, 282 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=171, Invalid=171, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:18:35,604 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2018-11-23 12:18:35,668 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 155. [2018-11-23 12:18:35,668 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:35,668 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand 155 states. [2018-11-23 12:18:35,668 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand 155 states. [2018-11-23 12:18:35,669 INFO L87 Difference]: Start difference. First operand 156 states. Second operand 155 states. [2018-11-23 12:18:35,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:35,672 INFO L93 Difference]: Finished difference Result 156 states and 180 transitions. [2018-11-23 12:18:35,672 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 180 transitions. [2018-11-23 12:18:35,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:35,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:35,673 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand 156 states. [2018-11-23 12:18:35,673 INFO L87 Difference]: Start difference. First operand 155 states. Second operand 156 states. [2018-11-23 12:18:35,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:35,675 INFO L93 Difference]: Finished difference Result 156 states and 180 transitions. [2018-11-23 12:18:35,675 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 180 transitions. [2018-11-23 12:18:35,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:35,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:35,675 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:35,675 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:35,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 155 states. [2018-11-23 12:18:35,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 179 transitions. [2018-11-23 12:18:35,678 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 179 transitions. Word has length 282 [2018-11-23 12:18:35,678 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:35,678 INFO L480 AbstractCegarLoop]: Abstraction has 155 states and 179 transitions. [2018-11-23 12:18:35,678 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:18:35,678 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 179 transitions. [2018-11-23 12:18:35,679 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 285 [2018-11-23 12:18:35,679 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:35,680 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 60, 20, 20, 16, 16, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:18:35,680 INFO L423 AbstractCegarLoop]: === Iteration 44 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:35,680 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:35,680 INFO L82 PathProgramCache]: Analyzing trace with hash -1176705602, now seen corresponding path program 40 times [2018-11-23 12:18:35,680 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:35,680 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:35,681 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:35,681 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:35,681 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:35,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:36,129 INFO L256 TraceCheckUtils]: 0: Hoare triple {40981#true} call ULTIMATE.init(); {40981#true} is VALID [2018-11-23 12:18:36,129 INFO L273 TraceCheckUtils]: 1: Hoare triple {40981#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {40981#true} is VALID [2018-11-23 12:18:36,129 INFO L273 TraceCheckUtils]: 2: Hoare triple {40981#true} assume true; {40981#true} is VALID [2018-11-23 12:18:36,130 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {40981#true} {40981#true} #71#return; {40981#true} is VALID [2018-11-23 12:18:36,130 INFO L256 TraceCheckUtils]: 4: Hoare triple {40981#true} call #t~ret14 := main(); {40981#true} is VALID [2018-11-23 12:18:36,130 INFO L273 TraceCheckUtils]: 5: Hoare triple {40981#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {40981#true} is VALID [2018-11-23 12:18:36,130 INFO L273 TraceCheckUtils]: 6: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,130 INFO L273 TraceCheckUtils]: 7: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,131 INFO L273 TraceCheckUtils]: 8: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,131 INFO L273 TraceCheckUtils]: 9: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,131 INFO L273 TraceCheckUtils]: 10: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,131 INFO L273 TraceCheckUtils]: 11: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,131 INFO L273 TraceCheckUtils]: 12: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,131 INFO L273 TraceCheckUtils]: 13: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,131 INFO L273 TraceCheckUtils]: 14: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,131 INFO L273 TraceCheckUtils]: 15: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,131 INFO L273 TraceCheckUtils]: 16: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,131 INFO L273 TraceCheckUtils]: 17: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,132 INFO L273 TraceCheckUtils]: 18: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,132 INFO L273 TraceCheckUtils]: 19: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,132 INFO L273 TraceCheckUtils]: 20: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,132 INFO L273 TraceCheckUtils]: 21: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,132 INFO L273 TraceCheckUtils]: 22: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,132 INFO L273 TraceCheckUtils]: 23: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,132 INFO L273 TraceCheckUtils]: 24: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,132 INFO L273 TraceCheckUtils]: 25: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,132 INFO L273 TraceCheckUtils]: 26: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,132 INFO L273 TraceCheckUtils]: 27: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,133 INFO L273 TraceCheckUtils]: 28: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,133 INFO L273 TraceCheckUtils]: 29: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,133 INFO L273 TraceCheckUtils]: 30: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,133 INFO L273 TraceCheckUtils]: 31: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,133 INFO L273 TraceCheckUtils]: 32: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,133 INFO L273 TraceCheckUtils]: 33: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,133 INFO L273 TraceCheckUtils]: 34: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,133 INFO L273 TraceCheckUtils]: 35: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,133 INFO L273 TraceCheckUtils]: 36: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,133 INFO L273 TraceCheckUtils]: 37: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,134 INFO L273 TraceCheckUtils]: 38: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,134 INFO L273 TraceCheckUtils]: 39: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,134 INFO L273 TraceCheckUtils]: 40: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,134 INFO L273 TraceCheckUtils]: 41: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,134 INFO L273 TraceCheckUtils]: 42: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,134 INFO L273 TraceCheckUtils]: 43: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,134 INFO L273 TraceCheckUtils]: 44: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,134 INFO L273 TraceCheckUtils]: 45: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,134 INFO L273 TraceCheckUtils]: 46: Hoare triple {40981#true} assume !(~i~1 < 20); {40981#true} is VALID [2018-11-23 12:18:36,135 INFO L256 TraceCheckUtils]: 47: Hoare triple {40981#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {40981#true} is VALID [2018-11-23 12:18:36,135 INFO L273 TraceCheckUtils]: 48: Hoare triple {40981#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {40981#true} is VALID [2018-11-23 12:18:36,135 INFO L273 TraceCheckUtils]: 49: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,135 INFO L273 TraceCheckUtils]: 50: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,135 INFO L273 TraceCheckUtils]: 51: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,135 INFO L273 TraceCheckUtils]: 52: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,135 INFO L273 TraceCheckUtils]: 53: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,135 INFO L273 TraceCheckUtils]: 54: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,135 INFO L273 TraceCheckUtils]: 55: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,135 INFO L273 TraceCheckUtils]: 56: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,136 INFO L273 TraceCheckUtils]: 57: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,136 INFO L273 TraceCheckUtils]: 58: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,136 INFO L273 TraceCheckUtils]: 59: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,136 INFO L273 TraceCheckUtils]: 60: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,136 INFO L273 TraceCheckUtils]: 61: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,136 INFO L273 TraceCheckUtils]: 62: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,136 INFO L273 TraceCheckUtils]: 63: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,136 INFO L273 TraceCheckUtils]: 64: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,136 INFO L273 TraceCheckUtils]: 65: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,136 INFO L273 TraceCheckUtils]: 66: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,137 INFO L273 TraceCheckUtils]: 67: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,137 INFO L273 TraceCheckUtils]: 68: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,137 INFO L273 TraceCheckUtils]: 69: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,137 INFO L273 TraceCheckUtils]: 70: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,137 INFO L273 TraceCheckUtils]: 71: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,137 INFO L273 TraceCheckUtils]: 72: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,137 INFO L273 TraceCheckUtils]: 73: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,137 INFO L273 TraceCheckUtils]: 74: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,137 INFO L273 TraceCheckUtils]: 75: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,137 INFO L273 TraceCheckUtils]: 76: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,138 INFO L273 TraceCheckUtils]: 77: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,138 INFO L273 TraceCheckUtils]: 78: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,138 INFO L273 TraceCheckUtils]: 79: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,138 INFO L273 TraceCheckUtils]: 80: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,138 INFO L273 TraceCheckUtils]: 81: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,138 INFO L273 TraceCheckUtils]: 82: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,138 INFO L273 TraceCheckUtils]: 83: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,138 INFO L273 TraceCheckUtils]: 84: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,138 INFO L273 TraceCheckUtils]: 85: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,138 INFO L273 TraceCheckUtils]: 86: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,139 INFO L273 TraceCheckUtils]: 87: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,139 INFO L273 TraceCheckUtils]: 88: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,139 INFO L273 TraceCheckUtils]: 89: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,139 INFO L273 TraceCheckUtils]: 90: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,139 INFO L273 TraceCheckUtils]: 91: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,139 INFO L273 TraceCheckUtils]: 92: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,139 INFO L273 TraceCheckUtils]: 93: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,139 INFO L273 TraceCheckUtils]: 94: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,139 INFO L273 TraceCheckUtils]: 95: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,140 INFO L273 TraceCheckUtils]: 96: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,140 INFO L273 TraceCheckUtils]: 97: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,140 INFO L273 TraceCheckUtils]: 98: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,140 INFO L273 TraceCheckUtils]: 99: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,140 INFO L273 TraceCheckUtils]: 100: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,140 INFO L273 TraceCheckUtils]: 101: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,140 INFO L273 TraceCheckUtils]: 102: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,140 INFO L273 TraceCheckUtils]: 103: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,140 INFO L273 TraceCheckUtils]: 104: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,140 INFO L273 TraceCheckUtils]: 105: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,141 INFO L273 TraceCheckUtils]: 106: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,141 INFO L273 TraceCheckUtils]: 107: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,141 INFO L273 TraceCheckUtils]: 108: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,141 INFO L273 TraceCheckUtils]: 109: Hoare triple {40981#true} assume !(~i~0 < 20); {40981#true} is VALID [2018-11-23 12:18:36,141 INFO L273 TraceCheckUtils]: 110: Hoare triple {40981#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {40981#true} is VALID [2018-11-23 12:18:36,141 INFO L273 TraceCheckUtils]: 111: Hoare triple {40981#true} assume true; {40981#true} is VALID [2018-11-23 12:18:36,141 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {40981#true} {40981#true} #75#return; {40981#true} is VALID [2018-11-23 12:18:36,141 INFO L273 TraceCheckUtils]: 113: Hoare triple {40981#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {40981#true} is VALID [2018-11-23 12:18:36,141 INFO L256 TraceCheckUtils]: 114: Hoare triple {40981#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {40981#true} is VALID [2018-11-23 12:18:36,141 INFO L273 TraceCheckUtils]: 115: Hoare triple {40981#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {40981#true} is VALID [2018-11-23 12:18:36,142 INFO L273 TraceCheckUtils]: 116: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,142 INFO L273 TraceCheckUtils]: 117: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,142 INFO L273 TraceCheckUtils]: 118: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,142 INFO L273 TraceCheckUtils]: 119: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,142 INFO L273 TraceCheckUtils]: 120: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,142 INFO L273 TraceCheckUtils]: 121: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,142 INFO L273 TraceCheckUtils]: 122: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,142 INFO L273 TraceCheckUtils]: 123: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,142 INFO L273 TraceCheckUtils]: 124: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,143 INFO L273 TraceCheckUtils]: 125: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,143 INFO L273 TraceCheckUtils]: 126: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,143 INFO L273 TraceCheckUtils]: 127: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,143 INFO L273 TraceCheckUtils]: 128: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,143 INFO L273 TraceCheckUtils]: 129: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,143 INFO L273 TraceCheckUtils]: 130: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,143 INFO L273 TraceCheckUtils]: 131: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,143 INFO L273 TraceCheckUtils]: 132: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,143 INFO L273 TraceCheckUtils]: 133: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,143 INFO L273 TraceCheckUtils]: 134: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,144 INFO L273 TraceCheckUtils]: 135: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,144 INFO L273 TraceCheckUtils]: 136: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,144 INFO L273 TraceCheckUtils]: 137: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,144 INFO L273 TraceCheckUtils]: 138: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,144 INFO L273 TraceCheckUtils]: 139: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,144 INFO L273 TraceCheckUtils]: 140: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,144 INFO L273 TraceCheckUtils]: 141: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,144 INFO L273 TraceCheckUtils]: 142: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,144 INFO L273 TraceCheckUtils]: 143: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,144 INFO L273 TraceCheckUtils]: 144: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,145 INFO L273 TraceCheckUtils]: 145: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,145 INFO L273 TraceCheckUtils]: 146: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,145 INFO L273 TraceCheckUtils]: 147: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,145 INFO L273 TraceCheckUtils]: 148: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,145 INFO L273 TraceCheckUtils]: 149: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,145 INFO L273 TraceCheckUtils]: 150: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,145 INFO L273 TraceCheckUtils]: 151: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,145 INFO L273 TraceCheckUtils]: 152: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,145 INFO L273 TraceCheckUtils]: 153: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,145 INFO L273 TraceCheckUtils]: 154: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,146 INFO L273 TraceCheckUtils]: 155: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,146 INFO L273 TraceCheckUtils]: 156: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,146 INFO L273 TraceCheckUtils]: 157: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,146 INFO L273 TraceCheckUtils]: 158: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,146 INFO L273 TraceCheckUtils]: 159: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,146 INFO L273 TraceCheckUtils]: 160: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,146 INFO L273 TraceCheckUtils]: 161: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,146 INFO L273 TraceCheckUtils]: 162: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,146 INFO L273 TraceCheckUtils]: 163: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,146 INFO L273 TraceCheckUtils]: 164: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,147 INFO L273 TraceCheckUtils]: 165: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,147 INFO L273 TraceCheckUtils]: 166: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,147 INFO L273 TraceCheckUtils]: 167: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,147 INFO L273 TraceCheckUtils]: 168: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,147 INFO L273 TraceCheckUtils]: 169: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,147 INFO L273 TraceCheckUtils]: 170: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,147 INFO L273 TraceCheckUtils]: 171: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,147 INFO L273 TraceCheckUtils]: 172: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,147 INFO L273 TraceCheckUtils]: 173: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,147 INFO L273 TraceCheckUtils]: 174: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,148 INFO L273 TraceCheckUtils]: 175: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,148 INFO L273 TraceCheckUtils]: 176: Hoare triple {40981#true} assume !(~i~0 < 20); {40981#true} is VALID [2018-11-23 12:18:36,148 INFO L273 TraceCheckUtils]: 177: Hoare triple {40981#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {40981#true} is VALID [2018-11-23 12:18:36,148 INFO L273 TraceCheckUtils]: 178: Hoare triple {40981#true} assume true; {40981#true} is VALID [2018-11-23 12:18:36,148 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {40981#true} {40981#true} #77#return; {40981#true} is VALID [2018-11-23 12:18:36,148 INFO L273 TraceCheckUtils]: 180: Hoare triple {40981#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {40983#(= main_~i~2 0)} is VALID [2018-11-23 12:18:36,149 INFO L273 TraceCheckUtils]: 181: Hoare triple {40983#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40983#(= main_~i~2 0)} is VALID [2018-11-23 12:18:36,149 INFO L273 TraceCheckUtils]: 182: Hoare triple {40983#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40984#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:36,149 INFO L273 TraceCheckUtils]: 183: Hoare triple {40984#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40984#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:36,150 INFO L273 TraceCheckUtils]: 184: Hoare triple {40984#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40985#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:36,150 INFO L273 TraceCheckUtils]: 185: Hoare triple {40985#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40985#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:36,151 INFO L273 TraceCheckUtils]: 186: Hoare triple {40985#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40986#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:36,151 INFO L273 TraceCheckUtils]: 187: Hoare triple {40986#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40986#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:36,152 INFO L273 TraceCheckUtils]: 188: Hoare triple {40986#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40987#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:36,152 INFO L273 TraceCheckUtils]: 189: Hoare triple {40987#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40987#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:36,153 INFO L273 TraceCheckUtils]: 190: Hoare triple {40987#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40988#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:36,153 INFO L273 TraceCheckUtils]: 191: Hoare triple {40988#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40988#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:36,154 INFO L273 TraceCheckUtils]: 192: Hoare triple {40988#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40989#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:36,155 INFO L273 TraceCheckUtils]: 193: Hoare triple {40989#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40989#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:36,155 INFO L273 TraceCheckUtils]: 194: Hoare triple {40989#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40990#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:36,156 INFO L273 TraceCheckUtils]: 195: Hoare triple {40990#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40990#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:36,157 INFO L273 TraceCheckUtils]: 196: Hoare triple {40990#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40991#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:36,157 INFO L273 TraceCheckUtils]: 197: Hoare triple {40991#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40991#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:36,158 INFO L273 TraceCheckUtils]: 198: Hoare triple {40991#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40992#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:36,158 INFO L273 TraceCheckUtils]: 199: Hoare triple {40992#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40992#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:36,159 INFO L273 TraceCheckUtils]: 200: Hoare triple {40992#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40993#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:36,160 INFO L273 TraceCheckUtils]: 201: Hoare triple {40993#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40993#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:36,160 INFO L273 TraceCheckUtils]: 202: Hoare triple {40993#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40994#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:36,161 INFO L273 TraceCheckUtils]: 203: Hoare triple {40994#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40994#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:36,161 INFO L273 TraceCheckUtils]: 204: Hoare triple {40994#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40995#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:36,162 INFO L273 TraceCheckUtils]: 205: Hoare triple {40995#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40995#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:36,163 INFO L273 TraceCheckUtils]: 206: Hoare triple {40995#(<= main_~i~2 12)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40996#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:36,163 INFO L273 TraceCheckUtils]: 207: Hoare triple {40996#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40996#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:36,164 INFO L273 TraceCheckUtils]: 208: Hoare triple {40996#(<= main_~i~2 13)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40997#(<= main_~i~2 14)} is VALID [2018-11-23 12:18:36,164 INFO L273 TraceCheckUtils]: 209: Hoare triple {40997#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40997#(<= main_~i~2 14)} is VALID [2018-11-23 12:18:36,165 INFO L273 TraceCheckUtils]: 210: Hoare triple {40997#(<= main_~i~2 14)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40998#(<= main_~i~2 15)} is VALID [2018-11-23 12:18:36,166 INFO L273 TraceCheckUtils]: 211: Hoare triple {40998#(<= main_~i~2 15)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40998#(<= main_~i~2 15)} is VALID [2018-11-23 12:18:36,166 INFO L273 TraceCheckUtils]: 212: Hoare triple {40998#(<= main_~i~2 15)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40999#(<= main_~i~2 16)} is VALID [2018-11-23 12:18:36,167 INFO L273 TraceCheckUtils]: 213: Hoare triple {40999#(<= main_~i~2 16)} assume !(~i~2 < 19); {40982#false} is VALID [2018-11-23 12:18:36,167 INFO L273 TraceCheckUtils]: 214: Hoare triple {40982#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {40982#false} is VALID [2018-11-23 12:18:36,167 INFO L256 TraceCheckUtils]: 215: Hoare triple {40982#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {40981#true} is VALID [2018-11-23 12:18:36,168 INFO L273 TraceCheckUtils]: 216: Hoare triple {40981#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {40981#true} is VALID [2018-11-23 12:18:36,168 INFO L273 TraceCheckUtils]: 217: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,168 INFO L273 TraceCheckUtils]: 218: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,168 INFO L273 TraceCheckUtils]: 219: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,168 INFO L273 TraceCheckUtils]: 220: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,169 INFO L273 TraceCheckUtils]: 221: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,169 INFO L273 TraceCheckUtils]: 222: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,169 INFO L273 TraceCheckUtils]: 223: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,169 INFO L273 TraceCheckUtils]: 224: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,169 INFO L273 TraceCheckUtils]: 225: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,169 INFO L273 TraceCheckUtils]: 226: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,170 INFO L273 TraceCheckUtils]: 227: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,170 INFO L273 TraceCheckUtils]: 228: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,170 INFO L273 TraceCheckUtils]: 229: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,170 INFO L273 TraceCheckUtils]: 230: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,170 INFO L273 TraceCheckUtils]: 231: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,170 INFO L273 TraceCheckUtils]: 232: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,171 INFO L273 TraceCheckUtils]: 233: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,171 INFO L273 TraceCheckUtils]: 234: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,171 INFO L273 TraceCheckUtils]: 235: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,171 INFO L273 TraceCheckUtils]: 236: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,171 INFO L273 TraceCheckUtils]: 237: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,171 INFO L273 TraceCheckUtils]: 238: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,171 INFO L273 TraceCheckUtils]: 239: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,172 INFO L273 TraceCheckUtils]: 240: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,172 INFO L273 TraceCheckUtils]: 241: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,172 INFO L273 TraceCheckUtils]: 242: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,172 INFO L273 TraceCheckUtils]: 243: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,172 INFO L273 TraceCheckUtils]: 244: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,172 INFO L273 TraceCheckUtils]: 245: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,172 INFO L273 TraceCheckUtils]: 246: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,172 INFO L273 TraceCheckUtils]: 247: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,172 INFO L273 TraceCheckUtils]: 248: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,173 INFO L273 TraceCheckUtils]: 249: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,173 INFO L273 TraceCheckUtils]: 250: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,173 INFO L273 TraceCheckUtils]: 251: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,173 INFO L273 TraceCheckUtils]: 252: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,173 INFO L273 TraceCheckUtils]: 253: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,173 INFO L273 TraceCheckUtils]: 254: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,173 INFO L273 TraceCheckUtils]: 255: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,173 INFO L273 TraceCheckUtils]: 256: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,173 INFO L273 TraceCheckUtils]: 257: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,173 INFO L273 TraceCheckUtils]: 258: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,174 INFO L273 TraceCheckUtils]: 259: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,174 INFO L273 TraceCheckUtils]: 260: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,174 INFO L273 TraceCheckUtils]: 261: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,174 INFO L273 TraceCheckUtils]: 262: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,174 INFO L273 TraceCheckUtils]: 263: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,174 INFO L273 TraceCheckUtils]: 264: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,174 INFO L273 TraceCheckUtils]: 265: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,174 INFO L273 TraceCheckUtils]: 266: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,174 INFO L273 TraceCheckUtils]: 267: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,174 INFO L273 TraceCheckUtils]: 268: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,175 INFO L273 TraceCheckUtils]: 269: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,175 INFO L273 TraceCheckUtils]: 270: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,175 INFO L273 TraceCheckUtils]: 271: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,175 INFO L273 TraceCheckUtils]: 272: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,175 INFO L273 TraceCheckUtils]: 273: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,175 INFO L273 TraceCheckUtils]: 274: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,175 INFO L273 TraceCheckUtils]: 275: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,175 INFO L273 TraceCheckUtils]: 276: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,175 INFO L273 TraceCheckUtils]: 277: Hoare triple {40981#true} assume !(~i~0 < 20); {40981#true} is VALID [2018-11-23 12:18:36,175 INFO L273 TraceCheckUtils]: 278: Hoare triple {40981#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {40981#true} is VALID [2018-11-23 12:18:36,176 INFO L273 TraceCheckUtils]: 279: Hoare triple {40981#true} assume true; {40981#true} is VALID [2018-11-23 12:18:36,176 INFO L268 TraceCheckUtils]: 280: Hoare quadruple {40981#true} {40982#false} #79#return; {40982#false} is VALID [2018-11-23 12:18:36,176 INFO L273 TraceCheckUtils]: 281: Hoare triple {40982#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {40982#false} is VALID [2018-11-23 12:18:36,176 INFO L273 TraceCheckUtils]: 282: Hoare triple {40982#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {40982#false} is VALID [2018-11-23 12:18:36,176 INFO L273 TraceCheckUtils]: 283: Hoare triple {40982#false} assume !false; {40982#false} is VALID [2018-11-23 12:18:36,205 INFO L134 CoverageAnalysis]: Checked inductivity of 6161 backedges. 0 proven. 256 refuted. 0 times theorem prover too weak. 5905 trivial. 0 not checked. [2018-11-23 12:18:36,205 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:36,205 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 42 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 42 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:18:36,215 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:18:36,365 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:18:36,365 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:36,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:36,449 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:36,773 INFO L256 TraceCheckUtils]: 0: Hoare triple {40981#true} call ULTIMATE.init(); {40981#true} is VALID [2018-11-23 12:18:36,773 INFO L273 TraceCheckUtils]: 1: Hoare triple {40981#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {40981#true} is VALID [2018-11-23 12:18:36,773 INFO L273 TraceCheckUtils]: 2: Hoare triple {40981#true} assume true; {40981#true} is VALID [2018-11-23 12:18:36,773 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {40981#true} {40981#true} #71#return; {40981#true} is VALID [2018-11-23 12:18:36,774 INFO L256 TraceCheckUtils]: 4: Hoare triple {40981#true} call #t~ret14 := main(); {40981#true} is VALID [2018-11-23 12:18:36,774 INFO L273 TraceCheckUtils]: 5: Hoare triple {40981#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {40981#true} is VALID [2018-11-23 12:18:36,774 INFO L273 TraceCheckUtils]: 6: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,774 INFO L273 TraceCheckUtils]: 7: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,774 INFO L273 TraceCheckUtils]: 8: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,774 INFO L273 TraceCheckUtils]: 9: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,775 INFO L273 TraceCheckUtils]: 10: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,775 INFO L273 TraceCheckUtils]: 11: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,775 INFO L273 TraceCheckUtils]: 12: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,775 INFO L273 TraceCheckUtils]: 13: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,775 INFO L273 TraceCheckUtils]: 14: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,775 INFO L273 TraceCheckUtils]: 15: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,775 INFO L273 TraceCheckUtils]: 16: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,775 INFO L273 TraceCheckUtils]: 17: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,775 INFO L273 TraceCheckUtils]: 18: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,775 INFO L273 TraceCheckUtils]: 19: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,776 INFO L273 TraceCheckUtils]: 20: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,776 INFO L273 TraceCheckUtils]: 21: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,776 INFO L273 TraceCheckUtils]: 22: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,776 INFO L273 TraceCheckUtils]: 23: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,776 INFO L273 TraceCheckUtils]: 24: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,776 INFO L273 TraceCheckUtils]: 25: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,776 INFO L273 TraceCheckUtils]: 26: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,776 INFO L273 TraceCheckUtils]: 27: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,776 INFO L273 TraceCheckUtils]: 28: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,776 INFO L273 TraceCheckUtils]: 29: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,777 INFO L273 TraceCheckUtils]: 30: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,777 INFO L273 TraceCheckUtils]: 31: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,777 INFO L273 TraceCheckUtils]: 32: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,777 INFO L273 TraceCheckUtils]: 33: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,777 INFO L273 TraceCheckUtils]: 34: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,777 INFO L273 TraceCheckUtils]: 35: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,777 INFO L273 TraceCheckUtils]: 36: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,777 INFO L273 TraceCheckUtils]: 37: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,777 INFO L273 TraceCheckUtils]: 38: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,777 INFO L273 TraceCheckUtils]: 39: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,778 INFO L273 TraceCheckUtils]: 40: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,778 INFO L273 TraceCheckUtils]: 41: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,778 INFO L273 TraceCheckUtils]: 42: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,778 INFO L273 TraceCheckUtils]: 43: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,778 INFO L273 TraceCheckUtils]: 44: Hoare triple {40981#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40981#true} is VALID [2018-11-23 12:18:36,778 INFO L273 TraceCheckUtils]: 45: Hoare triple {40981#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40981#true} is VALID [2018-11-23 12:18:36,778 INFO L273 TraceCheckUtils]: 46: Hoare triple {40981#true} assume !(~i~1 < 20); {40981#true} is VALID [2018-11-23 12:18:36,778 INFO L256 TraceCheckUtils]: 47: Hoare triple {40981#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {40981#true} is VALID [2018-11-23 12:18:36,778 INFO L273 TraceCheckUtils]: 48: Hoare triple {40981#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {40981#true} is VALID [2018-11-23 12:18:36,779 INFO L273 TraceCheckUtils]: 49: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,779 INFO L273 TraceCheckUtils]: 50: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,779 INFO L273 TraceCheckUtils]: 51: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,779 INFO L273 TraceCheckUtils]: 52: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,779 INFO L273 TraceCheckUtils]: 53: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,779 INFO L273 TraceCheckUtils]: 54: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,779 INFO L273 TraceCheckUtils]: 55: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,779 INFO L273 TraceCheckUtils]: 56: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,779 INFO L273 TraceCheckUtils]: 57: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,779 INFO L273 TraceCheckUtils]: 58: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,780 INFO L273 TraceCheckUtils]: 59: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,780 INFO L273 TraceCheckUtils]: 60: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,780 INFO L273 TraceCheckUtils]: 61: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,780 INFO L273 TraceCheckUtils]: 62: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,780 INFO L273 TraceCheckUtils]: 63: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,780 INFO L273 TraceCheckUtils]: 64: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,780 INFO L273 TraceCheckUtils]: 65: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,780 INFO L273 TraceCheckUtils]: 66: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,780 INFO L273 TraceCheckUtils]: 67: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,780 INFO L273 TraceCheckUtils]: 68: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,781 INFO L273 TraceCheckUtils]: 69: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,781 INFO L273 TraceCheckUtils]: 70: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,781 INFO L273 TraceCheckUtils]: 71: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,781 INFO L273 TraceCheckUtils]: 72: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,781 INFO L273 TraceCheckUtils]: 73: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,781 INFO L273 TraceCheckUtils]: 74: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,781 INFO L273 TraceCheckUtils]: 75: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,781 INFO L273 TraceCheckUtils]: 76: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,781 INFO L273 TraceCheckUtils]: 77: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,781 INFO L273 TraceCheckUtils]: 78: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,782 INFO L273 TraceCheckUtils]: 79: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,782 INFO L273 TraceCheckUtils]: 80: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,782 INFO L273 TraceCheckUtils]: 81: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,782 INFO L273 TraceCheckUtils]: 82: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,782 INFO L273 TraceCheckUtils]: 83: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,782 INFO L273 TraceCheckUtils]: 84: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,782 INFO L273 TraceCheckUtils]: 85: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,782 INFO L273 TraceCheckUtils]: 86: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,782 INFO L273 TraceCheckUtils]: 87: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,782 INFO L273 TraceCheckUtils]: 88: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,783 INFO L273 TraceCheckUtils]: 89: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,783 INFO L273 TraceCheckUtils]: 90: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,783 INFO L273 TraceCheckUtils]: 91: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,783 INFO L273 TraceCheckUtils]: 92: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,783 INFO L273 TraceCheckUtils]: 93: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,783 INFO L273 TraceCheckUtils]: 94: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,783 INFO L273 TraceCheckUtils]: 95: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,783 INFO L273 TraceCheckUtils]: 96: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,783 INFO L273 TraceCheckUtils]: 97: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,783 INFO L273 TraceCheckUtils]: 98: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,784 INFO L273 TraceCheckUtils]: 99: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,784 INFO L273 TraceCheckUtils]: 100: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,784 INFO L273 TraceCheckUtils]: 101: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,784 INFO L273 TraceCheckUtils]: 102: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,784 INFO L273 TraceCheckUtils]: 103: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,784 INFO L273 TraceCheckUtils]: 104: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,784 INFO L273 TraceCheckUtils]: 105: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,784 INFO L273 TraceCheckUtils]: 106: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,784 INFO L273 TraceCheckUtils]: 107: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,785 INFO L273 TraceCheckUtils]: 108: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,785 INFO L273 TraceCheckUtils]: 109: Hoare triple {40981#true} assume !(~i~0 < 20); {40981#true} is VALID [2018-11-23 12:18:36,785 INFO L273 TraceCheckUtils]: 110: Hoare triple {40981#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {40981#true} is VALID [2018-11-23 12:18:36,785 INFO L273 TraceCheckUtils]: 111: Hoare triple {40981#true} assume true; {40981#true} is VALID [2018-11-23 12:18:36,785 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {40981#true} {40981#true} #75#return; {40981#true} is VALID [2018-11-23 12:18:36,785 INFO L273 TraceCheckUtils]: 113: Hoare triple {40981#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {40981#true} is VALID [2018-11-23 12:18:36,785 INFO L256 TraceCheckUtils]: 114: Hoare triple {40981#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {40981#true} is VALID [2018-11-23 12:18:36,785 INFO L273 TraceCheckUtils]: 115: Hoare triple {40981#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {40981#true} is VALID [2018-11-23 12:18:36,785 INFO L273 TraceCheckUtils]: 116: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,785 INFO L273 TraceCheckUtils]: 117: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,786 INFO L273 TraceCheckUtils]: 118: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,786 INFO L273 TraceCheckUtils]: 119: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,786 INFO L273 TraceCheckUtils]: 120: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,786 INFO L273 TraceCheckUtils]: 121: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,786 INFO L273 TraceCheckUtils]: 122: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,786 INFO L273 TraceCheckUtils]: 123: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,786 INFO L273 TraceCheckUtils]: 124: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,786 INFO L273 TraceCheckUtils]: 125: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,786 INFO L273 TraceCheckUtils]: 126: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,786 INFO L273 TraceCheckUtils]: 127: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,787 INFO L273 TraceCheckUtils]: 128: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,787 INFO L273 TraceCheckUtils]: 129: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,787 INFO L273 TraceCheckUtils]: 130: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,787 INFO L273 TraceCheckUtils]: 131: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,787 INFO L273 TraceCheckUtils]: 132: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,787 INFO L273 TraceCheckUtils]: 133: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,787 INFO L273 TraceCheckUtils]: 134: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,787 INFO L273 TraceCheckUtils]: 135: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,787 INFO L273 TraceCheckUtils]: 136: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,787 INFO L273 TraceCheckUtils]: 137: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,788 INFO L273 TraceCheckUtils]: 138: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,788 INFO L273 TraceCheckUtils]: 139: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,788 INFO L273 TraceCheckUtils]: 140: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,788 INFO L273 TraceCheckUtils]: 141: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,788 INFO L273 TraceCheckUtils]: 142: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,788 INFO L273 TraceCheckUtils]: 143: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,788 INFO L273 TraceCheckUtils]: 144: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,788 INFO L273 TraceCheckUtils]: 145: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,788 INFO L273 TraceCheckUtils]: 146: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,789 INFO L273 TraceCheckUtils]: 147: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,789 INFO L273 TraceCheckUtils]: 148: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,789 INFO L273 TraceCheckUtils]: 149: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,789 INFO L273 TraceCheckUtils]: 150: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,789 INFO L273 TraceCheckUtils]: 151: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,789 INFO L273 TraceCheckUtils]: 152: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,789 INFO L273 TraceCheckUtils]: 153: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,789 INFO L273 TraceCheckUtils]: 154: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,789 INFO L273 TraceCheckUtils]: 155: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,789 INFO L273 TraceCheckUtils]: 156: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,790 INFO L273 TraceCheckUtils]: 157: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,790 INFO L273 TraceCheckUtils]: 158: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,790 INFO L273 TraceCheckUtils]: 159: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,790 INFO L273 TraceCheckUtils]: 160: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,790 INFO L273 TraceCheckUtils]: 161: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,790 INFO L273 TraceCheckUtils]: 162: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,790 INFO L273 TraceCheckUtils]: 163: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,790 INFO L273 TraceCheckUtils]: 164: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,790 INFO L273 TraceCheckUtils]: 165: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,790 INFO L273 TraceCheckUtils]: 166: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,791 INFO L273 TraceCheckUtils]: 167: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,791 INFO L273 TraceCheckUtils]: 168: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,791 INFO L273 TraceCheckUtils]: 169: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,791 INFO L273 TraceCheckUtils]: 170: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,791 INFO L273 TraceCheckUtils]: 171: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,791 INFO L273 TraceCheckUtils]: 172: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,791 INFO L273 TraceCheckUtils]: 173: Hoare triple {40981#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40981#true} is VALID [2018-11-23 12:18:36,791 INFO L273 TraceCheckUtils]: 174: Hoare triple {40981#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40981#true} is VALID [2018-11-23 12:18:36,791 INFO L273 TraceCheckUtils]: 175: Hoare triple {40981#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40981#true} is VALID [2018-11-23 12:18:36,791 INFO L273 TraceCheckUtils]: 176: Hoare triple {40981#true} assume !(~i~0 < 20); {40981#true} is VALID [2018-11-23 12:18:36,792 INFO L273 TraceCheckUtils]: 177: Hoare triple {40981#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {40981#true} is VALID [2018-11-23 12:18:36,792 INFO L273 TraceCheckUtils]: 178: Hoare triple {40981#true} assume true; {40981#true} is VALID [2018-11-23 12:18:36,792 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {40981#true} {40981#true} #77#return; {40981#true} is VALID [2018-11-23 12:18:36,794 INFO L273 TraceCheckUtils]: 180: Hoare triple {40981#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {41543#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:36,794 INFO L273 TraceCheckUtils]: 181: Hoare triple {41543#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {41543#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:36,795 INFO L273 TraceCheckUtils]: 182: Hoare triple {41543#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40984#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:36,796 INFO L273 TraceCheckUtils]: 183: Hoare triple {40984#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40984#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:36,796 INFO L273 TraceCheckUtils]: 184: Hoare triple {40984#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40985#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:36,798 INFO L273 TraceCheckUtils]: 185: Hoare triple {40985#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40985#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:36,798 INFO L273 TraceCheckUtils]: 186: Hoare triple {40985#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40986#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:36,799 INFO L273 TraceCheckUtils]: 187: Hoare triple {40986#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40986#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:36,800 INFO L273 TraceCheckUtils]: 188: Hoare triple {40986#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40987#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:36,800 INFO L273 TraceCheckUtils]: 189: Hoare triple {40987#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40987#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:36,802 INFO L273 TraceCheckUtils]: 190: Hoare triple {40987#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40988#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:36,802 INFO L273 TraceCheckUtils]: 191: Hoare triple {40988#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40988#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:36,803 INFO L273 TraceCheckUtils]: 192: Hoare triple {40988#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40989#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:36,803 INFO L273 TraceCheckUtils]: 193: Hoare triple {40989#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40989#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:36,804 INFO L273 TraceCheckUtils]: 194: Hoare triple {40989#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40990#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:36,804 INFO L273 TraceCheckUtils]: 195: Hoare triple {40990#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40990#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:36,805 INFO L273 TraceCheckUtils]: 196: Hoare triple {40990#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40991#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:36,805 INFO L273 TraceCheckUtils]: 197: Hoare triple {40991#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40991#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:36,805 INFO L273 TraceCheckUtils]: 198: Hoare triple {40991#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40992#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:36,806 INFO L273 TraceCheckUtils]: 199: Hoare triple {40992#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40992#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:36,807 INFO L273 TraceCheckUtils]: 200: Hoare triple {40992#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40993#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:36,807 INFO L273 TraceCheckUtils]: 201: Hoare triple {40993#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40993#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:36,808 INFO L273 TraceCheckUtils]: 202: Hoare triple {40993#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40994#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:36,808 INFO L273 TraceCheckUtils]: 203: Hoare triple {40994#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40994#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:36,809 INFO L273 TraceCheckUtils]: 204: Hoare triple {40994#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40995#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:36,810 INFO L273 TraceCheckUtils]: 205: Hoare triple {40995#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40995#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:36,810 INFO L273 TraceCheckUtils]: 206: Hoare triple {40995#(<= main_~i~2 12)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40996#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:36,811 INFO L273 TraceCheckUtils]: 207: Hoare triple {40996#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40996#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:36,811 INFO L273 TraceCheckUtils]: 208: Hoare triple {40996#(<= main_~i~2 13)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40997#(<= main_~i~2 14)} is VALID [2018-11-23 12:18:36,812 INFO L273 TraceCheckUtils]: 209: Hoare triple {40997#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40997#(<= main_~i~2 14)} is VALID [2018-11-23 12:18:36,813 INFO L273 TraceCheckUtils]: 210: Hoare triple {40997#(<= main_~i~2 14)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40998#(<= main_~i~2 15)} is VALID [2018-11-23 12:18:36,813 INFO L273 TraceCheckUtils]: 211: Hoare triple {40998#(<= main_~i~2 15)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40998#(<= main_~i~2 15)} is VALID [2018-11-23 12:18:36,814 INFO L273 TraceCheckUtils]: 212: Hoare triple {40998#(<= main_~i~2 15)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40999#(<= main_~i~2 16)} is VALID [2018-11-23 12:18:36,815 INFO L273 TraceCheckUtils]: 213: Hoare triple {40999#(<= main_~i~2 16)} assume !(~i~2 < 19); {40982#false} is VALID [2018-11-23 12:18:36,815 INFO L273 TraceCheckUtils]: 214: Hoare triple {40982#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {40982#false} is VALID [2018-11-23 12:18:36,815 INFO L256 TraceCheckUtils]: 215: Hoare triple {40982#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {40982#false} is VALID [2018-11-23 12:18:36,815 INFO L273 TraceCheckUtils]: 216: Hoare triple {40982#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {40982#false} is VALID [2018-11-23 12:18:36,815 INFO L273 TraceCheckUtils]: 217: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,816 INFO L273 TraceCheckUtils]: 218: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,816 INFO L273 TraceCheckUtils]: 219: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,816 INFO L273 TraceCheckUtils]: 220: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,816 INFO L273 TraceCheckUtils]: 221: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,816 INFO L273 TraceCheckUtils]: 222: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,816 INFO L273 TraceCheckUtils]: 223: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,817 INFO L273 TraceCheckUtils]: 224: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,817 INFO L273 TraceCheckUtils]: 225: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,817 INFO L273 TraceCheckUtils]: 226: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,817 INFO L273 TraceCheckUtils]: 227: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,817 INFO L273 TraceCheckUtils]: 228: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,817 INFO L273 TraceCheckUtils]: 229: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,818 INFO L273 TraceCheckUtils]: 230: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,818 INFO L273 TraceCheckUtils]: 231: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,818 INFO L273 TraceCheckUtils]: 232: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,818 INFO L273 TraceCheckUtils]: 233: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,818 INFO L273 TraceCheckUtils]: 234: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,818 INFO L273 TraceCheckUtils]: 235: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,818 INFO L273 TraceCheckUtils]: 236: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,818 INFO L273 TraceCheckUtils]: 237: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,818 INFO L273 TraceCheckUtils]: 238: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,819 INFO L273 TraceCheckUtils]: 239: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,819 INFO L273 TraceCheckUtils]: 240: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,819 INFO L273 TraceCheckUtils]: 241: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,819 INFO L273 TraceCheckUtils]: 242: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,819 INFO L273 TraceCheckUtils]: 243: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,819 INFO L273 TraceCheckUtils]: 244: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,819 INFO L273 TraceCheckUtils]: 245: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,819 INFO L273 TraceCheckUtils]: 246: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,819 INFO L273 TraceCheckUtils]: 247: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,819 INFO L273 TraceCheckUtils]: 248: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,820 INFO L273 TraceCheckUtils]: 249: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,820 INFO L273 TraceCheckUtils]: 250: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,820 INFO L273 TraceCheckUtils]: 251: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,820 INFO L273 TraceCheckUtils]: 252: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,820 INFO L273 TraceCheckUtils]: 253: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,820 INFO L273 TraceCheckUtils]: 254: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,820 INFO L273 TraceCheckUtils]: 255: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,820 INFO L273 TraceCheckUtils]: 256: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,820 INFO L273 TraceCheckUtils]: 257: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,820 INFO L273 TraceCheckUtils]: 258: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,821 INFO L273 TraceCheckUtils]: 259: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,821 INFO L273 TraceCheckUtils]: 260: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,821 INFO L273 TraceCheckUtils]: 261: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,821 INFO L273 TraceCheckUtils]: 262: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,821 INFO L273 TraceCheckUtils]: 263: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,821 INFO L273 TraceCheckUtils]: 264: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,821 INFO L273 TraceCheckUtils]: 265: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,821 INFO L273 TraceCheckUtils]: 266: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,821 INFO L273 TraceCheckUtils]: 267: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,821 INFO L273 TraceCheckUtils]: 268: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,822 INFO L273 TraceCheckUtils]: 269: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,822 INFO L273 TraceCheckUtils]: 270: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,822 INFO L273 TraceCheckUtils]: 271: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,822 INFO L273 TraceCheckUtils]: 272: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,822 INFO L273 TraceCheckUtils]: 273: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,822 INFO L273 TraceCheckUtils]: 274: Hoare triple {40982#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40982#false} is VALID [2018-11-23 12:18:36,822 INFO L273 TraceCheckUtils]: 275: Hoare triple {40982#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40982#false} is VALID [2018-11-23 12:18:36,822 INFO L273 TraceCheckUtils]: 276: Hoare triple {40982#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40982#false} is VALID [2018-11-23 12:18:36,822 INFO L273 TraceCheckUtils]: 277: Hoare triple {40982#false} assume !(~i~0 < 20); {40982#false} is VALID [2018-11-23 12:18:36,822 INFO L273 TraceCheckUtils]: 278: Hoare triple {40982#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {40982#false} is VALID [2018-11-23 12:18:36,823 INFO L273 TraceCheckUtils]: 279: Hoare triple {40982#false} assume true; {40982#false} is VALID [2018-11-23 12:18:36,823 INFO L268 TraceCheckUtils]: 280: Hoare quadruple {40982#false} {40982#false} #79#return; {40982#false} is VALID [2018-11-23 12:18:36,823 INFO L273 TraceCheckUtils]: 281: Hoare triple {40982#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {40982#false} is VALID [2018-11-23 12:18:36,823 INFO L273 TraceCheckUtils]: 282: Hoare triple {40982#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {40982#false} is VALID [2018-11-23 12:18:36,823 INFO L273 TraceCheckUtils]: 283: Hoare triple {40982#false} assume !false; {40982#false} is VALID [2018-11-23 12:18:36,852 INFO L134 CoverageAnalysis]: Checked inductivity of 6161 backedges. 2490 proven. 256 refuted. 0 times theorem prover too weak. 3415 trivial. 0 not checked. [2018-11-23 12:18:36,872 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:36,872 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 20 [2018-11-23 12:18:36,873 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 284 [2018-11-23 12:18:36,873 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:36,873 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 12:18:36,949 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:36,950 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 12:18:36,950 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 12:18:36,950 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:18:36,950 INFO L87 Difference]: Start difference. First operand 155 states and 179 transitions. Second operand 20 states. [2018-11-23 12:18:37,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:37,296 INFO L93 Difference]: Finished difference Result 229 states and 274 transitions. [2018-11-23 12:18:37,296 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 12:18:37,296 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 284 [2018-11-23 12:18:37,297 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:37,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:18:37,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 81 transitions. [2018-11-23 12:18:37,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:18:37,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 81 transitions. [2018-11-23 12:18:37,298 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 81 transitions. [2018-11-23 12:18:37,385 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:37,389 INFO L225 Difference]: With dead ends: 229 [2018-11-23 12:18:37,389 INFO L226 Difference]: Without dead ends: 158 [2018-11-23 12:18:37,390 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 302 GetRequests, 284 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:18:37,390 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states. [2018-11-23 12:18:37,439 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 157. [2018-11-23 12:18:37,439 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:37,440 INFO L82 GeneralOperation]: Start isEquivalent. First operand 158 states. Second operand 157 states. [2018-11-23 12:18:37,440 INFO L74 IsIncluded]: Start isIncluded. First operand 158 states. Second operand 157 states. [2018-11-23 12:18:37,440 INFO L87 Difference]: Start difference. First operand 158 states. Second operand 157 states. [2018-11-23 12:18:37,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:37,442 INFO L93 Difference]: Finished difference Result 158 states and 182 transitions. [2018-11-23 12:18:37,442 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 182 transitions. [2018-11-23 12:18:37,443 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:37,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:37,443 INFO L74 IsIncluded]: Start isIncluded. First operand 157 states. Second operand 158 states. [2018-11-23 12:18:37,443 INFO L87 Difference]: Start difference. First operand 157 states. Second operand 158 states. [2018-11-23 12:18:37,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:37,445 INFO L93 Difference]: Finished difference Result 158 states and 182 transitions. [2018-11-23 12:18:37,445 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 182 transitions. [2018-11-23 12:18:37,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:37,446 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:37,446 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:37,446 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:37,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 157 states. [2018-11-23 12:18:37,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 181 transitions. [2018-11-23 12:18:37,448 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 181 transitions. Word has length 284 [2018-11-23 12:18:37,448 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:37,448 INFO L480 AbstractCegarLoop]: Abstraction has 157 states and 181 transitions. [2018-11-23 12:18:37,448 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 12:18:37,448 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 181 transitions. [2018-11-23 12:18:37,449 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 287 [2018-11-23 12:18:37,449 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:37,450 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 60, 20, 20, 17, 17, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:18:37,450 INFO L423 AbstractCegarLoop]: === Iteration 45 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:37,450 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:37,450 INFO L82 PathProgramCache]: Analyzing trace with hash -1721362052, now seen corresponding path program 41 times [2018-11-23 12:18:37,450 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:37,450 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:37,451 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:37,451 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:37,451 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:37,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:37,854 INFO L256 TraceCheckUtils]: 0: Hoare triple {42713#true} call ULTIMATE.init(); {42713#true} is VALID [2018-11-23 12:18:37,855 INFO L273 TraceCheckUtils]: 1: Hoare triple {42713#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {42713#true} is VALID [2018-11-23 12:18:37,855 INFO L273 TraceCheckUtils]: 2: Hoare triple {42713#true} assume true; {42713#true} is VALID [2018-11-23 12:18:37,855 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {42713#true} {42713#true} #71#return; {42713#true} is VALID [2018-11-23 12:18:37,855 INFO L256 TraceCheckUtils]: 4: Hoare triple {42713#true} call #t~ret14 := main(); {42713#true} is VALID [2018-11-23 12:18:37,856 INFO L273 TraceCheckUtils]: 5: Hoare triple {42713#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {42713#true} is VALID [2018-11-23 12:18:37,856 INFO L273 TraceCheckUtils]: 6: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,856 INFO L273 TraceCheckUtils]: 7: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,856 INFO L273 TraceCheckUtils]: 8: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,856 INFO L273 TraceCheckUtils]: 9: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,856 INFO L273 TraceCheckUtils]: 10: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,857 INFO L273 TraceCheckUtils]: 11: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,857 INFO L273 TraceCheckUtils]: 12: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,857 INFO L273 TraceCheckUtils]: 13: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,857 INFO L273 TraceCheckUtils]: 14: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,857 INFO L273 TraceCheckUtils]: 15: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,857 INFO L273 TraceCheckUtils]: 16: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,857 INFO L273 TraceCheckUtils]: 17: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,857 INFO L273 TraceCheckUtils]: 18: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,857 INFO L273 TraceCheckUtils]: 19: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,858 INFO L273 TraceCheckUtils]: 20: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,858 INFO L273 TraceCheckUtils]: 21: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,858 INFO L273 TraceCheckUtils]: 22: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,858 INFO L273 TraceCheckUtils]: 23: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,858 INFO L273 TraceCheckUtils]: 24: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,858 INFO L273 TraceCheckUtils]: 25: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,858 INFO L273 TraceCheckUtils]: 26: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,858 INFO L273 TraceCheckUtils]: 27: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,858 INFO L273 TraceCheckUtils]: 28: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,858 INFO L273 TraceCheckUtils]: 29: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,859 INFO L273 TraceCheckUtils]: 30: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,859 INFO L273 TraceCheckUtils]: 31: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,859 INFO L273 TraceCheckUtils]: 32: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,859 INFO L273 TraceCheckUtils]: 33: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,859 INFO L273 TraceCheckUtils]: 34: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,859 INFO L273 TraceCheckUtils]: 35: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,859 INFO L273 TraceCheckUtils]: 36: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,859 INFO L273 TraceCheckUtils]: 37: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,859 INFO L273 TraceCheckUtils]: 38: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,859 INFO L273 TraceCheckUtils]: 39: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,860 INFO L273 TraceCheckUtils]: 40: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,860 INFO L273 TraceCheckUtils]: 41: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,860 INFO L273 TraceCheckUtils]: 42: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,860 INFO L273 TraceCheckUtils]: 43: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,860 INFO L273 TraceCheckUtils]: 44: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:18:37,860 INFO L273 TraceCheckUtils]: 45: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:18:37,860 INFO L273 TraceCheckUtils]: 46: Hoare triple {42713#true} assume !(~i~1 < 20); {42713#true} is VALID [2018-11-23 12:18:37,860 INFO L256 TraceCheckUtils]: 47: Hoare triple {42713#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {42713#true} is VALID [2018-11-23 12:18:37,860 INFO L273 TraceCheckUtils]: 48: Hoare triple {42713#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {42713#true} is VALID [2018-11-23 12:18:37,861 INFO L273 TraceCheckUtils]: 49: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,861 INFO L273 TraceCheckUtils]: 50: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,861 INFO L273 TraceCheckUtils]: 51: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,861 INFO L273 TraceCheckUtils]: 52: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,861 INFO L273 TraceCheckUtils]: 53: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,861 INFO L273 TraceCheckUtils]: 54: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,861 INFO L273 TraceCheckUtils]: 55: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,861 INFO L273 TraceCheckUtils]: 56: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,861 INFO L273 TraceCheckUtils]: 57: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,861 INFO L273 TraceCheckUtils]: 58: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,862 INFO L273 TraceCheckUtils]: 59: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,862 INFO L273 TraceCheckUtils]: 60: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,862 INFO L273 TraceCheckUtils]: 61: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,862 INFO L273 TraceCheckUtils]: 62: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,862 INFO L273 TraceCheckUtils]: 63: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,862 INFO L273 TraceCheckUtils]: 64: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,862 INFO L273 TraceCheckUtils]: 65: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,862 INFO L273 TraceCheckUtils]: 66: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,862 INFO L273 TraceCheckUtils]: 67: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,862 INFO L273 TraceCheckUtils]: 68: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,863 INFO L273 TraceCheckUtils]: 69: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,863 INFO L273 TraceCheckUtils]: 70: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,863 INFO L273 TraceCheckUtils]: 71: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,863 INFO L273 TraceCheckUtils]: 72: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,863 INFO L273 TraceCheckUtils]: 73: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,863 INFO L273 TraceCheckUtils]: 74: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,863 INFO L273 TraceCheckUtils]: 75: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,863 INFO L273 TraceCheckUtils]: 76: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,863 INFO L273 TraceCheckUtils]: 77: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,863 INFO L273 TraceCheckUtils]: 78: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,864 INFO L273 TraceCheckUtils]: 79: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,864 INFO L273 TraceCheckUtils]: 80: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,864 INFO L273 TraceCheckUtils]: 81: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,864 INFO L273 TraceCheckUtils]: 82: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,864 INFO L273 TraceCheckUtils]: 83: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,864 INFO L273 TraceCheckUtils]: 84: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,864 INFO L273 TraceCheckUtils]: 85: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,864 INFO L273 TraceCheckUtils]: 86: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,864 INFO L273 TraceCheckUtils]: 87: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,865 INFO L273 TraceCheckUtils]: 88: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,865 INFO L273 TraceCheckUtils]: 89: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,865 INFO L273 TraceCheckUtils]: 90: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,865 INFO L273 TraceCheckUtils]: 91: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,865 INFO L273 TraceCheckUtils]: 92: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,865 INFO L273 TraceCheckUtils]: 93: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,865 INFO L273 TraceCheckUtils]: 94: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,865 INFO L273 TraceCheckUtils]: 95: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,865 INFO L273 TraceCheckUtils]: 96: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,865 INFO L273 TraceCheckUtils]: 97: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,866 INFO L273 TraceCheckUtils]: 98: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,866 INFO L273 TraceCheckUtils]: 99: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,866 INFO L273 TraceCheckUtils]: 100: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,866 INFO L273 TraceCheckUtils]: 101: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,866 INFO L273 TraceCheckUtils]: 102: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,866 INFO L273 TraceCheckUtils]: 103: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,866 INFO L273 TraceCheckUtils]: 104: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,866 INFO L273 TraceCheckUtils]: 105: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,866 INFO L273 TraceCheckUtils]: 106: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,866 INFO L273 TraceCheckUtils]: 107: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,867 INFO L273 TraceCheckUtils]: 108: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,867 INFO L273 TraceCheckUtils]: 109: Hoare triple {42713#true} assume !(~i~0 < 20); {42713#true} is VALID [2018-11-23 12:18:37,867 INFO L273 TraceCheckUtils]: 110: Hoare triple {42713#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {42713#true} is VALID [2018-11-23 12:18:37,867 INFO L273 TraceCheckUtils]: 111: Hoare triple {42713#true} assume true; {42713#true} is VALID [2018-11-23 12:18:37,867 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {42713#true} {42713#true} #75#return; {42713#true} is VALID [2018-11-23 12:18:37,867 INFO L273 TraceCheckUtils]: 113: Hoare triple {42713#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {42713#true} is VALID [2018-11-23 12:18:37,867 INFO L256 TraceCheckUtils]: 114: Hoare triple {42713#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {42713#true} is VALID [2018-11-23 12:18:37,867 INFO L273 TraceCheckUtils]: 115: Hoare triple {42713#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {42713#true} is VALID [2018-11-23 12:18:37,867 INFO L273 TraceCheckUtils]: 116: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,867 INFO L273 TraceCheckUtils]: 117: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,868 INFO L273 TraceCheckUtils]: 118: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,868 INFO L273 TraceCheckUtils]: 119: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,868 INFO L273 TraceCheckUtils]: 120: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,868 INFO L273 TraceCheckUtils]: 121: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,868 INFO L273 TraceCheckUtils]: 122: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,868 INFO L273 TraceCheckUtils]: 123: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,868 INFO L273 TraceCheckUtils]: 124: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,868 INFO L273 TraceCheckUtils]: 125: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,868 INFO L273 TraceCheckUtils]: 126: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,868 INFO L273 TraceCheckUtils]: 127: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,869 INFO L273 TraceCheckUtils]: 128: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,869 INFO L273 TraceCheckUtils]: 129: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,869 INFO L273 TraceCheckUtils]: 130: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,869 INFO L273 TraceCheckUtils]: 131: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,869 INFO L273 TraceCheckUtils]: 132: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,869 INFO L273 TraceCheckUtils]: 133: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,869 INFO L273 TraceCheckUtils]: 134: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,869 INFO L273 TraceCheckUtils]: 135: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,869 INFO L273 TraceCheckUtils]: 136: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,869 INFO L273 TraceCheckUtils]: 137: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,870 INFO L273 TraceCheckUtils]: 138: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,870 INFO L273 TraceCheckUtils]: 139: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,870 INFO L273 TraceCheckUtils]: 140: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,870 INFO L273 TraceCheckUtils]: 141: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,870 INFO L273 TraceCheckUtils]: 142: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,870 INFO L273 TraceCheckUtils]: 143: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,870 INFO L273 TraceCheckUtils]: 144: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,870 INFO L273 TraceCheckUtils]: 145: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,870 INFO L273 TraceCheckUtils]: 146: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,871 INFO L273 TraceCheckUtils]: 147: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,871 INFO L273 TraceCheckUtils]: 148: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,871 INFO L273 TraceCheckUtils]: 149: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,871 INFO L273 TraceCheckUtils]: 150: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,871 INFO L273 TraceCheckUtils]: 151: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,871 INFO L273 TraceCheckUtils]: 152: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,871 INFO L273 TraceCheckUtils]: 153: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,871 INFO L273 TraceCheckUtils]: 154: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,871 INFO L273 TraceCheckUtils]: 155: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,871 INFO L273 TraceCheckUtils]: 156: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,872 INFO L273 TraceCheckUtils]: 157: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,872 INFO L273 TraceCheckUtils]: 158: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,872 INFO L273 TraceCheckUtils]: 159: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,872 INFO L273 TraceCheckUtils]: 160: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,872 INFO L273 TraceCheckUtils]: 161: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,872 INFO L273 TraceCheckUtils]: 162: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,872 INFO L273 TraceCheckUtils]: 163: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,872 INFO L273 TraceCheckUtils]: 164: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,873 INFO L273 TraceCheckUtils]: 165: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,873 INFO L273 TraceCheckUtils]: 166: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,873 INFO L273 TraceCheckUtils]: 167: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,873 INFO L273 TraceCheckUtils]: 168: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,873 INFO L273 TraceCheckUtils]: 169: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,873 INFO L273 TraceCheckUtils]: 170: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,873 INFO L273 TraceCheckUtils]: 171: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,873 INFO L273 TraceCheckUtils]: 172: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,873 INFO L273 TraceCheckUtils]: 173: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,873 INFO L273 TraceCheckUtils]: 174: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,874 INFO L273 TraceCheckUtils]: 175: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,874 INFO L273 TraceCheckUtils]: 176: Hoare triple {42713#true} assume !(~i~0 < 20); {42713#true} is VALID [2018-11-23 12:18:37,874 INFO L273 TraceCheckUtils]: 177: Hoare triple {42713#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {42713#true} is VALID [2018-11-23 12:18:37,874 INFO L273 TraceCheckUtils]: 178: Hoare triple {42713#true} assume true; {42713#true} is VALID [2018-11-23 12:18:37,874 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {42713#true} {42713#true} #77#return; {42713#true} is VALID [2018-11-23 12:18:37,874 INFO L273 TraceCheckUtils]: 180: Hoare triple {42713#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {42715#(= main_~i~2 0)} is VALID [2018-11-23 12:18:37,875 INFO L273 TraceCheckUtils]: 181: Hoare triple {42715#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42715#(= main_~i~2 0)} is VALID [2018-11-23 12:18:37,875 INFO L273 TraceCheckUtils]: 182: Hoare triple {42715#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42716#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:37,875 INFO L273 TraceCheckUtils]: 183: Hoare triple {42716#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42716#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:37,876 INFO L273 TraceCheckUtils]: 184: Hoare triple {42716#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42717#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:37,876 INFO L273 TraceCheckUtils]: 185: Hoare triple {42717#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42717#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:37,877 INFO L273 TraceCheckUtils]: 186: Hoare triple {42717#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42718#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:37,877 INFO L273 TraceCheckUtils]: 187: Hoare triple {42718#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42718#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:37,877 INFO L273 TraceCheckUtils]: 188: Hoare triple {42718#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42719#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:37,878 INFO L273 TraceCheckUtils]: 189: Hoare triple {42719#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42719#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:37,879 INFO L273 TraceCheckUtils]: 190: Hoare triple {42719#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42720#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:37,879 INFO L273 TraceCheckUtils]: 191: Hoare triple {42720#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42720#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:37,880 INFO L273 TraceCheckUtils]: 192: Hoare triple {42720#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42721#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:37,880 INFO L273 TraceCheckUtils]: 193: Hoare triple {42721#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42721#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:37,881 INFO L273 TraceCheckUtils]: 194: Hoare triple {42721#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42722#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:37,882 INFO L273 TraceCheckUtils]: 195: Hoare triple {42722#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42722#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:37,882 INFO L273 TraceCheckUtils]: 196: Hoare triple {42722#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42723#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:37,883 INFO L273 TraceCheckUtils]: 197: Hoare triple {42723#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42723#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:37,884 INFO L273 TraceCheckUtils]: 198: Hoare triple {42723#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42724#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:37,884 INFO L273 TraceCheckUtils]: 199: Hoare triple {42724#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42724#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:37,885 INFO L273 TraceCheckUtils]: 200: Hoare triple {42724#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42725#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:37,885 INFO L273 TraceCheckUtils]: 201: Hoare triple {42725#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42725#(<= main_~i~2 10)} is VALID [2018-11-23 12:18:37,886 INFO L273 TraceCheckUtils]: 202: Hoare triple {42725#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42726#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:37,887 INFO L273 TraceCheckUtils]: 203: Hoare triple {42726#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42726#(<= main_~i~2 11)} is VALID [2018-11-23 12:18:37,887 INFO L273 TraceCheckUtils]: 204: Hoare triple {42726#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42727#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:37,888 INFO L273 TraceCheckUtils]: 205: Hoare triple {42727#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42727#(<= main_~i~2 12)} is VALID [2018-11-23 12:18:37,888 INFO L273 TraceCheckUtils]: 206: Hoare triple {42727#(<= main_~i~2 12)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42728#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:37,889 INFO L273 TraceCheckUtils]: 207: Hoare triple {42728#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42728#(<= main_~i~2 13)} is VALID [2018-11-23 12:18:37,890 INFO L273 TraceCheckUtils]: 208: Hoare triple {42728#(<= main_~i~2 13)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42729#(<= main_~i~2 14)} is VALID [2018-11-23 12:18:37,890 INFO L273 TraceCheckUtils]: 209: Hoare triple {42729#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42729#(<= main_~i~2 14)} is VALID [2018-11-23 12:18:37,891 INFO L273 TraceCheckUtils]: 210: Hoare triple {42729#(<= main_~i~2 14)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42730#(<= main_~i~2 15)} is VALID [2018-11-23 12:18:37,891 INFO L273 TraceCheckUtils]: 211: Hoare triple {42730#(<= main_~i~2 15)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42730#(<= main_~i~2 15)} is VALID [2018-11-23 12:18:37,892 INFO L273 TraceCheckUtils]: 212: Hoare triple {42730#(<= main_~i~2 15)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42731#(<= main_~i~2 16)} is VALID [2018-11-23 12:18:37,893 INFO L273 TraceCheckUtils]: 213: Hoare triple {42731#(<= main_~i~2 16)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42731#(<= main_~i~2 16)} is VALID [2018-11-23 12:18:37,893 INFO L273 TraceCheckUtils]: 214: Hoare triple {42731#(<= main_~i~2 16)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42732#(<= main_~i~2 17)} is VALID [2018-11-23 12:18:37,894 INFO L273 TraceCheckUtils]: 215: Hoare triple {42732#(<= main_~i~2 17)} assume !(~i~2 < 19); {42714#false} is VALID [2018-11-23 12:18:37,894 INFO L273 TraceCheckUtils]: 216: Hoare triple {42714#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {42714#false} is VALID [2018-11-23 12:18:37,895 INFO L256 TraceCheckUtils]: 217: Hoare triple {42714#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {42713#true} is VALID [2018-11-23 12:18:37,895 INFO L273 TraceCheckUtils]: 218: Hoare triple {42713#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {42713#true} is VALID [2018-11-23 12:18:37,895 INFO L273 TraceCheckUtils]: 219: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,895 INFO L273 TraceCheckUtils]: 220: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,895 INFO L273 TraceCheckUtils]: 221: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,895 INFO L273 TraceCheckUtils]: 222: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,896 INFO L273 TraceCheckUtils]: 223: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,896 INFO L273 TraceCheckUtils]: 224: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,896 INFO L273 TraceCheckUtils]: 225: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,896 INFO L273 TraceCheckUtils]: 226: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,896 INFO L273 TraceCheckUtils]: 227: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,896 INFO L273 TraceCheckUtils]: 228: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,897 INFO L273 TraceCheckUtils]: 229: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,897 INFO L273 TraceCheckUtils]: 230: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,897 INFO L273 TraceCheckUtils]: 231: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,897 INFO L273 TraceCheckUtils]: 232: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,897 INFO L273 TraceCheckUtils]: 233: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,898 INFO L273 TraceCheckUtils]: 234: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,898 INFO L273 TraceCheckUtils]: 235: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,898 INFO L273 TraceCheckUtils]: 236: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,898 INFO L273 TraceCheckUtils]: 237: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,898 INFO L273 TraceCheckUtils]: 238: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,898 INFO L273 TraceCheckUtils]: 239: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,899 INFO L273 TraceCheckUtils]: 240: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,899 INFO L273 TraceCheckUtils]: 241: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,899 INFO L273 TraceCheckUtils]: 242: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,899 INFO L273 TraceCheckUtils]: 243: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,899 INFO L273 TraceCheckUtils]: 244: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,899 INFO L273 TraceCheckUtils]: 245: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,899 INFO L273 TraceCheckUtils]: 246: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,899 INFO L273 TraceCheckUtils]: 247: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,899 INFO L273 TraceCheckUtils]: 248: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,899 INFO L273 TraceCheckUtils]: 249: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,900 INFO L273 TraceCheckUtils]: 250: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,900 INFO L273 TraceCheckUtils]: 251: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,900 INFO L273 TraceCheckUtils]: 252: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,900 INFO L273 TraceCheckUtils]: 253: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,900 INFO L273 TraceCheckUtils]: 254: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,900 INFO L273 TraceCheckUtils]: 255: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,900 INFO L273 TraceCheckUtils]: 256: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,900 INFO L273 TraceCheckUtils]: 257: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,900 INFO L273 TraceCheckUtils]: 258: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,900 INFO L273 TraceCheckUtils]: 259: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,901 INFO L273 TraceCheckUtils]: 260: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,901 INFO L273 TraceCheckUtils]: 261: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,901 INFO L273 TraceCheckUtils]: 262: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,901 INFO L273 TraceCheckUtils]: 263: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,901 INFO L273 TraceCheckUtils]: 264: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,901 INFO L273 TraceCheckUtils]: 265: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,901 INFO L273 TraceCheckUtils]: 266: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,901 INFO L273 TraceCheckUtils]: 267: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,901 INFO L273 TraceCheckUtils]: 268: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,902 INFO L273 TraceCheckUtils]: 269: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,902 INFO L273 TraceCheckUtils]: 270: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,902 INFO L273 TraceCheckUtils]: 271: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,902 INFO L273 TraceCheckUtils]: 272: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,902 INFO L273 TraceCheckUtils]: 273: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,902 INFO L273 TraceCheckUtils]: 274: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,902 INFO L273 TraceCheckUtils]: 275: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,902 INFO L273 TraceCheckUtils]: 276: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:18:37,902 INFO L273 TraceCheckUtils]: 277: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:18:37,902 INFO L273 TraceCheckUtils]: 278: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:18:37,902 INFO L273 TraceCheckUtils]: 279: Hoare triple {42713#true} assume !(~i~0 < 20); {42713#true} is VALID [2018-11-23 12:18:37,903 INFO L273 TraceCheckUtils]: 280: Hoare triple {42713#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {42713#true} is VALID [2018-11-23 12:18:37,903 INFO L273 TraceCheckUtils]: 281: Hoare triple {42713#true} assume true; {42713#true} is VALID [2018-11-23 12:18:37,903 INFO L268 TraceCheckUtils]: 282: Hoare quadruple {42713#true} {42714#false} #79#return; {42714#false} is VALID [2018-11-23 12:18:37,903 INFO L273 TraceCheckUtils]: 283: Hoare triple {42714#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {42714#false} is VALID [2018-11-23 12:18:37,903 INFO L273 TraceCheckUtils]: 284: Hoare triple {42714#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {42714#false} is VALID [2018-11-23 12:18:37,903 INFO L273 TraceCheckUtils]: 285: Hoare triple {42714#false} assume !false; {42714#false} is VALID [2018-11-23 12:18:37,931 INFO L134 CoverageAnalysis]: Checked inductivity of 6194 backedges. 0 proven. 289 refuted. 0 times theorem prover too weak. 5905 trivial. 0 not checked. [2018-11-23 12:18:37,931 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:37,932 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 43 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 43 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:18:37,941 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:19:05,663 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 41 check-sat command(s) [2018-11-23 12:19:05,664 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:19:05,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:05,740 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:19:06,109 INFO L256 TraceCheckUtils]: 0: Hoare triple {42713#true} call ULTIMATE.init(); {42713#true} is VALID [2018-11-23 12:19:06,109 INFO L273 TraceCheckUtils]: 1: Hoare triple {42713#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {42713#true} is VALID [2018-11-23 12:19:06,109 INFO L273 TraceCheckUtils]: 2: Hoare triple {42713#true} assume true; {42713#true} is VALID [2018-11-23 12:19:06,109 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {42713#true} {42713#true} #71#return; {42713#true} is VALID [2018-11-23 12:19:06,109 INFO L256 TraceCheckUtils]: 4: Hoare triple {42713#true} call #t~ret14 := main(); {42713#true} is VALID [2018-11-23 12:19:06,110 INFO L273 TraceCheckUtils]: 5: Hoare triple {42713#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {42713#true} is VALID [2018-11-23 12:19:06,110 INFO L273 TraceCheckUtils]: 6: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,110 INFO L273 TraceCheckUtils]: 7: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,110 INFO L273 TraceCheckUtils]: 8: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,110 INFO L273 TraceCheckUtils]: 9: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,110 INFO L273 TraceCheckUtils]: 10: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,110 INFO L273 TraceCheckUtils]: 11: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,110 INFO L273 TraceCheckUtils]: 12: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,110 INFO L273 TraceCheckUtils]: 13: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,111 INFO L273 TraceCheckUtils]: 14: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,111 INFO L273 TraceCheckUtils]: 15: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,111 INFO L273 TraceCheckUtils]: 16: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,111 INFO L273 TraceCheckUtils]: 17: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,111 INFO L273 TraceCheckUtils]: 18: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,111 INFO L273 TraceCheckUtils]: 19: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,111 INFO L273 TraceCheckUtils]: 20: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,111 INFO L273 TraceCheckUtils]: 21: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,111 INFO L273 TraceCheckUtils]: 22: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,111 INFO L273 TraceCheckUtils]: 23: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,112 INFO L273 TraceCheckUtils]: 24: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,112 INFO L273 TraceCheckUtils]: 25: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,112 INFO L273 TraceCheckUtils]: 26: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,112 INFO L273 TraceCheckUtils]: 27: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,112 INFO L273 TraceCheckUtils]: 28: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,112 INFO L273 TraceCheckUtils]: 29: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,112 INFO L273 TraceCheckUtils]: 30: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,112 INFO L273 TraceCheckUtils]: 31: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,112 INFO L273 TraceCheckUtils]: 32: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,113 INFO L273 TraceCheckUtils]: 33: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,113 INFO L273 TraceCheckUtils]: 34: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,113 INFO L273 TraceCheckUtils]: 35: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,113 INFO L273 TraceCheckUtils]: 36: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,113 INFO L273 TraceCheckUtils]: 37: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,113 INFO L273 TraceCheckUtils]: 38: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,113 INFO L273 TraceCheckUtils]: 39: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,113 INFO L273 TraceCheckUtils]: 40: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,113 INFO L273 TraceCheckUtils]: 41: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,113 INFO L273 TraceCheckUtils]: 42: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,114 INFO L273 TraceCheckUtils]: 43: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,114 INFO L273 TraceCheckUtils]: 44: Hoare triple {42713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {42713#true} is VALID [2018-11-23 12:19:06,114 INFO L273 TraceCheckUtils]: 45: Hoare triple {42713#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {42713#true} is VALID [2018-11-23 12:19:06,114 INFO L273 TraceCheckUtils]: 46: Hoare triple {42713#true} assume !(~i~1 < 20); {42713#true} is VALID [2018-11-23 12:19:06,114 INFO L256 TraceCheckUtils]: 47: Hoare triple {42713#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {42713#true} is VALID [2018-11-23 12:19:06,114 INFO L273 TraceCheckUtils]: 48: Hoare triple {42713#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {42713#true} is VALID [2018-11-23 12:19:06,114 INFO L273 TraceCheckUtils]: 49: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,114 INFO L273 TraceCheckUtils]: 50: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,114 INFO L273 TraceCheckUtils]: 51: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,114 INFO L273 TraceCheckUtils]: 52: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,115 INFO L273 TraceCheckUtils]: 53: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,115 INFO L273 TraceCheckUtils]: 54: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,115 INFO L273 TraceCheckUtils]: 55: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,115 INFO L273 TraceCheckUtils]: 56: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,115 INFO L273 TraceCheckUtils]: 57: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,115 INFO L273 TraceCheckUtils]: 58: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,115 INFO L273 TraceCheckUtils]: 59: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,115 INFO L273 TraceCheckUtils]: 60: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,115 INFO L273 TraceCheckUtils]: 61: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,116 INFO L273 TraceCheckUtils]: 62: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,116 INFO L273 TraceCheckUtils]: 63: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,116 INFO L273 TraceCheckUtils]: 64: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,116 INFO L273 TraceCheckUtils]: 65: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,116 INFO L273 TraceCheckUtils]: 66: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,116 INFO L273 TraceCheckUtils]: 67: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,116 INFO L273 TraceCheckUtils]: 68: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,116 INFO L273 TraceCheckUtils]: 69: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,116 INFO L273 TraceCheckUtils]: 70: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,116 INFO L273 TraceCheckUtils]: 71: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,117 INFO L273 TraceCheckUtils]: 72: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,117 INFO L273 TraceCheckUtils]: 73: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,117 INFO L273 TraceCheckUtils]: 74: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,117 INFO L273 TraceCheckUtils]: 75: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,117 INFO L273 TraceCheckUtils]: 76: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,117 INFO L273 TraceCheckUtils]: 77: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,117 INFO L273 TraceCheckUtils]: 78: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,117 INFO L273 TraceCheckUtils]: 79: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,117 INFO L273 TraceCheckUtils]: 80: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,117 INFO L273 TraceCheckUtils]: 81: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,118 INFO L273 TraceCheckUtils]: 82: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,118 INFO L273 TraceCheckUtils]: 83: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,118 INFO L273 TraceCheckUtils]: 84: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,118 INFO L273 TraceCheckUtils]: 85: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,118 INFO L273 TraceCheckUtils]: 86: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,118 INFO L273 TraceCheckUtils]: 87: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,118 INFO L273 TraceCheckUtils]: 88: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,118 INFO L273 TraceCheckUtils]: 89: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,118 INFO L273 TraceCheckUtils]: 90: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,119 INFO L273 TraceCheckUtils]: 91: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,119 INFO L273 TraceCheckUtils]: 92: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,119 INFO L273 TraceCheckUtils]: 93: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,119 INFO L273 TraceCheckUtils]: 94: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,119 INFO L273 TraceCheckUtils]: 95: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,119 INFO L273 TraceCheckUtils]: 96: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,119 INFO L273 TraceCheckUtils]: 97: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,119 INFO L273 TraceCheckUtils]: 98: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,119 INFO L273 TraceCheckUtils]: 99: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,119 INFO L273 TraceCheckUtils]: 100: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,120 INFO L273 TraceCheckUtils]: 101: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,120 INFO L273 TraceCheckUtils]: 102: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,120 INFO L273 TraceCheckUtils]: 103: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,120 INFO L273 TraceCheckUtils]: 104: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,120 INFO L273 TraceCheckUtils]: 105: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,120 INFO L273 TraceCheckUtils]: 106: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,120 INFO L273 TraceCheckUtils]: 107: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,120 INFO L273 TraceCheckUtils]: 108: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,120 INFO L273 TraceCheckUtils]: 109: Hoare triple {42713#true} assume !(~i~0 < 20); {42713#true} is VALID [2018-11-23 12:19:06,120 INFO L273 TraceCheckUtils]: 110: Hoare triple {42713#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {42713#true} is VALID [2018-11-23 12:19:06,121 INFO L273 TraceCheckUtils]: 111: Hoare triple {42713#true} assume true; {42713#true} is VALID [2018-11-23 12:19:06,121 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {42713#true} {42713#true} #75#return; {42713#true} is VALID [2018-11-23 12:19:06,121 INFO L273 TraceCheckUtils]: 113: Hoare triple {42713#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {42713#true} is VALID [2018-11-23 12:19:06,121 INFO L256 TraceCheckUtils]: 114: Hoare triple {42713#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {42713#true} is VALID [2018-11-23 12:19:06,121 INFO L273 TraceCheckUtils]: 115: Hoare triple {42713#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {42713#true} is VALID [2018-11-23 12:19:06,121 INFO L273 TraceCheckUtils]: 116: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,121 INFO L273 TraceCheckUtils]: 117: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,121 INFO L273 TraceCheckUtils]: 118: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,121 INFO L273 TraceCheckUtils]: 119: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,121 INFO L273 TraceCheckUtils]: 120: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,122 INFO L273 TraceCheckUtils]: 121: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,122 INFO L273 TraceCheckUtils]: 122: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,122 INFO L273 TraceCheckUtils]: 123: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,122 INFO L273 TraceCheckUtils]: 124: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,122 INFO L273 TraceCheckUtils]: 125: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,122 INFO L273 TraceCheckUtils]: 126: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,122 INFO L273 TraceCheckUtils]: 127: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,122 INFO L273 TraceCheckUtils]: 128: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,122 INFO L273 TraceCheckUtils]: 129: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,123 INFO L273 TraceCheckUtils]: 130: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,123 INFO L273 TraceCheckUtils]: 131: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,123 INFO L273 TraceCheckUtils]: 132: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,123 INFO L273 TraceCheckUtils]: 133: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,123 INFO L273 TraceCheckUtils]: 134: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,123 INFO L273 TraceCheckUtils]: 135: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,123 INFO L273 TraceCheckUtils]: 136: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,123 INFO L273 TraceCheckUtils]: 137: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,123 INFO L273 TraceCheckUtils]: 138: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,123 INFO L273 TraceCheckUtils]: 139: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,124 INFO L273 TraceCheckUtils]: 140: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,124 INFO L273 TraceCheckUtils]: 141: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,124 INFO L273 TraceCheckUtils]: 142: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,124 INFO L273 TraceCheckUtils]: 143: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,124 INFO L273 TraceCheckUtils]: 144: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,124 INFO L273 TraceCheckUtils]: 145: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,124 INFO L273 TraceCheckUtils]: 146: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,124 INFO L273 TraceCheckUtils]: 147: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,124 INFO L273 TraceCheckUtils]: 148: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,124 INFO L273 TraceCheckUtils]: 149: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,125 INFO L273 TraceCheckUtils]: 150: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,125 INFO L273 TraceCheckUtils]: 151: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,125 INFO L273 TraceCheckUtils]: 152: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,125 INFO L273 TraceCheckUtils]: 153: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,125 INFO L273 TraceCheckUtils]: 154: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,125 INFO L273 TraceCheckUtils]: 155: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,125 INFO L273 TraceCheckUtils]: 156: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,125 INFO L273 TraceCheckUtils]: 157: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,125 INFO L273 TraceCheckUtils]: 158: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,125 INFO L273 TraceCheckUtils]: 159: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,126 INFO L273 TraceCheckUtils]: 160: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,126 INFO L273 TraceCheckUtils]: 161: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,126 INFO L273 TraceCheckUtils]: 162: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,126 INFO L273 TraceCheckUtils]: 163: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,126 INFO L273 TraceCheckUtils]: 164: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,126 INFO L273 TraceCheckUtils]: 165: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,126 INFO L273 TraceCheckUtils]: 166: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,126 INFO L273 TraceCheckUtils]: 167: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,126 INFO L273 TraceCheckUtils]: 168: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,127 INFO L273 TraceCheckUtils]: 169: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,127 INFO L273 TraceCheckUtils]: 170: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,127 INFO L273 TraceCheckUtils]: 171: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,127 INFO L273 TraceCheckUtils]: 172: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,127 INFO L273 TraceCheckUtils]: 173: Hoare triple {42713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42713#true} is VALID [2018-11-23 12:19:06,127 INFO L273 TraceCheckUtils]: 174: Hoare triple {42713#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42713#true} is VALID [2018-11-23 12:19:06,127 INFO L273 TraceCheckUtils]: 175: Hoare triple {42713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42713#true} is VALID [2018-11-23 12:19:06,127 INFO L273 TraceCheckUtils]: 176: Hoare triple {42713#true} assume !(~i~0 < 20); {42713#true} is VALID [2018-11-23 12:19:06,127 INFO L273 TraceCheckUtils]: 177: Hoare triple {42713#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {42713#true} is VALID [2018-11-23 12:19:06,127 INFO L273 TraceCheckUtils]: 178: Hoare triple {42713#true} assume true; {42713#true} is VALID [2018-11-23 12:19:06,128 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {42713#true} {42713#true} #77#return; {42713#true} is VALID [2018-11-23 12:19:06,129 INFO L273 TraceCheckUtils]: 180: Hoare triple {42713#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {43276#(<= main_~i~2 0)} is VALID [2018-11-23 12:19:06,131 INFO L273 TraceCheckUtils]: 181: Hoare triple {43276#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {43276#(<= main_~i~2 0)} is VALID [2018-11-23 12:19:06,131 INFO L273 TraceCheckUtils]: 182: Hoare triple {43276#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42716#(<= main_~i~2 1)} is VALID [2018-11-23 12:19:06,133 INFO L273 TraceCheckUtils]: 183: Hoare triple {42716#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42716#(<= main_~i~2 1)} is VALID [2018-11-23 12:19:06,133 INFO L273 TraceCheckUtils]: 184: Hoare triple {42716#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42717#(<= main_~i~2 2)} is VALID [2018-11-23 12:19:06,136 INFO L273 TraceCheckUtils]: 185: Hoare triple {42717#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42717#(<= main_~i~2 2)} is VALID [2018-11-23 12:19:06,136 INFO L273 TraceCheckUtils]: 186: Hoare triple {42717#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42718#(<= main_~i~2 3)} is VALID [2018-11-23 12:19:06,139 INFO L273 TraceCheckUtils]: 187: Hoare triple {42718#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42718#(<= main_~i~2 3)} is VALID [2018-11-23 12:19:06,139 INFO L273 TraceCheckUtils]: 188: Hoare triple {42718#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42719#(<= main_~i~2 4)} is VALID [2018-11-23 12:19:06,142 INFO L273 TraceCheckUtils]: 189: Hoare triple {42719#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42719#(<= main_~i~2 4)} is VALID [2018-11-23 12:19:06,142 INFO L273 TraceCheckUtils]: 190: Hoare triple {42719#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42720#(<= main_~i~2 5)} is VALID [2018-11-23 12:19:06,145 INFO L273 TraceCheckUtils]: 191: Hoare triple {42720#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42720#(<= main_~i~2 5)} is VALID [2018-11-23 12:19:06,145 INFO L273 TraceCheckUtils]: 192: Hoare triple {42720#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42721#(<= main_~i~2 6)} is VALID [2018-11-23 12:19:06,148 INFO L273 TraceCheckUtils]: 193: Hoare triple {42721#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42721#(<= main_~i~2 6)} is VALID [2018-11-23 12:19:06,148 INFO L273 TraceCheckUtils]: 194: Hoare triple {42721#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42722#(<= main_~i~2 7)} is VALID [2018-11-23 12:19:06,151 INFO L273 TraceCheckUtils]: 195: Hoare triple {42722#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42722#(<= main_~i~2 7)} is VALID [2018-11-23 12:19:06,151 INFO L273 TraceCheckUtils]: 196: Hoare triple {42722#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42723#(<= main_~i~2 8)} is VALID [2018-11-23 12:19:06,154 INFO L273 TraceCheckUtils]: 197: Hoare triple {42723#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42723#(<= main_~i~2 8)} is VALID [2018-11-23 12:19:06,154 INFO L273 TraceCheckUtils]: 198: Hoare triple {42723#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42724#(<= main_~i~2 9)} is VALID [2018-11-23 12:19:06,157 INFO L273 TraceCheckUtils]: 199: Hoare triple {42724#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42724#(<= main_~i~2 9)} is VALID [2018-11-23 12:19:06,157 INFO L273 TraceCheckUtils]: 200: Hoare triple {42724#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42725#(<= main_~i~2 10)} is VALID [2018-11-23 12:19:06,160 INFO L273 TraceCheckUtils]: 201: Hoare triple {42725#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42725#(<= main_~i~2 10)} is VALID [2018-11-23 12:19:06,160 INFO L273 TraceCheckUtils]: 202: Hoare triple {42725#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42726#(<= main_~i~2 11)} is VALID [2018-11-23 12:19:06,162 INFO L273 TraceCheckUtils]: 203: Hoare triple {42726#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42726#(<= main_~i~2 11)} is VALID [2018-11-23 12:19:06,162 INFO L273 TraceCheckUtils]: 204: Hoare triple {42726#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42727#(<= main_~i~2 12)} is VALID [2018-11-23 12:19:06,165 INFO L273 TraceCheckUtils]: 205: Hoare triple {42727#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42727#(<= main_~i~2 12)} is VALID [2018-11-23 12:19:06,165 INFO L273 TraceCheckUtils]: 206: Hoare triple {42727#(<= main_~i~2 12)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42728#(<= main_~i~2 13)} is VALID [2018-11-23 12:19:06,168 INFO L273 TraceCheckUtils]: 207: Hoare triple {42728#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42728#(<= main_~i~2 13)} is VALID [2018-11-23 12:19:06,168 INFO L273 TraceCheckUtils]: 208: Hoare triple {42728#(<= main_~i~2 13)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42729#(<= main_~i~2 14)} is VALID [2018-11-23 12:19:06,171 INFO L273 TraceCheckUtils]: 209: Hoare triple {42729#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42729#(<= main_~i~2 14)} is VALID [2018-11-23 12:19:06,171 INFO L273 TraceCheckUtils]: 210: Hoare triple {42729#(<= main_~i~2 14)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42730#(<= main_~i~2 15)} is VALID [2018-11-23 12:19:06,173 INFO L273 TraceCheckUtils]: 211: Hoare triple {42730#(<= main_~i~2 15)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42730#(<= main_~i~2 15)} is VALID [2018-11-23 12:19:06,173 INFO L273 TraceCheckUtils]: 212: Hoare triple {42730#(<= main_~i~2 15)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42731#(<= main_~i~2 16)} is VALID [2018-11-23 12:19:06,176 INFO L273 TraceCheckUtils]: 213: Hoare triple {42731#(<= main_~i~2 16)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {42731#(<= main_~i~2 16)} is VALID [2018-11-23 12:19:06,176 INFO L273 TraceCheckUtils]: 214: Hoare triple {42731#(<= main_~i~2 16)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {42732#(<= main_~i~2 17)} is VALID [2018-11-23 12:19:06,178 INFO L273 TraceCheckUtils]: 215: Hoare triple {42732#(<= main_~i~2 17)} assume !(~i~2 < 19); {42714#false} is VALID [2018-11-23 12:19:06,178 INFO L273 TraceCheckUtils]: 216: Hoare triple {42714#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {42714#false} is VALID [2018-11-23 12:19:06,178 INFO L256 TraceCheckUtils]: 217: Hoare triple {42714#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {42714#false} is VALID [2018-11-23 12:19:06,178 INFO L273 TraceCheckUtils]: 218: Hoare triple {42714#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {42714#false} is VALID [2018-11-23 12:19:06,178 INFO L273 TraceCheckUtils]: 219: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,178 INFO L273 TraceCheckUtils]: 220: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,178 INFO L273 TraceCheckUtils]: 221: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,178 INFO L273 TraceCheckUtils]: 222: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,179 INFO L273 TraceCheckUtils]: 223: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,179 INFO L273 TraceCheckUtils]: 224: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,179 INFO L273 TraceCheckUtils]: 225: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,179 INFO L273 TraceCheckUtils]: 226: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,179 INFO L273 TraceCheckUtils]: 227: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,179 INFO L273 TraceCheckUtils]: 228: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,179 INFO L273 TraceCheckUtils]: 229: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,179 INFO L273 TraceCheckUtils]: 230: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,179 INFO L273 TraceCheckUtils]: 231: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,179 INFO L273 TraceCheckUtils]: 232: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,180 INFO L273 TraceCheckUtils]: 233: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,180 INFO L273 TraceCheckUtils]: 234: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,180 INFO L273 TraceCheckUtils]: 235: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,180 INFO L273 TraceCheckUtils]: 236: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,180 INFO L273 TraceCheckUtils]: 237: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,180 INFO L273 TraceCheckUtils]: 238: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,180 INFO L273 TraceCheckUtils]: 239: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,180 INFO L273 TraceCheckUtils]: 240: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,180 INFO L273 TraceCheckUtils]: 241: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,180 INFO L273 TraceCheckUtils]: 242: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,181 INFO L273 TraceCheckUtils]: 243: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,181 INFO L273 TraceCheckUtils]: 244: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,181 INFO L273 TraceCheckUtils]: 245: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,181 INFO L273 TraceCheckUtils]: 246: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,181 INFO L273 TraceCheckUtils]: 247: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,181 INFO L273 TraceCheckUtils]: 248: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,181 INFO L273 TraceCheckUtils]: 249: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,181 INFO L273 TraceCheckUtils]: 250: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,181 INFO L273 TraceCheckUtils]: 251: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,182 INFO L273 TraceCheckUtils]: 252: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,182 INFO L273 TraceCheckUtils]: 253: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,182 INFO L273 TraceCheckUtils]: 254: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,182 INFO L273 TraceCheckUtils]: 255: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,182 INFO L273 TraceCheckUtils]: 256: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,182 INFO L273 TraceCheckUtils]: 257: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,182 INFO L273 TraceCheckUtils]: 258: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,182 INFO L273 TraceCheckUtils]: 259: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,182 INFO L273 TraceCheckUtils]: 260: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,182 INFO L273 TraceCheckUtils]: 261: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,183 INFO L273 TraceCheckUtils]: 262: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,183 INFO L273 TraceCheckUtils]: 263: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,183 INFO L273 TraceCheckUtils]: 264: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,183 INFO L273 TraceCheckUtils]: 265: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,183 INFO L273 TraceCheckUtils]: 266: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,183 INFO L273 TraceCheckUtils]: 267: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,183 INFO L273 TraceCheckUtils]: 268: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,183 INFO L273 TraceCheckUtils]: 269: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,183 INFO L273 TraceCheckUtils]: 270: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,183 INFO L273 TraceCheckUtils]: 271: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,184 INFO L273 TraceCheckUtils]: 272: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,184 INFO L273 TraceCheckUtils]: 273: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,184 INFO L273 TraceCheckUtils]: 274: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,184 INFO L273 TraceCheckUtils]: 275: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,184 INFO L273 TraceCheckUtils]: 276: Hoare triple {42714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {42714#false} is VALID [2018-11-23 12:19:06,184 INFO L273 TraceCheckUtils]: 277: Hoare triple {42714#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {42714#false} is VALID [2018-11-23 12:19:06,184 INFO L273 TraceCheckUtils]: 278: Hoare triple {42714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {42714#false} is VALID [2018-11-23 12:19:06,184 INFO L273 TraceCheckUtils]: 279: Hoare triple {42714#false} assume !(~i~0 < 20); {42714#false} is VALID [2018-11-23 12:19:06,184 INFO L273 TraceCheckUtils]: 280: Hoare triple {42714#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {42714#false} is VALID [2018-11-23 12:19:06,184 INFO L273 TraceCheckUtils]: 281: Hoare triple {42714#false} assume true; {42714#false} is VALID [2018-11-23 12:19:06,185 INFO L268 TraceCheckUtils]: 282: Hoare quadruple {42714#false} {42714#false} #79#return; {42714#false} is VALID [2018-11-23 12:19:06,185 INFO L273 TraceCheckUtils]: 283: Hoare triple {42714#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {42714#false} is VALID [2018-11-23 12:19:06,185 INFO L273 TraceCheckUtils]: 284: Hoare triple {42714#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {42714#false} is VALID [2018-11-23 12:19:06,185 INFO L273 TraceCheckUtils]: 285: Hoare triple {42714#false} assume !false; {42714#false} is VALID [2018-11-23 12:19:06,215 INFO L134 CoverageAnalysis]: Checked inductivity of 6194 backedges. 2490 proven. 289 refuted. 0 times theorem prover too weak. 3415 trivial. 0 not checked. [2018-11-23 12:19:06,242 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:19:06,242 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 21 [2018-11-23 12:19:06,243 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 286 [2018-11-23 12:19:06,243 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:19:06,243 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 12:19:06,373 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:19:06,374 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 12:19:06,374 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 12:19:06,374 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=210, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:19:06,374 INFO L87 Difference]: Start difference. First operand 157 states and 181 transitions. Second operand 21 states. [2018-11-23 12:19:07,075 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:07,075 INFO L93 Difference]: Finished difference Result 231 states and 276 transitions. [2018-11-23 12:19:07,076 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-11-23 12:19:07,076 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 286 [2018-11-23 12:19:07,076 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:19:07,076 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:19:07,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 83 transitions. [2018-11-23 12:19:07,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:19:07,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 83 transitions. [2018-11-23 12:19:07,078 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 83 transitions. [2018-11-23 12:19:07,163 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:19:07,166 INFO L225 Difference]: With dead ends: 231 [2018-11-23 12:19:07,167 INFO L226 Difference]: Without dead ends: 160 [2018-11-23 12:19:07,167 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 305 GetRequests, 286 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=210, Invalid=210, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:19:07,167 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2018-11-23 12:19:07,217 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 159. [2018-11-23 12:19:07,218 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:19:07,218 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand 159 states. [2018-11-23 12:19:07,218 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand 159 states. [2018-11-23 12:19:07,218 INFO L87 Difference]: Start difference. First operand 160 states. Second operand 159 states. [2018-11-23 12:19:07,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:07,221 INFO L93 Difference]: Finished difference Result 160 states and 184 transitions. [2018-11-23 12:19:07,221 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 184 transitions. [2018-11-23 12:19:07,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:19:07,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:19:07,222 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand 160 states. [2018-11-23 12:19:07,222 INFO L87 Difference]: Start difference. First operand 159 states. Second operand 160 states. [2018-11-23 12:19:07,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:07,224 INFO L93 Difference]: Finished difference Result 160 states and 184 transitions. [2018-11-23 12:19:07,224 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 184 transitions. [2018-11-23 12:19:07,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:19:07,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:19:07,224 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:19:07,224 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:19:07,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 159 states. [2018-11-23 12:19:07,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 159 states to 159 states and 183 transitions. [2018-11-23 12:19:07,227 INFO L78 Accepts]: Start accepts. Automaton has 159 states and 183 transitions. Word has length 286 [2018-11-23 12:19:07,227 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:19:07,228 INFO L480 AbstractCegarLoop]: Abstraction has 159 states and 183 transitions. [2018-11-23 12:19:07,228 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 12:19:07,228 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 183 transitions. [2018-11-23 12:19:07,229 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 289 [2018-11-23 12:19:07,229 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:19:07,230 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 60, 20, 20, 18, 18, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:19:07,230 INFO L423 AbstractCegarLoop]: === Iteration 46 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:19:07,230 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:19:07,230 INFO L82 PathProgramCache]: Analyzing trace with hash -1150200390, now seen corresponding path program 42 times [2018-11-23 12:19:07,230 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:19:07,230 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:19:07,231 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:19:07,231 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:19:07,231 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:19:07,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:07,805 INFO L256 TraceCheckUtils]: 0: Hoare triple {44462#true} call ULTIMATE.init(); {44462#true} is VALID [2018-11-23 12:19:07,805 INFO L273 TraceCheckUtils]: 1: Hoare triple {44462#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {44462#true} is VALID [2018-11-23 12:19:07,805 INFO L273 TraceCheckUtils]: 2: Hoare triple {44462#true} assume true; {44462#true} is VALID [2018-11-23 12:19:07,805 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {44462#true} {44462#true} #71#return; {44462#true} is VALID [2018-11-23 12:19:07,806 INFO L256 TraceCheckUtils]: 4: Hoare triple {44462#true} call #t~ret14 := main(); {44462#true} is VALID [2018-11-23 12:19:07,806 INFO L273 TraceCheckUtils]: 5: Hoare triple {44462#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {44462#true} is VALID [2018-11-23 12:19:07,806 INFO L273 TraceCheckUtils]: 6: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,806 INFO L273 TraceCheckUtils]: 7: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,806 INFO L273 TraceCheckUtils]: 8: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,807 INFO L273 TraceCheckUtils]: 9: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,807 INFO L273 TraceCheckUtils]: 10: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,807 INFO L273 TraceCheckUtils]: 11: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,807 INFO L273 TraceCheckUtils]: 12: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,807 INFO L273 TraceCheckUtils]: 13: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,808 INFO L273 TraceCheckUtils]: 14: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,808 INFO L273 TraceCheckUtils]: 15: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,808 INFO L273 TraceCheckUtils]: 16: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,808 INFO L273 TraceCheckUtils]: 17: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,808 INFO L273 TraceCheckUtils]: 18: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,808 INFO L273 TraceCheckUtils]: 19: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,808 INFO L273 TraceCheckUtils]: 20: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,808 INFO L273 TraceCheckUtils]: 21: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,809 INFO L273 TraceCheckUtils]: 22: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,809 INFO L273 TraceCheckUtils]: 23: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,809 INFO L273 TraceCheckUtils]: 24: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,809 INFO L273 TraceCheckUtils]: 25: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,809 INFO L273 TraceCheckUtils]: 26: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,809 INFO L273 TraceCheckUtils]: 27: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,809 INFO L273 TraceCheckUtils]: 28: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,809 INFO L273 TraceCheckUtils]: 29: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,809 INFO L273 TraceCheckUtils]: 30: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,809 INFO L273 TraceCheckUtils]: 31: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,810 INFO L273 TraceCheckUtils]: 32: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,810 INFO L273 TraceCheckUtils]: 33: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,810 INFO L273 TraceCheckUtils]: 34: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,810 INFO L273 TraceCheckUtils]: 35: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,810 INFO L273 TraceCheckUtils]: 36: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,810 INFO L273 TraceCheckUtils]: 37: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,810 INFO L273 TraceCheckUtils]: 38: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,810 INFO L273 TraceCheckUtils]: 39: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,810 INFO L273 TraceCheckUtils]: 40: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,810 INFO L273 TraceCheckUtils]: 41: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,811 INFO L273 TraceCheckUtils]: 42: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,811 INFO L273 TraceCheckUtils]: 43: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,811 INFO L273 TraceCheckUtils]: 44: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:07,811 INFO L273 TraceCheckUtils]: 45: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:07,811 INFO L273 TraceCheckUtils]: 46: Hoare triple {44462#true} assume !(~i~1 < 20); {44462#true} is VALID [2018-11-23 12:19:07,811 INFO L256 TraceCheckUtils]: 47: Hoare triple {44462#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {44462#true} is VALID [2018-11-23 12:19:07,811 INFO L273 TraceCheckUtils]: 48: Hoare triple {44462#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {44462#true} is VALID [2018-11-23 12:19:07,811 INFO L273 TraceCheckUtils]: 49: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,811 INFO L273 TraceCheckUtils]: 50: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,812 INFO L273 TraceCheckUtils]: 51: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,812 INFO L273 TraceCheckUtils]: 52: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,812 INFO L273 TraceCheckUtils]: 53: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,812 INFO L273 TraceCheckUtils]: 54: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,812 INFO L273 TraceCheckUtils]: 55: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,812 INFO L273 TraceCheckUtils]: 56: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,812 INFO L273 TraceCheckUtils]: 57: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,812 INFO L273 TraceCheckUtils]: 58: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,812 INFO L273 TraceCheckUtils]: 59: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,812 INFO L273 TraceCheckUtils]: 60: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,813 INFO L273 TraceCheckUtils]: 61: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,813 INFO L273 TraceCheckUtils]: 62: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,813 INFO L273 TraceCheckUtils]: 63: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,813 INFO L273 TraceCheckUtils]: 64: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,813 INFO L273 TraceCheckUtils]: 65: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,813 INFO L273 TraceCheckUtils]: 66: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,813 INFO L273 TraceCheckUtils]: 67: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,813 INFO L273 TraceCheckUtils]: 68: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,813 INFO L273 TraceCheckUtils]: 69: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,813 INFO L273 TraceCheckUtils]: 70: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,814 INFO L273 TraceCheckUtils]: 71: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,814 INFO L273 TraceCheckUtils]: 72: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,814 INFO L273 TraceCheckUtils]: 73: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,814 INFO L273 TraceCheckUtils]: 74: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,814 INFO L273 TraceCheckUtils]: 75: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,814 INFO L273 TraceCheckUtils]: 76: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,814 INFO L273 TraceCheckUtils]: 77: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,814 INFO L273 TraceCheckUtils]: 78: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,814 INFO L273 TraceCheckUtils]: 79: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,814 INFO L273 TraceCheckUtils]: 80: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,815 INFO L273 TraceCheckUtils]: 81: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,815 INFO L273 TraceCheckUtils]: 82: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,815 INFO L273 TraceCheckUtils]: 83: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,815 INFO L273 TraceCheckUtils]: 84: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,815 INFO L273 TraceCheckUtils]: 85: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,815 INFO L273 TraceCheckUtils]: 86: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,815 INFO L273 TraceCheckUtils]: 87: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,815 INFO L273 TraceCheckUtils]: 88: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,815 INFO L273 TraceCheckUtils]: 89: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,816 INFO L273 TraceCheckUtils]: 90: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,816 INFO L273 TraceCheckUtils]: 91: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,816 INFO L273 TraceCheckUtils]: 92: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,816 INFO L273 TraceCheckUtils]: 93: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,816 INFO L273 TraceCheckUtils]: 94: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,816 INFO L273 TraceCheckUtils]: 95: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,816 INFO L273 TraceCheckUtils]: 96: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,816 INFO L273 TraceCheckUtils]: 97: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,816 INFO L273 TraceCheckUtils]: 98: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,816 INFO L273 TraceCheckUtils]: 99: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,817 INFO L273 TraceCheckUtils]: 100: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,817 INFO L273 TraceCheckUtils]: 101: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,817 INFO L273 TraceCheckUtils]: 102: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,817 INFO L273 TraceCheckUtils]: 103: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,817 INFO L273 TraceCheckUtils]: 104: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,817 INFO L273 TraceCheckUtils]: 105: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,817 INFO L273 TraceCheckUtils]: 106: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,817 INFO L273 TraceCheckUtils]: 107: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,817 INFO L273 TraceCheckUtils]: 108: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,817 INFO L273 TraceCheckUtils]: 109: Hoare triple {44462#true} assume !(~i~0 < 20); {44462#true} is VALID [2018-11-23 12:19:07,818 INFO L273 TraceCheckUtils]: 110: Hoare triple {44462#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {44462#true} is VALID [2018-11-23 12:19:07,818 INFO L273 TraceCheckUtils]: 111: Hoare triple {44462#true} assume true; {44462#true} is VALID [2018-11-23 12:19:07,818 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {44462#true} {44462#true} #75#return; {44462#true} is VALID [2018-11-23 12:19:07,818 INFO L273 TraceCheckUtils]: 113: Hoare triple {44462#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {44462#true} is VALID [2018-11-23 12:19:07,818 INFO L256 TraceCheckUtils]: 114: Hoare triple {44462#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {44462#true} is VALID [2018-11-23 12:19:07,818 INFO L273 TraceCheckUtils]: 115: Hoare triple {44462#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {44462#true} is VALID [2018-11-23 12:19:07,818 INFO L273 TraceCheckUtils]: 116: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,818 INFO L273 TraceCheckUtils]: 117: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,818 INFO L273 TraceCheckUtils]: 118: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,818 INFO L273 TraceCheckUtils]: 119: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,819 INFO L273 TraceCheckUtils]: 120: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,819 INFO L273 TraceCheckUtils]: 121: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,819 INFO L273 TraceCheckUtils]: 122: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,819 INFO L273 TraceCheckUtils]: 123: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,819 INFO L273 TraceCheckUtils]: 124: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,819 INFO L273 TraceCheckUtils]: 125: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,819 INFO L273 TraceCheckUtils]: 126: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,819 INFO L273 TraceCheckUtils]: 127: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,819 INFO L273 TraceCheckUtils]: 128: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,819 INFO L273 TraceCheckUtils]: 129: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,820 INFO L273 TraceCheckUtils]: 130: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,820 INFO L273 TraceCheckUtils]: 131: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,820 INFO L273 TraceCheckUtils]: 132: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,820 INFO L273 TraceCheckUtils]: 133: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,820 INFO L273 TraceCheckUtils]: 134: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,820 INFO L273 TraceCheckUtils]: 135: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,820 INFO L273 TraceCheckUtils]: 136: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,820 INFO L273 TraceCheckUtils]: 137: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,820 INFO L273 TraceCheckUtils]: 138: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,821 INFO L273 TraceCheckUtils]: 139: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,821 INFO L273 TraceCheckUtils]: 140: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,821 INFO L273 TraceCheckUtils]: 141: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,821 INFO L273 TraceCheckUtils]: 142: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,821 INFO L273 TraceCheckUtils]: 143: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,821 INFO L273 TraceCheckUtils]: 144: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,821 INFO L273 TraceCheckUtils]: 145: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,821 INFO L273 TraceCheckUtils]: 146: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,821 INFO L273 TraceCheckUtils]: 147: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,821 INFO L273 TraceCheckUtils]: 148: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,822 INFO L273 TraceCheckUtils]: 149: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,822 INFO L273 TraceCheckUtils]: 150: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,822 INFO L273 TraceCheckUtils]: 151: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,822 INFO L273 TraceCheckUtils]: 152: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,822 INFO L273 TraceCheckUtils]: 153: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,822 INFO L273 TraceCheckUtils]: 154: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,822 INFO L273 TraceCheckUtils]: 155: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,822 INFO L273 TraceCheckUtils]: 156: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,822 INFO L273 TraceCheckUtils]: 157: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,822 INFO L273 TraceCheckUtils]: 158: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,823 INFO L273 TraceCheckUtils]: 159: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,823 INFO L273 TraceCheckUtils]: 160: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,823 INFO L273 TraceCheckUtils]: 161: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,823 INFO L273 TraceCheckUtils]: 162: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,823 INFO L273 TraceCheckUtils]: 163: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,823 INFO L273 TraceCheckUtils]: 164: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,823 INFO L273 TraceCheckUtils]: 165: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,823 INFO L273 TraceCheckUtils]: 166: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,823 INFO L273 TraceCheckUtils]: 167: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,823 INFO L273 TraceCheckUtils]: 168: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,824 INFO L273 TraceCheckUtils]: 169: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,824 INFO L273 TraceCheckUtils]: 170: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,824 INFO L273 TraceCheckUtils]: 171: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,824 INFO L273 TraceCheckUtils]: 172: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,824 INFO L273 TraceCheckUtils]: 173: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,824 INFO L273 TraceCheckUtils]: 174: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,824 INFO L273 TraceCheckUtils]: 175: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,824 INFO L273 TraceCheckUtils]: 176: Hoare triple {44462#true} assume !(~i~0 < 20); {44462#true} is VALID [2018-11-23 12:19:07,824 INFO L273 TraceCheckUtils]: 177: Hoare triple {44462#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {44462#true} is VALID [2018-11-23 12:19:07,824 INFO L273 TraceCheckUtils]: 178: Hoare triple {44462#true} assume true; {44462#true} is VALID [2018-11-23 12:19:07,825 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {44462#true} {44462#true} #77#return; {44462#true} is VALID [2018-11-23 12:19:07,825 INFO L273 TraceCheckUtils]: 180: Hoare triple {44462#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {44464#(= main_~i~2 0)} is VALID [2018-11-23 12:19:07,825 INFO L273 TraceCheckUtils]: 181: Hoare triple {44464#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44464#(= main_~i~2 0)} is VALID [2018-11-23 12:19:07,826 INFO L273 TraceCheckUtils]: 182: Hoare triple {44464#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44465#(<= main_~i~2 1)} is VALID [2018-11-23 12:19:07,826 INFO L273 TraceCheckUtils]: 183: Hoare triple {44465#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44465#(<= main_~i~2 1)} is VALID [2018-11-23 12:19:07,826 INFO L273 TraceCheckUtils]: 184: Hoare triple {44465#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44466#(<= main_~i~2 2)} is VALID [2018-11-23 12:19:07,827 INFO L273 TraceCheckUtils]: 185: Hoare triple {44466#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44466#(<= main_~i~2 2)} is VALID [2018-11-23 12:19:07,827 INFO L273 TraceCheckUtils]: 186: Hoare triple {44466#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44467#(<= main_~i~2 3)} is VALID [2018-11-23 12:19:07,828 INFO L273 TraceCheckUtils]: 187: Hoare triple {44467#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44467#(<= main_~i~2 3)} is VALID [2018-11-23 12:19:07,828 INFO L273 TraceCheckUtils]: 188: Hoare triple {44467#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44468#(<= main_~i~2 4)} is VALID [2018-11-23 12:19:07,828 INFO L273 TraceCheckUtils]: 189: Hoare triple {44468#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44468#(<= main_~i~2 4)} is VALID [2018-11-23 12:19:07,829 INFO L273 TraceCheckUtils]: 190: Hoare triple {44468#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44469#(<= main_~i~2 5)} is VALID [2018-11-23 12:19:07,830 INFO L273 TraceCheckUtils]: 191: Hoare triple {44469#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44469#(<= main_~i~2 5)} is VALID [2018-11-23 12:19:07,830 INFO L273 TraceCheckUtils]: 192: Hoare triple {44469#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44470#(<= main_~i~2 6)} is VALID [2018-11-23 12:19:07,831 INFO L273 TraceCheckUtils]: 193: Hoare triple {44470#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44470#(<= main_~i~2 6)} is VALID [2018-11-23 12:19:07,832 INFO L273 TraceCheckUtils]: 194: Hoare triple {44470#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44471#(<= main_~i~2 7)} is VALID [2018-11-23 12:19:07,832 INFO L273 TraceCheckUtils]: 195: Hoare triple {44471#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44471#(<= main_~i~2 7)} is VALID [2018-11-23 12:19:07,833 INFO L273 TraceCheckUtils]: 196: Hoare triple {44471#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44472#(<= main_~i~2 8)} is VALID [2018-11-23 12:19:07,833 INFO L273 TraceCheckUtils]: 197: Hoare triple {44472#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44472#(<= main_~i~2 8)} is VALID [2018-11-23 12:19:07,834 INFO L273 TraceCheckUtils]: 198: Hoare triple {44472#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44473#(<= main_~i~2 9)} is VALID [2018-11-23 12:19:07,835 INFO L273 TraceCheckUtils]: 199: Hoare triple {44473#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44473#(<= main_~i~2 9)} is VALID [2018-11-23 12:19:07,835 INFO L273 TraceCheckUtils]: 200: Hoare triple {44473#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44474#(<= main_~i~2 10)} is VALID [2018-11-23 12:19:07,836 INFO L273 TraceCheckUtils]: 201: Hoare triple {44474#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44474#(<= main_~i~2 10)} is VALID [2018-11-23 12:19:07,837 INFO L273 TraceCheckUtils]: 202: Hoare triple {44474#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44475#(<= main_~i~2 11)} is VALID [2018-11-23 12:19:07,837 INFO L273 TraceCheckUtils]: 203: Hoare triple {44475#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44475#(<= main_~i~2 11)} is VALID [2018-11-23 12:19:07,838 INFO L273 TraceCheckUtils]: 204: Hoare triple {44475#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44476#(<= main_~i~2 12)} is VALID [2018-11-23 12:19:07,838 INFO L273 TraceCheckUtils]: 205: Hoare triple {44476#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44476#(<= main_~i~2 12)} is VALID [2018-11-23 12:19:07,839 INFO L273 TraceCheckUtils]: 206: Hoare triple {44476#(<= main_~i~2 12)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44477#(<= main_~i~2 13)} is VALID [2018-11-23 12:19:07,840 INFO L273 TraceCheckUtils]: 207: Hoare triple {44477#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44477#(<= main_~i~2 13)} is VALID [2018-11-23 12:19:07,840 INFO L273 TraceCheckUtils]: 208: Hoare triple {44477#(<= main_~i~2 13)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44478#(<= main_~i~2 14)} is VALID [2018-11-23 12:19:07,841 INFO L273 TraceCheckUtils]: 209: Hoare triple {44478#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44478#(<= main_~i~2 14)} is VALID [2018-11-23 12:19:07,841 INFO L273 TraceCheckUtils]: 210: Hoare triple {44478#(<= main_~i~2 14)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44479#(<= main_~i~2 15)} is VALID [2018-11-23 12:19:07,842 INFO L273 TraceCheckUtils]: 211: Hoare triple {44479#(<= main_~i~2 15)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44479#(<= main_~i~2 15)} is VALID [2018-11-23 12:19:07,843 INFO L273 TraceCheckUtils]: 212: Hoare triple {44479#(<= main_~i~2 15)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44480#(<= main_~i~2 16)} is VALID [2018-11-23 12:19:07,843 INFO L273 TraceCheckUtils]: 213: Hoare triple {44480#(<= main_~i~2 16)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44480#(<= main_~i~2 16)} is VALID [2018-11-23 12:19:07,844 INFO L273 TraceCheckUtils]: 214: Hoare triple {44480#(<= main_~i~2 16)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44481#(<= main_~i~2 17)} is VALID [2018-11-23 12:19:07,844 INFO L273 TraceCheckUtils]: 215: Hoare triple {44481#(<= main_~i~2 17)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44481#(<= main_~i~2 17)} is VALID [2018-11-23 12:19:07,845 INFO L273 TraceCheckUtils]: 216: Hoare triple {44481#(<= main_~i~2 17)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44482#(<= main_~i~2 18)} is VALID [2018-11-23 12:19:07,846 INFO L273 TraceCheckUtils]: 217: Hoare triple {44482#(<= main_~i~2 18)} assume !(~i~2 < 19); {44463#false} is VALID [2018-11-23 12:19:07,846 INFO L273 TraceCheckUtils]: 218: Hoare triple {44463#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {44463#false} is VALID [2018-11-23 12:19:07,846 INFO L256 TraceCheckUtils]: 219: Hoare triple {44463#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {44462#true} is VALID [2018-11-23 12:19:07,846 INFO L273 TraceCheckUtils]: 220: Hoare triple {44462#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {44462#true} is VALID [2018-11-23 12:19:07,847 INFO L273 TraceCheckUtils]: 221: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,847 INFO L273 TraceCheckUtils]: 222: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,847 INFO L273 TraceCheckUtils]: 223: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,847 INFO L273 TraceCheckUtils]: 224: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,847 INFO L273 TraceCheckUtils]: 225: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,848 INFO L273 TraceCheckUtils]: 226: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,848 INFO L273 TraceCheckUtils]: 227: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,848 INFO L273 TraceCheckUtils]: 228: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,848 INFO L273 TraceCheckUtils]: 229: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,848 INFO L273 TraceCheckUtils]: 230: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,848 INFO L273 TraceCheckUtils]: 231: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,848 INFO L273 TraceCheckUtils]: 232: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,848 INFO L273 TraceCheckUtils]: 233: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,849 INFO L273 TraceCheckUtils]: 234: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,849 INFO L273 TraceCheckUtils]: 235: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,849 INFO L273 TraceCheckUtils]: 236: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,849 INFO L273 TraceCheckUtils]: 237: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,849 INFO L273 TraceCheckUtils]: 238: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,849 INFO L273 TraceCheckUtils]: 239: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,849 INFO L273 TraceCheckUtils]: 240: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,849 INFO L273 TraceCheckUtils]: 241: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,849 INFO L273 TraceCheckUtils]: 242: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,850 INFO L273 TraceCheckUtils]: 243: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,850 INFO L273 TraceCheckUtils]: 244: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,850 INFO L273 TraceCheckUtils]: 245: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,850 INFO L273 TraceCheckUtils]: 246: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,850 INFO L273 TraceCheckUtils]: 247: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,850 INFO L273 TraceCheckUtils]: 248: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,850 INFO L273 TraceCheckUtils]: 249: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,850 INFO L273 TraceCheckUtils]: 250: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,850 INFO L273 TraceCheckUtils]: 251: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,850 INFO L273 TraceCheckUtils]: 252: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,851 INFO L273 TraceCheckUtils]: 253: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,851 INFO L273 TraceCheckUtils]: 254: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,851 INFO L273 TraceCheckUtils]: 255: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,851 INFO L273 TraceCheckUtils]: 256: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,851 INFO L273 TraceCheckUtils]: 257: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,851 INFO L273 TraceCheckUtils]: 258: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,851 INFO L273 TraceCheckUtils]: 259: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,851 INFO L273 TraceCheckUtils]: 260: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,851 INFO L273 TraceCheckUtils]: 261: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,851 INFO L273 TraceCheckUtils]: 262: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,852 INFO L273 TraceCheckUtils]: 263: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,852 INFO L273 TraceCheckUtils]: 264: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,852 INFO L273 TraceCheckUtils]: 265: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,852 INFO L273 TraceCheckUtils]: 266: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,852 INFO L273 TraceCheckUtils]: 267: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,852 INFO L273 TraceCheckUtils]: 268: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,852 INFO L273 TraceCheckUtils]: 269: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,852 INFO L273 TraceCheckUtils]: 270: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,852 INFO L273 TraceCheckUtils]: 271: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,852 INFO L273 TraceCheckUtils]: 272: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,853 INFO L273 TraceCheckUtils]: 273: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,853 INFO L273 TraceCheckUtils]: 274: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,853 INFO L273 TraceCheckUtils]: 275: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,853 INFO L273 TraceCheckUtils]: 276: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,853 INFO L273 TraceCheckUtils]: 277: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,853 INFO L273 TraceCheckUtils]: 278: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:07,853 INFO L273 TraceCheckUtils]: 279: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:07,853 INFO L273 TraceCheckUtils]: 280: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:07,853 INFO L273 TraceCheckUtils]: 281: Hoare triple {44462#true} assume !(~i~0 < 20); {44462#true} is VALID [2018-11-23 12:19:07,854 INFO L273 TraceCheckUtils]: 282: Hoare triple {44462#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {44462#true} is VALID [2018-11-23 12:19:07,854 INFO L273 TraceCheckUtils]: 283: Hoare triple {44462#true} assume true; {44462#true} is VALID [2018-11-23 12:19:07,854 INFO L268 TraceCheckUtils]: 284: Hoare quadruple {44462#true} {44463#false} #79#return; {44463#false} is VALID [2018-11-23 12:19:07,854 INFO L273 TraceCheckUtils]: 285: Hoare triple {44463#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {44463#false} is VALID [2018-11-23 12:19:07,854 INFO L273 TraceCheckUtils]: 286: Hoare triple {44463#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {44463#false} is VALID [2018-11-23 12:19:07,854 INFO L273 TraceCheckUtils]: 287: Hoare triple {44463#false} assume !false; {44463#false} is VALID [2018-11-23 12:19:07,884 INFO L134 CoverageAnalysis]: Checked inductivity of 6229 backedges. 0 proven. 324 refuted. 0 times theorem prover too weak. 5905 trivial. 0 not checked. [2018-11-23 12:19:07,884 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:19:07,884 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 44 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 44 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:19:07,918 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:19:13,352 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 39 check-sat command(s) [2018-11-23 12:19:13,352 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:19:13,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:13,416 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:19:13,669 INFO L256 TraceCheckUtils]: 0: Hoare triple {44462#true} call ULTIMATE.init(); {44462#true} is VALID [2018-11-23 12:19:13,670 INFO L273 TraceCheckUtils]: 1: Hoare triple {44462#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {44462#true} is VALID [2018-11-23 12:19:13,670 INFO L273 TraceCheckUtils]: 2: Hoare triple {44462#true} assume true; {44462#true} is VALID [2018-11-23 12:19:13,670 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {44462#true} {44462#true} #71#return; {44462#true} is VALID [2018-11-23 12:19:13,670 INFO L256 TraceCheckUtils]: 4: Hoare triple {44462#true} call #t~ret14 := main(); {44462#true} is VALID [2018-11-23 12:19:13,671 INFO L273 TraceCheckUtils]: 5: Hoare triple {44462#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {44462#true} is VALID [2018-11-23 12:19:13,671 INFO L273 TraceCheckUtils]: 6: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,671 INFO L273 TraceCheckUtils]: 7: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,671 INFO L273 TraceCheckUtils]: 8: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,671 INFO L273 TraceCheckUtils]: 9: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,671 INFO L273 TraceCheckUtils]: 10: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,671 INFO L273 TraceCheckUtils]: 11: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,672 INFO L273 TraceCheckUtils]: 12: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,672 INFO L273 TraceCheckUtils]: 13: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,672 INFO L273 TraceCheckUtils]: 14: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,672 INFO L273 TraceCheckUtils]: 15: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,672 INFO L273 TraceCheckUtils]: 16: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,672 INFO L273 TraceCheckUtils]: 17: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,672 INFO L273 TraceCheckUtils]: 18: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,672 INFO L273 TraceCheckUtils]: 19: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,672 INFO L273 TraceCheckUtils]: 20: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,672 INFO L273 TraceCheckUtils]: 21: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,673 INFO L273 TraceCheckUtils]: 22: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,673 INFO L273 TraceCheckUtils]: 23: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,673 INFO L273 TraceCheckUtils]: 24: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,673 INFO L273 TraceCheckUtils]: 25: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,673 INFO L273 TraceCheckUtils]: 26: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,673 INFO L273 TraceCheckUtils]: 27: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,673 INFO L273 TraceCheckUtils]: 28: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,673 INFO L273 TraceCheckUtils]: 29: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,673 INFO L273 TraceCheckUtils]: 30: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,673 INFO L273 TraceCheckUtils]: 31: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,674 INFO L273 TraceCheckUtils]: 32: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,674 INFO L273 TraceCheckUtils]: 33: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,674 INFO L273 TraceCheckUtils]: 34: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,674 INFO L273 TraceCheckUtils]: 35: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,674 INFO L273 TraceCheckUtils]: 36: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,674 INFO L273 TraceCheckUtils]: 37: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,674 INFO L273 TraceCheckUtils]: 38: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,674 INFO L273 TraceCheckUtils]: 39: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,674 INFO L273 TraceCheckUtils]: 40: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,674 INFO L273 TraceCheckUtils]: 41: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,675 INFO L273 TraceCheckUtils]: 42: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,675 INFO L273 TraceCheckUtils]: 43: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,675 INFO L273 TraceCheckUtils]: 44: Hoare triple {44462#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {44462#true} is VALID [2018-11-23 12:19:13,675 INFO L273 TraceCheckUtils]: 45: Hoare triple {44462#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {44462#true} is VALID [2018-11-23 12:19:13,675 INFO L273 TraceCheckUtils]: 46: Hoare triple {44462#true} assume !(~i~1 < 20); {44462#true} is VALID [2018-11-23 12:19:13,675 INFO L256 TraceCheckUtils]: 47: Hoare triple {44462#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {44462#true} is VALID [2018-11-23 12:19:13,675 INFO L273 TraceCheckUtils]: 48: Hoare triple {44462#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {44462#true} is VALID [2018-11-23 12:19:13,675 INFO L273 TraceCheckUtils]: 49: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,675 INFO L273 TraceCheckUtils]: 50: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,675 INFO L273 TraceCheckUtils]: 51: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,676 INFO L273 TraceCheckUtils]: 52: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,676 INFO L273 TraceCheckUtils]: 53: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,676 INFO L273 TraceCheckUtils]: 54: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,676 INFO L273 TraceCheckUtils]: 55: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,676 INFO L273 TraceCheckUtils]: 56: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,676 INFO L273 TraceCheckUtils]: 57: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,676 INFO L273 TraceCheckUtils]: 58: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,676 INFO L273 TraceCheckUtils]: 59: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,676 INFO L273 TraceCheckUtils]: 60: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,676 INFO L273 TraceCheckUtils]: 61: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,677 INFO L273 TraceCheckUtils]: 62: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,677 INFO L273 TraceCheckUtils]: 63: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,677 INFO L273 TraceCheckUtils]: 64: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,677 INFO L273 TraceCheckUtils]: 65: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,677 INFO L273 TraceCheckUtils]: 66: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,677 INFO L273 TraceCheckUtils]: 67: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,677 INFO L273 TraceCheckUtils]: 68: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,677 INFO L273 TraceCheckUtils]: 69: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,677 INFO L273 TraceCheckUtils]: 70: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,678 INFO L273 TraceCheckUtils]: 71: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,678 INFO L273 TraceCheckUtils]: 72: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,678 INFO L273 TraceCheckUtils]: 73: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,678 INFO L273 TraceCheckUtils]: 74: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,678 INFO L273 TraceCheckUtils]: 75: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,678 INFO L273 TraceCheckUtils]: 76: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,678 INFO L273 TraceCheckUtils]: 77: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,678 INFO L273 TraceCheckUtils]: 78: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,678 INFO L273 TraceCheckUtils]: 79: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,678 INFO L273 TraceCheckUtils]: 80: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,679 INFO L273 TraceCheckUtils]: 81: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,679 INFO L273 TraceCheckUtils]: 82: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,679 INFO L273 TraceCheckUtils]: 83: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,679 INFO L273 TraceCheckUtils]: 84: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,679 INFO L273 TraceCheckUtils]: 85: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,679 INFO L273 TraceCheckUtils]: 86: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,679 INFO L273 TraceCheckUtils]: 87: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,679 INFO L273 TraceCheckUtils]: 88: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,679 INFO L273 TraceCheckUtils]: 89: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,679 INFO L273 TraceCheckUtils]: 90: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,680 INFO L273 TraceCheckUtils]: 91: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,680 INFO L273 TraceCheckUtils]: 92: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,680 INFO L273 TraceCheckUtils]: 93: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,680 INFO L273 TraceCheckUtils]: 94: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,680 INFO L273 TraceCheckUtils]: 95: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,680 INFO L273 TraceCheckUtils]: 96: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,680 INFO L273 TraceCheckUtils]: 97: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,680 INFO L273 TraceCheckUtils]: 98: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,680 INFO L273 TraceCheckUtils]: 99: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,680 INFO L273 TraceCheckUtils]: 100: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,681 INFO L273 TraceCheckUtils]: 101: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,681 INFO L273 TraceCheckUtils]: 102: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,681 INFO L273 TraceCheckUtils]: 103: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,681 INFO L273 TraceCheckUtils]: 104: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,681 INFO L273 TraceCheckUtils]: 105: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,681 INFO L273 TraceCheckUtils]: 106: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,681 INFO L273 TraceCheckUtils]: 107: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,681 INFO L273 TraceCheckUtils]: 108: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,681 INFO L273 TraceCheckUtils]: 109: Hoare triple {44462#true} assume !(~i~0 < 20); {44462#true} is VALID [2018-11-23 12:19:13,681 INFO L273 TraceCheckUtils]: 110: Hoare triple {44462#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {44462#true} is VALID [2018-11-23 12:19:13,682 INFO L273 TraceCheckUtils]: 111: Hoare triple {44462#true} assume true; {44462#true} is VALID [2018-11-23 12:19:13,682 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {44462#true} {44462#true} #75#return; {44462#true} is VALID [2018-11-23 12:19:13,682 INFO L273 TraceCheckUtils]: 113: Hoare triple {44462#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {44462#true} is VALID [2018-11-23 12:19:13,682 INFO L256 TraceCheckUtils]: 114: Hoare triple {44462#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {44462#true} is VALID [2018-11-23 12:19:13,682 INFO L273 TraceCheckUtils]: 115: Hoare triple {44462#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {44462#true} is VALID [2018-11-23 12:19:13,682 INFO L273 TraceCheckUtils]: 116: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,682 INFO L273 TraceCheckUtils]: 117: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,682 INFO L273 TraceCheckUtils]: 118: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,682 INFO L273 TraceCheckUtils]: 119: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,683 INFO L273 TraceCheckUtils]: 120: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,683 INFO L273 TraceCheckUtils]: 121: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,683 INFO L273 TraceCheckUtils]: 122: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,683 INFO L273 TraceCheckUtils]: 123: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,683 INFO L273 TraceCheckUtils]: 124: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,683 INFO L273 TraceCheckUtils]: 125: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,683 INFO L273 TraceCheckUtils]: 126: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,683 INFO L273 TraceCheckUtils]: 127: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,683 INFO L273 TraceCheckUtils]: 128: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,683 INFO L273 TraceCheckUtils]: 129: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,684 INFO L273 TraceCheckUtils]: 130: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,684 INFO L273 TraceCheckUtils]: 131: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,684 INFO L273 TraceCheckUtils]: 132: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,684 INFO L273 TraceCheckUtils]: 133: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,684 INFO L273 TraceCheckUtils]: 134: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,684 INFO L273 TraceCheckUtils]: 135: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,684 INFO L273 TraceCheckUtils]: 136: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,684 INFO L273 TraceCheckUtils]: 137: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,684 INFO L273 TraceCheckUtils]: 138: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,684 INFO L273 TraceCheckUtils]: 139: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,685 INFO L273 TraceCheckUtils]: 140: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,685 INFO L273 TraceCheckUtils]: 141: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,685 INFO L273 TraceCheckUtils]: 142: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,685 INFO L273 TraceCheckUtils]: 143: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,685 INFO L273 TraceCheckUtils]: 144: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,685 INFO L273 TraceCheckUtils]: 145: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,685 INFO L273 TraceCheckUtils]: 146: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,685 INFO L273 TraceCheckUtils]: 147: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,685 INFO L273 TraceCheckUtils]: 148: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,685 INFO L273 TraceCheckUtils]: 149: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,686 INFO L273 TraceCheckUtils]: 150: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,686 INFO L273 TraceCheckUtils]: 151: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,686 INFO L273 TraceCheckUtils]: 152: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,686 INFO L273 TraceCheckUtils]: 153: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,686 INFO L273 TraceCheckUtils]: 154: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,686 INFO L273 TraceCheckUtils]: 155: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,686 INFO L273 TraceCheckUtils]: 156: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,686 INFO L273 TraceCheckUtils]: 157: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,686 INFO L273 TraceCheckUtils]: 158: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,686 INFO L273 TraceCheckUtils]: 159: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,687 INFO L273 TraceCheckUtils]: 160: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,687 INFO L273 TraceCheckUtils]: 161: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,687 INFO L273 TraceCheckUtils]: 162: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,687 INFO L273 TraceCheckUtils]: 163: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,687 INFO L273 TraceCheckUtils]: 164: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,687 INFO L273 TraceCheckUtils]: 165: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,687 INFO L273 TraceCheckUtils]: 166: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,687 INFO L273 TraceCheckUtils]: 167: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,687 INFO L273 TraceCheckUtils]: 168: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,687 INFO L273 TraceCheckUtils]: 169: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,688 INFO L273 TraceCheckUtils]: 170: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,688 INFO L273 TraceCheckUtils]: 171: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,688 INFO L273 TraceCheckUtils]: 172: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,688 INFO L273 TraceCheckUtils]: 173: Hoare triple {44462#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44462#true} is VALID [2018-11-23 12:19:13,688 INFO L273 TraceCheckUtils]: 174: Hoare triple {44462#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44462#true} is VALID [2018-11-23 12:19:13,688 INFO L273 TraceCheckUtils]: 175: Hoare triple {44462#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44462#true} is VALID [2018-11-23 12:19:13,688 INFO L273 TraceCheckUtils]: 176: Hoare triple {44462#true} assume !(~i~0 < 20); {44462#true} is VALID [2018-11-23 12:19:13,688 INFO L273 TraceCheckUtils]: 177: Hoare triple {44462#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {44462#true} is VALID [2018-11-23 12:19:13,688 INFO L273 TraceCheckUtils]: 178: Hoare triple {44462#true} assume true; {44462#true} is VALID [2018-11-23 12:19:13,689 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {44462#true} {44462#true} #77#return; {44462#true} is VALID [2018-11-23 12:19:13,690 INFO L273 TraceCheckUtils]: 180: Hoare triple {44462#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {45026#(<= main_~i~2 0)} is VALID [2018-11-23 12:19:13,692 INFO L273 TraceCheckUtils]: 181: Hoare triple {45026#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {45026#(<= main_~i~2 0)} is VALID [2018-11-23 12:19:13,693 INFO L273 TraceCheckUtils]: 182: Hoare triple {45026#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44465#(<= main_~i~2 1)} is VALID [2018-11-23 12:19:13,695 INFO L273 TraceCheckUtils]: 183: Hoare triple {44465#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44465#(<= main_~i~2 1)} is VALID [2018-11-23 12:19:13,698 INFO L273 TraceCheckUtils]: 184: Hoare triple {44465#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44466#(<= main_~i~2 2)} is VALID [2018-11-23 12:19:13,698 INFO L273 TraceCheckUtils]: 185: Hoare triple {44466#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44466#(<= main_~i~2 2)} is VALID [2018-11-23 12:19:13,699 INFO L273 TraceCheckUtils]: 186: Hoare triple {44466#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44467#(<= main_~i~2 3)} is VALID [2018-11-23 12:19:13,699 INFO L273 TraceCheckUtils]: 187: Hoare triple {44467#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44467#(<= main_~i~2 3)} is VALID [2018-11-23 12:19:13,699 INFO L273 TraceCheckUtils]: 188: Hoare triple {44467#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44468#(<= main_~i~2 4)} is VALID [2018-11-23 12:19:13,700 INFO L273 TraceCheckUtils]: 189: Hoare triple {44468#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44468#(<= main_~i~2 4)} is VALID [2018-11-23 12:19:13,700 INFO L273 TraceCheckUtils]: 190: Hoare triple {44468#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44469#(<= main_~i~2 5)} is VALID [2018-11-23 12:19:13,700 INFO L273 TraceCheckUtils]: 191: Hoare triple {44469#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44469#(<= main_~i~2 5)} is VALID [2018-11-23 12:19:13,701 INFO L273 TraceCheckUtils]: 192: Hoare triple {44469#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44470#(<= main_~i~2 6)} is VALID [2018-11-23 12:19:13,701 INFO L273 TraceCheckUtils]: 193: Hoare triple {44470#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44470#(<= main_~i~2 6)} is VALID [2018-11-23 12:19:13,702 INFO L273 TraceCheckUtils]: 194: Hoare triple {44470#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44471#(<= main_~i~2 7)} is VALID [2018-11-23 12:19:13,702 INFO L273 TraceCheckUtils]: 195: Hoare triple {44471#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44471#(<= main_~i~2 7)} is VALID [2018-11-23 12:19:13,703 INFO L273 TraceCheckUtils]: 196: Hoare triple {44471#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44472#(<= main_~i~2 8)} is VALID [2018-11-23 12:19:13,703 INFO L273 TraceCheckUtils]: 197: Hoare triple {44472#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44472#(<= main_~i~2 8)} is VALID [2018-11-23 12:19:13,704 INFO L273 TraceCheckUtils]: 198: Hoare triple {44472#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44473#(<= main_~i~2 9)} is VALID [2018-11-23 12:19:13,705 INFO L273 TraceCheckUtils]: 199: Hoare triple {44473#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44473#(<= main_~i~2 9)} is VALID [2018-11-23 12:19:13,705 INFO L273 TraceCheckUtils]: 200: Hoare triple {44473#(<= main_~i~2 9)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44474#(<= main_~i~2 10)} is VALID [2018-11-23 12:19:13,706 INFO L273 TraceCheckUtils]: 201: Hoare triple {44474#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44474#(<= main_~i~2 10)} is VALID [2018-11-23 12:19:13,707 INFO L273 TraceCheckUtils]: 202: Hoare triple {44474#(<= main_~i~2 10)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44475#(<= main_~i~2 11)} is VALID [2018-11-23 12:19:13,707 INFO L273 TraceCheckUtils]: 203: Hoare triple {44475#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44475#(<= main_~i~2 11)} is VALID [2018-11-23 12:19:13,708 INFO L273 TraceCheckUtils]: 204: Hoare triple {44475#(<= main_~i~2 11)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44476#(<= main_~i~2 12)} is VALID [2018-11-23 12:19:13,708 INFO L273 TraceCheckUtils]: 205: Hoare triple {44476#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44476#(<= main_~i~2 12)} is VALID [2018-11-23 12:19:13,709 INFO L273 TraceCheckUtils]: 206: Hoare triple {44476#(<= main_~i~2 12)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44477#(<= main_~i~2 13)} is VALID [2018-11-23 12:19:13,710 INFO L273 TraceCheckUtils]: 207: Hoare triple {44477#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44477#(<= main_~i~2 13)} is VALID [2018-11-23 12:19:13,710 INFO L273 TraceCheckUtils]: 208: Hoare triple {44477#(<= main_~i~2 13)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44478#(<= main_~i~2 14)} is VALID [2018-11-23 12:19:13,711 INFO L273 TraceCheckUtils]: 209: Hoare triple {44478#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44478#(<= main_~i~2 14)} is VALID [2018-11-23 12:19:13,712 INFO L273 TraceCheckUtils]: 210: Hoare triple {44478#(<= main_~i~2 14)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44479#(<= main_~i~2 15)} is VALID [2018-11-23 12:19:13,712 INFO L273 TraceCheckUtils]: 211: Hoare triple {44479#(<= main_~i~2 15)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44479#(<= main_~i~2 15)} is VALID [2018-11-23 12:19:13,713 INFO L273 TraceCheckUtils]: 212: Hoare triple {44479#(<= main_~i~2 15)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44480#(<= main_~i~2 16)} is VALID [2018-11-23 12:19:13,713 INFO L273 TraceCheckUtils]: 213: Hoare triple {44480#(<= main_~i~2 16)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44480#(<= main_~i~2 16)} is VALID [2018-11-23 12:19:13,714 INFO L273 TraceCheckUtils]: 214: Hoare triple {44480#(<= main_~i~2 16)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44481#(<= main_~i~2 17)} is VALID [2018-11-23 12:19:13,715 INFO L273 TraceCheckUtils]: 215: Hoare triple {44481#(<= main_~i~2 17)} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {44481#(<= main_~i~2 17)} is VALID [2018-11-23 12:19:13,715 INFO L273 TraceCheckUtils]: 216: Hoare triple {44481#(<= main_~i~2 17)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {44482#(<= main_~i~2 18)} is VALID [2018-11-23 12:19:13,716 INFO L273 TraceCheckUtils]: 217: Hoare triple {44482#(<= main_~i~2 18)} assume !(~i~2 < 19); {44463#false} is VALID [2018-11-23 12:19:13,716 INFO L273 TraceCheckUtils]: 218: Hoare triple {44463#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {44463#false} is VALID [2018-11-23 12:19:13,716 INFO L256 TraceCheckUtils]: 219: Hoare triple {44463#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {44463#false} is VALID [2018-11-23 12:19:13,717 INFO L273 TraceCheckUtils]: 220: Hoare triple {44463#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {44463#false} is VALID [2018-11-23 12:19:13,717 INFO L273 TraceCheckUtils]: 221: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,717 INFO L273 TraceCheckUtils]: 222: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,717 INFO L273 TraceCheckUtils]: 223: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,717 INFO L273 TraceCheckUtils]: 224: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,717 INFO L273 TraceCheckUtils]: 225: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,718 INFO L273 TraceCheckUtils]: 226: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,718 INFO L273 TraceCheckUtils]: 227: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,718 INFO L273 TraceCheckUtils]: 228: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,718 INFO L273 TraceCheckUtils]: 229: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,718 INFO L273 TraceCheckUtils]: 230: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,719 INFO L273 TraceCheckUtils]: 231: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,719 INFO L273 TraceCheckUtils]: 232: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,719 INFO L273 TraceCheckUtils]: 233: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,719 INFO L273 TraceCheckUtils]: 234: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,719 INFO L273 TraceCheckUtils]: 235: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,719 INFO L273 TraceCheckUtils]: 236: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,719 INFO L273 TraceCheckUtils]: 237: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,720 INFO L273 TraceCheckUtils]: 238: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,720 INFO L273 TraceCheckUtils]: 239: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,720 INFO L273 TraceCheckUtils]: 240: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,720 INFO L273 TraceCheckUtils]: 241: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,720 INFO L273 TraceCheckUtils]: 242: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,720 INFO L273 TraceCheckUtils]: 243: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,720 INFO L273 TraceCheckUtils]: 244: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,720 INFO L273 TraceCheckUtils]: 245: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,720 INFO L273 TraceCheckUtils]: 246: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,720 INFO L273 TraceCheckUtils]: 247: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,721 INFO L273 TraceCheckUtils]: 248: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,721 INFO L273 TraceCheckUtils]: 249: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,721 INFO L273 TraceCheckUtils]: 250: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,721 INFO L273 TraceCheckUtils]: 251: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,721 INFO L273 TraceCheckUtils]: 252: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,721 INFO L273 TraceCheckUtils]: 253: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,721 INFO L273 TraceCheckUtils]: 254: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,721 INFO L273 TraceCheckUtils]: 255: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,721 INFO L273 TraceCheckUtils]: 256: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,721 INFO L273 TraceCheckUtils]: 257: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,722 INFO L273 TraceCheckUtils]: 258: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,722 INFO L273 TraceCheckUtils]: 259: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,722 INFO L273 TraceCheckUtils]: 260: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,722 INFO L273 TraceCheckUtils]: 261: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,722 INFO L273 TraceCheckUtils]: 262: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,722 INFO L273 TraceCheckUtils]: 263: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,722 INFO L273 TraceCheckUtils]: 264: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,722 INFO L273 TraceCheckUtils]: 265: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,722 INFO L273 TraceCheckUtils]: 266: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,722 INFO L273 TraceCheckUtils]: 267: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,723 INFO L273 TraceCheckUtils]: 268: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,723 INFO L273 TraceCheckUtils]: 269: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,723 INFO L273 TraceCheckUtils]: 270: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,723 INFO L273 TraceCheckUtils]: 271: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,723 INFO L273 TraceCheckUtils]: 272: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,723 INFO L273 TraceCheckUtils]: 273: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,723 INFO L273 TraceCheckUtils]: 274: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,723 INFO L273 TraceCheckUtils]: 275: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,723 INFO L273 TraceCheckUtils]: 276: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,723 INFO L273 TraceCheckUtils]: 277: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,724 INFO L273 TraceCheckUtils]: 278: Hoare triple {44463#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {44463#false} is VALID [2018-11-23 12:19:13,724 INFO L273 TraceCheckUtils]: 279: Hoare triple {44463#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {44463#false} is VALID [2018-11-23 12:19:13,724 INFO L273 TraceCheckUtils]: 280: Hoare triple {44463#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {44463#false} is VALID [2018-11-23 12:19:13,724 INFO L273 TraceCheckUtils]: 281: Hoare triple {44463#false} assume !(~i~0 < 20); {44463#false} is VALID [2018-11-23 12:19:13,724 INFO L273 TraceCheckUtils]: 282: Hoare triple {44463#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {44463#false} is VALID [2018-11-23 12:19:13,724 INFO L273 TraceCheckUtils]: 283: Hoare triple {44463#false} assume true; {44463#false} is VALID [2018-11-23 12:19:13,724 INFO L268 TraceCheckUtils]: 284: Hoare quadruple {44463#false} {44463#false} #79#return; {44463#false} is VALID [2018-11-23 12:19:13,724 INFO L273 TraceCheckUtils]: 285: Hoare triple {44463#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {44463#false} is VALID [2018-11-23 12:19:13,724 INFO L273 TraceCheckUtils]: 286: Hoare triple {44463#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {44463#false} is VALID [2018-11-23 12:19:13,725 INFO L273 TraceCheckUtils]: 287: Hoare triple {44463#false} assume !false; {44463#false} is VALID [2018-11-23 12:19:13,755 INFO L134 CoverageAnalysis]: Checked inductivity of 6229 backedges. 2490 proven. 324 refuted. 0 times theorem prover too weak. 3415 trivial. 0 not checked. [2018-11-23 12:19:13,779 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:19:13,779 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 22 [2018-11-23 12:19:13,780 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 288 [2018-11-23 12:19:13,780 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:19:13,780 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 12:19:13,862 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:19:13,862 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 12:19:13,862 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 12:19:13,863 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=231, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:19:13,863 INFO L87 Difference]: Start difference. First operand 159 states and 183 transitions. Second operand 22 states. [2018-11-23 12:19:14,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:14,114 INFO L93 Difference]: Finished difference Result 232 states and 277 transitions. [2018-11-23 12:19:14,114 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-23 12:19:14,114 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 288 [2018-11-23 12:19:14,114 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:19:14,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:19:14,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 84 transitions. [2018-11-23 12:19:14,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:19:14,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 84 transitions. [2018-11-23 12:19:14,116 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 84 transitions. [2018-11-23 12:19:14,195 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:19:14,198 INFO L225 Difference]: With dead ends: 232 [2018-11-23 12:19:14,198 INFO L226 Difference]: Without dead ends: 161 [2018-11-23 12:19:14,199 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 308 GetRequests, 288 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=231, Invalid=231, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:19:14,199 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2018-11-23 12:19:14,314 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 161. [2018-11-23 12:19:14,314 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:19:14,314 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand 161 states. [2018-11-23 12:19:14,314 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand 161 states. [2018-11-23 12:19:14,314 INFO L87 Difference]: Start difference. First operand 161 states. Second operand 161 states. [2018-11-23 12:19:14,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:14,317 INFO L93 Difference]: Finished difference Result 161 states and 185 transitions. [2018-11-23 12:19:14,317 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 185 transitions. [2018-11-23 12:19:14,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:19:14,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:19:14,318 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand 161 states. [2018-11-23 12:19:14,318 INFO L87 Difference]: Start difference. First operand 161 states. Second operand 161 states. [2018-11-23 12:19:14,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:14,320 INFO L93 Difference]: Finished difference Result 161 states and 185 transitions. [2018-11-23 12:19:14,320 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 185 transitions. [2018-11-23 12:19:14,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:19:14,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:19:14,320 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:19:14,320 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:19:14,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 161 states. [2018-11-23 12:19:14,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 185 transitions. [2018-11-23 12:19:14,323 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 185 transitions. Word has length 288 [2018-11-23 12:19:14,323 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:19:14,323 INFO L480 AbstractCegarLoop]: Abstraction has 161 states and 185 transitions. [2018-11-23 12:19:14,323 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 12:19:14,323 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 185 transitions. [2018-11-23 12:19:14,324 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 291 [2018-11-23 12:19:14,324 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:19:14,324 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 60, 20, 20, 19, 19, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:19:14,325 INFO L423 AbstractCegarLoop]: === Iteration 47 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:19:14,325 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:19:14,325 INFO L82 PathProgramCache]: Analyzing trace with hash -2019657096, now seen corresponding path program 43 times [2018-11-23 12:19:14,325 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:19:14,325 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:19:14,326 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:19:14,326 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:19:14,326 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:19:15,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:18,481 WARN L180 SmtUtils]: Spent 380.00 ms on a formula simplification. DAG size of input: 15 DAG size of output: 12 [2018-11-23 12:19:19,093 WARN L180 SmtUtils]: Spent 367.00 ms on a formula simplification. DAG size of input: 15 DAG size of output: 12 [2018-11-23 12:19:21,538 WARN L180 SmtUtils]: Spent 101.00 ms on a formula simplification that was a NOOP. DAG size: 5 [2018-11-23 12:19:22,345 INFO L256 TraceCheckUtils]: 0: Hoare triple {46225#true} call ULTIMATE.init(); {46225#true} is VALID [2018-11-23 12:19:22,345 INFO L273 TraceCheckUtils]: 1: Hoare triple {46225#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {46225#true} is VALID [2018-11-23 12:19:22,345 INFO L273 TraceCheckUtils]: 2: Hoare triple {46225#true} assume true; {46225#true} is VALID [2018-11-23 12:19:22,345 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {46225#true} {46225#true} #71#return; {46225#true} is VALID [2018-11-23 12:19:22,345 INFO L256 TraceCheckUtils]: 4: Hoare triple {46225#true} call #t~ret14 := main(); {46225#true} is VALID [2018-11-23 12:19:22,346 INFO L273 TraceCheckUtils]: 5: Hoare triple {46225#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,347 INFO L273 TraceCheckUtils]: 6: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,347 INFO L273 TraceCheckUtils]: 7: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,349 INFO L273 TraceCheckUtils]: 8: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,349 INFO L273 TraceCheckUtils]: 9: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,351 INFO L273 TraceCheckUtils]: 10: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,354 INFO L273 TraceCheckUtils]: 11: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,354 INFO L273 TraceCheckUtils]: 12: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,357 INFO L273 TraceCheckUtils]: 13: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,357 INFO L273 TraceCheckUtils]: 14: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,357 INFO L273 TraceCheckUtils]: 15: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,358 INFO L273 TraceCheckUtils]: 16: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,359 INFO L273 TraceCheckUtils]: 17: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,359 INFO L273 TraceCheckUtils]: 18: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,359 INFO L273 TraceCheckUtils]: 19: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,360 INFO L273 TraceCheckUtils]: 20: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,360 INFO L273 TraceCheckUtils]: 21: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,360 INFO L273 TraceCheckUtils]: 22: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,360 INFO L273 TraceCheckUtils]: 23: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,361 INFO L273 TraceCheckUtils]: 24: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,362 INFO L273 TraceCheckUtils]: 25: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,362 INFO L273 TraceCheckUtils]: 26: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,363 INFO L273 TraceCheckUtils]: 27: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,363 INFO L273 TraceCheckUtils]: 28: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,364 INFO L273 TraceCheckUtils]: 29: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,364 INFO L273 TraceCheckUtils]: 30: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,365 INFO L273 TraceCheckUtils]: 31: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,365 INFO L273 TraceCheckUtils]: 32: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,366 INFO L273 TraceCheckUtils]: 33: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,366 INFO L273 TraceCheckUtils]: 34: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,367 INFO L273 TraceCheckUtils]: 35: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,367 INFO L273 TraceCheckUtils]: 36: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,368 INFO L273 TraceCheckUtils]: 37: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,368 INFO L273 TraceCheckUtils]: 38: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,369 INFO L273 TraceCheckUtils]: 39: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,369 INFO L273 TraceCheckUtils]: 40: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,370 INFO L273 TraceCheckUtils]: 41: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,370 INFO L273 TraceCheckUtils]: 42: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,371 INFO L273 TraceCheckUtils]: 43: Hoare triple {46227#(= |main_~#x~0.offset| 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,372 INFO L273 TraceCheckUtils]: 44: Hoare triple {46227#(= |main_~#x~0.offset| 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46228#(and (= |main_~#x~0.offset| 0) (or (= (* 4 main_~i~1) 76) (<= (* 4 main_~i~1) 75)))} is VALID [2018-11-23 12:19:22,373 INFO L273 TraceCheckUtils]: 45: Hoare triple {46228#(and (= |main_~#x~0.offset| 0) (or (= (* 4 main_~i~1) 76) (<= (* 4 main_~i~1) 75)))} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46229#(and (= |main_~#x~0.offset| 0) (or (= (* 4 main_~i~1) 80) (<= (* 4 main_~i~1) 79)))} is VALID [2018-11-23 12:19:22,373 INFO L273 TraceCheckUtils]: 46: Hoare triple {46229#(and (= |main_~#x~0.offset| 0) (or (= (* 4 main_~i~1) 80) (<= (* 4 main_~i~1) 79)))} assume !(~i~1 < 20); {46227#(= |main_~#x~0.offset| 0)} is VALID [2018-11-23 12:19:22,374 INFO L256 TraceCheckUtils]: 47: Hoare triple {46227#(= |main_~#x~0.offset| 0)} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {46225#true} is VALID [2018-11-23 12:19:22,374 INFO L273 TraceCheckUtils]: 48: Hoare triple {46225#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {46230#(= sep_~ret~0 0)} is VALID [2018-11-23 12:19:22,375 INFO L273 TraceCheckUtils]: 49: Hoare triple {46230#(= sep_~ret~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46230#(= sep_~ret~0 0)} is VALID [2018-11-23 12:19:22,375 INFO L273 TraceCheckUtils]: 50: Hoare triple {46230#(= sep_~ret~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:22,376 INFO L273 TraceCheckUtils]: 51: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:22,377 INFO L273 TraceCheckUtils]: 52: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:22,378 INFO L273 TraceCheckUtils]: 53: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:22,379 INFO L273 TraceCheckUtils]: 54: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:22,379 INFO L273 TraceCheckUtils]: 55: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:22,380 INFO L273 TraceCheckUtils]: 56: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:22,381 INFO L273 TraceCheckUtils]: 57: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:22,382 INFO L273 TraceCheckUtils]: 58: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:22,384 INFO L273 TraceCheckUtils]: 59: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:22,385 INFO L273 TraceCheckUtils]: 60: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:22,385 INFO L273 TraceCheckUtils]: 61: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:22,386 INFO L273 TraceCheckUtils]: 62: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:22,387 INFO L273 TraceCheckUtils]: 63: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:22,388 INFO L273 TraceCheckUtils]: 64: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:22,389 INFO L273 TraceCheckUtils]: 65: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:22,389 INFO L273 TraceCheckUtils]: 66: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:22,390 INFO L273 TraceCheckUtils]: 67: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:22,391 INFO L273 TraceCheckUtils]: 68: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:22,392 INFO L273 TraceCheckUtils]: 69: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:22,393 INFO L273 TraceCheckUtils]: 70: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:22,394 INFO L273 TraceCheckUtils]: 71: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:22,394 INFO L273 TraceCheckUtils]: 72: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:22,395 INFO L273 TraceCheckUtils]: 73: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:22,396 INFO L273 TraceCheckUtils]: 74: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:22,397 INFO L273 TraceCheckUtils]: 75: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:22,397 INFO L273 TraceCheckUtils]: 76: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:22,398 INFO L273 TraceCheckUtils]: 77: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:22,399 INFO L273 TraceCheckUtils]: 78: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:22,400 INFO L273 TraceCheckUtils]: 79: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:22,401 INFO L273 TraceCheckUtils]: 80: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:22,401 INFO L273 TraceCheckUtils]: 81: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:22,402 INFO L273 TraceCheckUtils]: 82: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:22,403 INFO L273 TraceCheckUtils]: 83: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:22,404 INFO L273 TraceCheckUtils]: 84: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:22,405 INFO L273 TraceCheckUtils]: 85: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:22,406 INFO L273 TraceCheckUtils]: 86: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:22,406 INFO L273 TraceCheckUtils]: 87: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:22,407 INFO L273 TraceCheckUtils]: 88: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:22,408 INFO L273 TraceCheckUtils]: 89: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:22,409 INFO L273 TraceCheckUtils]: 90: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:22,410 INFO L273 TraceCheckUtils]: 91: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:22,411 INFO L273 TraceCheckUtils]: 92: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:22,411 INFO L273 TraceCheckUtils]: 93: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:22,412 INFO L273 TraceCheckUtils]: 94: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:22,413 INFO L273 TraceCheckUtils]: 95: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:22,414 INFO L273 TraceCheckUtils]: 96: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:22,414 INFO L273 TraceCheckUtils]: 97: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:22,415 INFO L273 TraceCheckUtils]: 98: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:22,416 INFO L273 TraceCheckUtils]: 99: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:22,417 INFO L273 TraceCheckUtils]: 100: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:22,418 INFO L273 TraceCheckUtils]: 101: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:22,418 INFO L273 TraceCheckUtils]: 102: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:22,419 INFO L273 TraceCheckUtils]: 103: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:22,420 INFO L273 TraceCheckUtils]: 104: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:22,421 INFO L273 TraceCheckUtils]: 105: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:22,422 INFO L273 TraceCheckUtils]: 106: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:22,423 INFO L273 TraceCheckUtils]: 107: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:22,423 INFO L273 TraceCheckUtils]: 108: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:22,424 INFO L273 TraceCheckUtils]: 109: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} assume !(~i~0 < 20); {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:22,426 INFO L273 TraceCheckUtils]: 110: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} is VALID [2018-11-23 12:19:22,427 INFO L273 TraceCheckUtils]: 111: Hoare triple {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} assume true; {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} is VALID [2018-11-23 12:19:22,428 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} {46227#(= |main_~#x~0.offset| 0)} #75#return; {46252#(and (= |main_~#x~0.offset| 0) (= |main_#t~ret6| (+ |main_~#x~0.offset| 20)))} is VALID [2018-11-23 12:19:22,429 INFO L273 TraceCheckUtils]: 113: Hoare triple {46252#(and (= |main_~#x~0.offset| 0) (= |main_#t~ret6| (+ |main_~#x~0.offset| 20)))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {46253#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,429 INFO L256 TraceCheckUtils]: 114: Hoare triple {46253#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= |main_~#x~0.offset| 0))} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {46225#true} is VALID [2018-11-23 12:19:22,430 INFO L273 TraceCheckUtils]: 115: Hoare triple {46225#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {46230#(= sep_~ret~0 0)} is VALID [2018-11-23 12:19:22,430 INFO L273 TraceCheckUtils]: 116: Hoare triple {46230#(= sep_~ret~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46230#(= sep_~ret~0 0)} is VALID [2018-11-23 12:19:22,431 INFO L273 TraceCheckUtils]: 117: Hoare triple {46230#(= sep_~ret~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:22,432 INFO L273 TraceCheckUtils]: 118: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:22,433 INFO L273 TraceCheckUtils]: 119: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:22,434 INFO L273 TraceCheckUtils]: 120: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:22,436 INFO L273 TraceCheckUtils]: 121: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:22,436 INFO L273 TraceCheckUtils]: 122: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:22,437 INFO L273 TraceCheckUtils]: 123: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:22,438 INFO L273 TraceCheckUtils]: 124: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:22,438 INFO L273 TraceCheckUtils]: 125: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:22,439 INFO L273 TraceCheckUtils]: 126: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:22,439 INFO L273 TraceCheckUtils]: 127: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:22,440 INFO L273 TraceCheckUtils]: 128: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:22,441 INFO L273 TraceCheckUtils]: 129: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:22,442 INFO L273 TraceCheckUtils]: 130: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:22,442 INFO L273 TraceCheckUtils]: 131: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:22,443 INFO L273 TraceCheckUtils]: 132: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:22,444 INFO L273 TraceCheckUtils]: 133: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:22,445 INFO L273 TraceCheckUtils]: 134: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:22,446 INFO L273 TraceCheckUtils]: 135: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:22,446 INFO L273 TraceCheckUtils]: 136: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:22,447 INFO L273 TraceCheckUtils]: 137: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:22,448 INFO L273 TraceCheckUtils]: 138: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:22,449 INFO L273 TraceCheckUtils]: 139: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:22,450 INFO L273 TraceCheckUtils]: 140: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:22,451 INFO L273 TraceCheckUtils]: 141: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:22,451 INFO L273 TraceCheckUtils]: 142: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:22,452 INFO L273 TraceCheckUtils]: 143: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:22,453 INFO L273 TraceCheckUtils]: 144: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:22,454 INFO L273 TraceCheckUtils]: 145: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:22,454 INFO L273 TraceCheckUtils]: 146: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:22,455 INFO L273 TraceCheckUtils]: 147: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:22,456 INFO L273 TraceCheckUtils]: 148: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:22,457 INFO L273 TraceCheckUtils]: 149: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:22,458 INFO L273 TraceCheckUtils]: 150: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:22,458 INFO L273 TraceCheckUtils]: 151: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:22,459 INFO L273 TraceCheckUtils]: 152: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:22,460 INFO L273 TraceCheckUtils]: 153: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:22,461 INFO L273 TraceCheckUtils]: 154: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:22,462 INFO L273 TraceCheckUtils]: 155: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:22,463 INFO L273 TraceCheckUtils]: 156: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:22,463 INFO L273 TraceCheckUtils]: 157: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:22,464 INFO L273 TraceCheckUtils]: 158: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:22,465 INFO L273 TraceCheckUtils]: 159: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:22,466 INFO L273 TraceCheckUtils]: 160: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:22,466 INFO L273 TraceCheckUtils]: 161: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:22,467 INFO L273 TraceCheckUtils]: 162: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:22,468 INFO L273 TraceCheckUtils]: 163: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:22,469 INFO L273 TraceCheckUtils]: 164: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:22,470 INFO L273 TraceCheckUtils]: 165: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:22,470 INFO L273 TraceCheckUtils]: 166: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:22,471 INFO L273 TraceCheckUtils]: 167: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:22,472 INFO L273 TraceCheckUtils]: 168: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:22,473 INFO L273 TraceCheckUtils]: 169: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:22,474 INFO L273 TraceCheckUtils]: 170: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:22,475 INFO L273 TraceCheckUtils]: 171: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:22,475 INFO L273 TraceCheckUtils]: 172: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:22,476 INFO L273 TraceCheckUtils]: 173: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:22,477 INFO L273 TraceCheckUtils]: 174: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:22,478 INFO L273 TraceCheckUtils]: 175: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:22,478 INFO L273 TraceCheckUtils]: 176: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} assume !(~i~0 < 20); {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:22,480 INFO L273 TraceCheckUtils]: 177: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} is VALID [2018-11-23 12:19:22,481 INFO L273 TraceCheckUtils]: 178: Hoare triple {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} assume true; {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} is VALID [2018-11-23 12:19:22,483 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} {46253#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= |main_~#x~0.offset| 0))} #77#return; {46254#(and (= main_~ret~1 |main_#t~ret9|) (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,484 INFO L273 TraceCheckUtils]: 180: Hoare triple {46254#(and (= main_~ret~1 |main_#t~ret9|) (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= |main_~#x~0.offset| 0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,484 INFO L273 TraceCheckUtils]: 181: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,485 INFO L273 TraceCheckUtils]: 182: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,486 INFO L273 TraceCheckUtils]: 183: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,487 INFO L273 TraceCheckUtils]: 184: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,488 INFO L273 TraceCheckUtils]: 185: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,488 INFO L273 TraceCheckUtils]: 186: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,489 INFO L273 TraceCheckUtils]: 187: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,490 INFO L273 TraceCheckUtils]: 188: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,491 INFO L273 TraceCheckUtils]: 189: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,492 INFO L273 TraceCheckUtils]: 190: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,492 INFO L273 TraceCheckUtils]: 191: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,493 INFO L273 TraceCheckUtils]: 192: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,494 INFO L273 TraceCheckUtils]: 193: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,495 INFO L273 TraceCheckUtils]: 194: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,496 INFO L273 TraceCheckUtils]: 195: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,496 INFO L273 TraceCheckUtils]: 196: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,497 INFO L273 TraceCheckUtils]: 197: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,498 INFO L273 TraceCheckUtils]: 198: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,499 INFO L273 TraceCheckUtils]: 199: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,499 INFO L273 TraceCheckUtils]: 200: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,500 INFO L273 TraceCheckUtils]: 201: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,501 INFO L273 TraceCheckUtils]: 202: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,502 INFO L273 TraceCheckUtils]: 203: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,503 INFO L273 TraceCheckUtils]: 204: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,503 INFO L273 TraceCheckUtils]: 205: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,504 INFO L273 TraceCheckUtils]: 206: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,505 INFO L273 TraceCheckUtils]: 207: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,506 INFO L273 TraceCheckUtils]: 208: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,506 INFO L273 TraceCheckUtils]: 209: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,507 INFO L273 TraceCheckUtils]: 210: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,508 INFO L273 TraceCheckUtils]: 211: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,509 INFO L273 TraceCheckUtils]: 212: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,510 INFO L273 TraceCheckUtils]: 213: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,510 INFO L273 TraceCheckUtils]: 214: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,511 INFO L273 TraceCheckUtils]: 215: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,512 INFO L273 TraceCheckUtils]: 216: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,513 INFO L273 TraceCheckUtils]: 217: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,513 INFO L273 TraceCheckUtils]: 218: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,514 INFO L273 TraceCheckUtils]: 219: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} assume !(~i~2 < 19); {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,515 INFO L273 TraceCheckUtils]: 220: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:19:22,515 INFO L256 TraceCheckUtils]: 221: Hoare triple {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {46225#true} is VALID [2018-11-23 12:19:22,516 INFO L273 TraceCheckUtils]: 222: Hoare triple {46225#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {46230#(= sep_~ret~0 0)} is VALID [2018-11-23 12:19:22,516 INFO L273 TraceCheckUtils]: 223: Hoare triple {46230#(= sep_~ret~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46230#(= sep_~ret~0 0)} is VALID [2018-11-23 12:19:22,517 INFO L273 TraceCheckUtils]: 224: Hoare triple {46230#(= sep_~ret~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:22,518 INFO L273 TraceCheckUtils]: 225: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:22,518 INFO L273 TraceCheckUtils]: 226: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:22,519 INFO L273 TraceCheckUtils]: 227: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:22,520 INFO L273 TraceCheckUtils]: 228: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:22,521 INFO L273 TraceCheckUtils]: 229: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:22,522 INFO L273 TraceCheckUtils]: 230: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:22,523 INFO L273 TraceCheckUtils]: 231: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:22,523 INFO L273 TraceCheckUtils]: 232: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:22,524 INFO L273 TraceCheckUtils]: 233: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:22,525 INFO L273 TraceCheckUtils]: 234: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:22,526 INFO L273 TraceCheckUtils]: 235: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:22,527 INFO L273 TraceCheckUtils]: 236: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:22,527 INFO L273 TraceCheckUtils]: 237: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:22,528 INFO L273 TraceCheckUtils]: 238: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:22,529 INFO L273 TraceCheckUtils]: 239: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:22,530 INFO L273 TraceCheckUtils]: 240: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:22,531 INFO L273 TraceCheckUtils]: 241: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:22,532 INFO L273 TraceCheckUtils]: 242: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:22,532 INFO L273 TraceCheckUtils]: 243: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:22,533 INFO L273 TraceCheckUtils]: 244: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:22,534 INFO L273 TraceCheckUtils]: 245: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:22,535 INFO L273 TraceCheckUtils]: 246: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:22,535 INFO L273 TraceCheckUtils]: 247: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:22,536 INFO L273 TraceCheckUtils]: 248: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:22,537 INFO L273 TraceCheckUtils]: 249: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:22,538 INFO L273 TraceCheckUtils]: 250: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:22,539 INFO L273 TraceCheckUtils]: 251: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:22,539 INFO L273 TraceCheckUtils]: 252: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:22,540 INFO L273 TraceCheckUtils]: 253: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:22,541 INFO L273 TraceCheckUtils]: 254: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:22,542 INFO L273 TraceCheckUtils]: 255: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:22,543 INFO L273 TraceCheckUtils]: 256: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:22,544 INFO L273 TraceCheckUtils]: 257: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:22,544 INFO L273 TraceCheckUtils]: 258: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:22,545 INFO L273 TraceCheckUtils]: 259: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:22,546 INFO L273 TraceCheckUtils]: 260: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:22,547 INFO L273 TraceCheckUtils]: 261: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:22,547 INFO L273 TraceCheckUtils]: 262: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:22,548 INFO L273 TraceCheckUtils]: 263: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:22,549 INFO L273 TraceCheckUtils]: 264: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:22,550 INFO L273 TraceCheckUtils]: 265: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:22,551 INFO L273 TraceCheckUtils]: 266: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:22,551 INFO L273 TraceCheckUtils]: 267: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:22,552 INFO L273 TraceCheckUtils]: 268: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:22,553 INFO L273 TraceCheckUtils]: 269: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:22,554 INFO L273 TraceCheckUtils]: 270: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:22,555 INFO L273 TraceCheckUtils]: 271: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:22,556 INFO L273 TraceCheckUtils]: 272: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:22,556 INFO L273 TraceCheckUtils]: 273: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:22,557 INFO L273 TraceCheckUtils]: 274: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:22,558 INFO L273 TraceCheckUtils]: 275: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:22,559 INFO L273 TraceCheckUtils]: 276: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:22,559 INFO L273 TraceCheckUtils]: 277: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:22,561 INFO L273 TraceCheckUtils]: 278: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:22,561 INFO L273 TraceCheckUtils]: 279: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:22,562 INFO L273 TraceCheckUtils]: 280: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:22,563 INFO L273 TraceCheckUtils]: 281: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:22,564 INFO L273 TraceCheckUtils]: 282: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:22,564 INFO L273 TraceCheckUtils]: 283: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} assume !(~i~0 < 20); {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:22,566 INFO L273 TraceCheckUtils]: 284: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} is VALID [2018-11-23 12:19:22,567 INFO L273 TraceCheckUtils]: 285: Hoare triple {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} assume true; {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} is VALID [2018-11-23 12:19:22,568 INFO L268 TraceCheckUtils]: 286: Hoare quadruple {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} {46255#(and (= main_~ret~1 (+ |main_~#x~0.offset| 20)) (= main_~ret2~0 main_~ret~1) (= |main_~#x~0.offset| 0))} #79#return; {46256#(and (= main_~ret2~0 main_~ret~1) (= main_~ret~1 |main_#t~ret13|))} is VALID [2018-11-23 12:19:22,569 INFO L273 TraceCheckUtils]: 287: Hoare triple {46256#(and (= main_~ret2~0 main_~ret~1) (= main_~ret~1 |main_#t~ret13|))} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {46257#(and (= main_~ret5~0 main_~ret~1) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-23 12:19:22,570 INFO L273 TraceCheckUtils]: 288: Hoare triple {46257#(and (= main_~ret5~0 main_~ret~1) (= main_~ret2~0 main_~ret~1))} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {46226#false} is VALID [2018-11-23 12:19:22,570 INFO L273 TraceCheckUtils]: 289: Hoare triple {46226#false} assume !false; {46226#false} is VALID [2018-11-23 12:19:22,683 INFO L134 CoverageAnalysis]: Checked inductivity of 6266 backedges. 39 proven. 5310 refuted. 0 times theorem prover too weak. 917 trivial. 0 not checked. [2018-11-23 12:19:22,684 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:19:22,684 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 45 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 45 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:19:22,718 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:19:22,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:22,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:22,956 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:19:24,188 WARN L180 SmtUtils]: Spent 131.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 12:19:25,254 INFO L256 TraceCheckUtils]: 0: Hoare triple {46225#true} call ULTIMATE.init(); {46225#true} is VALID [2018-11-23 12:19:25,254 INFO L273 TraceCheckUtils]: 1: Hoare triple {46225#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {46225#true} is VALID [2018-11-23 12:19:25,254 INFO L273 TraceCheckUtils]: 2: Hoare triple {46225#true} assume true; {46225#true} is VALID [2018-11-23 12:19:25,255 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {46225#true} {46225#true} #71#return; {46225#true} is VALID [2018-11-23 12:19:25,255 INFO L256 TraceCheckUtils]: 4: Hoare triple {46225#true} call #t~ret14 := main(); {46225#true} is VALID [2018-11-23 12:19:25,255 INFO L273 TraceCheckUtils]: 5: Hoare triple {46225#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {46276#(= main_~i~1 0)} is VALID [2018-11-23 12:19:25,256 INFO L273 TraceCheckUtils]: 6: Hoare triple {46276#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46276#(= main_~i~1 0)} is VALID [2018-11-23 12:19:25,257 INFO L273 TraceCheckUtils]: 7: Hoare triple {46276#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46283#(= main_~i~1 1)} is VALID [2018-11-23 12:19:25,257 INFO L273 TraceCheckUtils]: 8: Hoare triple {46283#(= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46283#(= main_~i~1 1)} is VALID [2018-11-23 12:19:25,258 INFO L273 TraceCheckUtils]: 9: Hoare triple {46283#(= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46290#(= main_~i~1 2)} is VALID [2018-11-23 12:19:25,259 INFO L273 TraceCheckUtils]: 10: Hoare triple {46290#(= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46290#(= main_~i~1 2)} is VALID [2018-11-23 12:19:25,259 INFO L273 TraceCheckUtils]: 11: Hoare triple {46290#(= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46297#(= main_~i~1 3)} is VALID [2018-11-23 12:19:25,260 INFO L273 TraceCheckUtils]: 12: Hoare triple {46297#(= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46297#(= main_~i~1 3)} is VALID [2018-11-23 12:19:25,261 INFO L273 TraceCheckUtils]: 13: Hoare triple {46297#(= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46304#(= main_~i~1 4)} is VALID [2018-11-23 12:19:25,261 INFO L273 TraceCheckUtils]: 14: Hoare triple {46304#(= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46304#(= main_~i~1 4)} is VALID [2018-11-23 12:19:25,261 INFO L273 TraceCheckUtils]: 15: Hoare triple {46304#(= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,262 INFO L273 TraceCheckUtils]: 16: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,262 INFO L273 TraceCheckUtils]: 17: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,262 INFO L273 TraceCheckUtils]: 18: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,262 INFO L273 TraceCheckUtils]: 19: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,262 INFO L273 TraceCheckUtils]: 20: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,263 INFO L273 TraceCheckUtils]: 21: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,263 INFO L273 TraceCheckUtils]: 22: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,263 INFO L273 TraceCheckUtils]: 23: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,263 INFO L273 TraceCheckUtils]: 24: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,263 INFO L273 TraceCheckUtils]: 25: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,263 INFO L273 TraceCheckUtils]: 26: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,264 INFO L273 TraceCheckUtils]: 27: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,264 INFO L273 TraceCheckUtils]: 28: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,264 INFO L273 TraceCheckUtils]: 29: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,264 INFO L273 TraceCheckUtils]: 30: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,264 INFO L273 TraceCheckUtils]: 31: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,265 INFO L273 TraceCheckUtils]: 32: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,265 INFO L273 TraceCheckUtils]: 33: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,265 INFO L273 TraceCheckUtils]: 34: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,265 INFO L273 TraceCheckUtils]: 35: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,265 INFO L273 TraceCheckUtils]: 36: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,266 INFO L273 TraceCheckUtils]: 37: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,266 INFO L273 TraceCheckUtils]: 38: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,266 INFO L273 TraceCheckUtils]: 39: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,266 INFO L273 TraceCheckUtils]: 40: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,266 INFO L273 TraceCheckUtils]: 41: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,266 INFO L273 TraceCheckUtils]: 42: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,266 INFO L273 TraceCheckUtils]: 43: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,267 INFO L273 TraceCheckUtils]: 44: Hoare triple {46225#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {46225#true} is VALID [2018-11-23 12:19:25,267 INFO L273 TraceCheckUtils]: 45: Hoare triple {46225#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {46225#true} is VALID [2018-11-23 12:19:25,267 INFO L273 TraceCheckUtils]: 46: Hoare triple {46225#true} assume !(~i~1 < 20); {46225#true} is VALID [2018-11-23 12:19:25,267 INFO L256 TraceCheckUtils]: 47: Hoare triple {46225#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {46225#true} is VALID [2018-11-23 12:19:25,267 INFO L273 TraceCheckUtils]: 48: Hoare triple {46225#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {46230#(= sep_~ret~0 0)} is VALID [2018-11-23 12:19:25,268 INFO L273 TraceCheckUtils]: 49: Hoare triple {46230#(= sep_~ret~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46230#(= sep_~ret~0 0)} is VALID [2018-11-23 12:19:25,268 INFO L273 TraceCheckUtils]: 50: Hoare triple {46230#(= sep_~ret~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:25,269 INFO L273 TraceCheckUtils]: 51: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:25,269 INFO L273 TraceCheckUtils]: 52: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:25,270 INFO L273 TraceCheckUtils]: 53: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:25,270 INFO L273 TraceCheckUtils]: 54: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:25,271 INFO L273 TraceCheckUtils]: 55: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:25,272 INFO L273 TraceCheckUtils]: 56: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:25,272 INFO L273 TraceCheckUtils]: 57: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:25,273 INFO L273 TraceCheckUtils]: 58: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:25,274 INFO L273 TraceCheckUtils]: 59: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:25,275 INFO L273 TraceCheckUtils]: 60: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:25,276 INFO L273 TraceCheckUtils]: 61: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:25,277 INFO L273 TraceCheckUtils]: 62: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:25,278 INFO L273 TraceCheckUtils]: 63: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:25,279 INFO L273 TraceCheckUtils]: 64: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:25,280 INFO L273 TraceCheckUtils]: 65: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:25,281 INFO L273 TraceCheckUtils]: 66: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:25,281 INFO L273 TraceCheckUtils]: 67: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:25,282 INFO L273 TraceCheckUtils]: 68: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:25,283 INFO L273 TraceCheckUtils]: 69: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:25,284 INFO L273 TraceCheckUtils]: 70: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:25,285 INFO L273 TraceCheckUtils]: 71: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:25,286 INFO L273 TraceCheckUtils]: 72: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:25,287 INFO L273 TraceCheckUtils]: 73: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:25,288 INFO L273 TraceCheckUtils]: 74: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:25,289 INFO L273 TraceCheckUtils]: 75: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:25,290 INFO L273 TraceCheckUtils]: 76: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:25,291 INFO L273 TraceCheckUtils]: 77: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:25,291 INFO L273 TraceCheckUtils]: 78: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:25,292 INFO L273 TraceCheckUtils]: 79: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:25,293 INFO L273 TraceCheckUtils]: 80: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:25,294 INFO L273 TraceCheckUtils]: 81: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:25,295 INFO L273 TraceCheckUtils]: 82: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:25,296 INFO L273 TraceCheckUtils]: 83: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:25,297 INFO L273 TraceCheckUtils]: 84: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:25,298 INFO L273 TraceCheckUtils]: 85: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:25,299 INFO L273 TraceCheckUtils]: 86: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:25,299 INFO L273 TraceCheckUtils]: 87: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:25,300 INFO L273 TraceCheckUtils]: 88: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:25,301 INFO L273 TraceCheckUtils]: 89: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:25,302 INFO L273 TraceCheckUtils]: 90: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:25,303 INFO L273 TraceCheckUtils]: 91: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:25,304 INFO L273 TraceCheckUtils]: 92: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:25,305 INFO L273 TraceCheckUtils]: 93: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:25,306 INFO L273 TraceCheckUtils]: 94: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:25,307 INFO L273 TraceCheckUtils]: 95: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:25,308 INFO L273 TraceCheckUtils]: 96: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:25,308 INFO L273 TraceCheckUtils]: 97: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:25,310 INFO L273 TraceCheckUtils]: 98: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:25,310 INFO L273 TraceCheckUtils]: 99: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:25,311 INFO L273 TraceCheckUtils]: 100: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:25,312 INFO L273 TraceCheckUtils]: 101: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:25,313 INFO L273 TraceCheckUtils]: 102: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:25,314 INFO L273 TraceCheckUtils]: 103: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:25,315 INFO L273 TraceCheckUtils]: 104: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:25,316 INFO L273 TraceCheckUtils]: 105: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:25,317 INFO L273 TraceCheckUtils]: 106: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:25,318 INFO L273 TraceCheckUtils]: 107: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:25,318 INFO L273 TraceCheckUtils]: 108: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:25,319 INFO L273 TraceCheckUtils]: 109: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} assume !(~i~0 < 20); {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:25,321 INFO L273 TraceCheckUtils]: 110: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} is VALID [2018-11-23 12:19:25,322 INFO L273 TraceCheckUtils]: 111: Hoare triple {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} assume true; {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} is VALID [2018-11-23 12:19:25,323 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} {46225#true} #75#return; {46602#(and (<= |main_#t~ret6| 20) (<= 20 |main_#t~ret6|))} is VALID [2018-11-23 12:19:25,325 INFO L273 TraceCheckUtils]: 113: Hoare triple {46602#(and (<= |main_#t~ret6| 20) (<= 20 |main_#t~ret6|))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {46606#(and (<= 20 main_~ret~1) (<= main_~ret~1 20))} is VALID [2018-11-23 12:19:25,325 INFO L256 TraceCheckUtils]: 114: Hoare triple {46606#(and (<= 20 main_~ret~1) (<= main_~ret~1 20))} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {46225#true} is VALID [2018-11-23 12:19:25,325 INFO L273 TraceCheckUtils]: 115: Hoare triple {46225#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {46230#(= sep_~ret~0 0)} is VALID [2018-11-23 12:19:25,326 INFO L273 TraceCheckUtils]: 116: Hoare triple {46230#(= sep_~ret~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46230#(= sep_~ret~0 0)} is VALID [2018-11-23 12:19:25,327 INFO L273 TraceCheckUtils]: 117: Hoare triple {46230#(= sep_~ret~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:25,328 INFO L273 TraceCheckUtils]: 118: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:25,328 INFO L273 TraceCheckUtils]: 119: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:25,330 INFO L273 TraceCheckUtils]: 120: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:25,330 INFO L273 TraceCheckUtils]: 121: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:25,331 INFO L273 TraceCheckUtils]: 122: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:25,332 INFO L273 TraceCheckUtils]: 123: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:25,333 INFO L273 TraceCheckUtils]: 124: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:25,334 INFO L273 TraceCheckUtils]: 125: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:25,335 INFO L273 TraceCheckUtils]: 126: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:25,336 INFO L273 TraceCheckUtils]: 127: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:25,337 INFO L273 TraceCheckUtils]: 128: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:25,338 INFO L273 TraceCheckUtils]: 129: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:25,339 INFO L273 TraceCheckUtils]: 130: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:25,339 INFO L273 TraceCheckUtils]: 131: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:25,341 INFO L273 TraceCheckUtils]: 132: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:25,341 INFO L273 TraceCheckUtils]: 133: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:25,342 INFO L273 TraceCheckUtils]: 134: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:25,352 INFO L273 TraceCheckUtils]: 135: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:25,353 INFO L273 TraceCheckUtils]: 136: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:25,353 INFO L273 TraceCheckUtils]: 137: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:25,354 INFO L273 TraceCheckUtils]: 138: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:25,354 INFO L273 TraceCheckUtils]: 139: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:25,355 INFO L273 TraceCheckUtils]: 140: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:25,356 INFO L273 TraceCheckUtils]: 141: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:25,356 INFO L273 TraceCheckUtils]: 142: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:25,357 INFO L273 TraceCheckUtils]: 143: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:25,358 INFO L273 TraceCheckUtils]: 144: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:25,359 INFO L273 TraceCheckUtils]: 145: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:25,360 INFO L273 TraceCheckUtils]: 146: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:25,361 INFO L273 TraceCheckUtils]: 147: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:25,362 INFO L273 TraceCheckUtils]: 148: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:25,363 INFO L273 TraceCheckUtils]: 149: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:25,364 INFO L273 TraceCheckUtils]: 150: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:25,365 INFO L273 TraceCheckUtils]: 151: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:25,365 INFO L273 TraceCheckUtils]: 152: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:25,366 INFO L273 TraceCheckUtils]: 153: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:25,367 INFO L273 TraceCheckUtils]: 154: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:25,368 INFO L273 TraceCheckUtils]: 155: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:25,369 INFO L273 TraceCheckUtils]: 156: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:25,370 INFO L273 TraceCheckUtils]: 157: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:25,371 INFO L273 TraceCheckUtils]: 158: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:25,372 INFO L273 TraceCheckUtils]: 159: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:25,373 INFO L273 TraceCheckUtils]: 160: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:25,373 INFO L273 TraceCheckUtils]: 161: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:25,375 INFO L273 TraceCheckUtils]: 162: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:25,375 INFO L273 TraceCheckUtils]: 163: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:25,376 INFO L273 TraceCheckUtils]: 164: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:25,377 INFO L273 TraceCheckUtils]: 165: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:25,378 INFO L273 TraceCheckUtils]: 166: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:25,379 INFO L273 TraceCheckUtils]: 167: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:25,380 INFO L273 TraceCheckUtils]: 168: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:25,381 INFO L273 TraceCheckUtils]: 169: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:25,382 INFO L273 TraceCheckUtils]: 170: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:25,383 INFO L273 TraceCheckUtils]: 171: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:25,384 INFO L273 TraceCheckUtils]: 172: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:25,384 INFO L273 TraceCheckUtils]: 173: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:25,386 INFO L273 TraceCheckUtils]: 174: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:25,386 INFO L273 TraceCheckUtils]: 175: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:25,387 INFO L273 TraceCheckUtils]: 176: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} assume !(~i~0 < 20); {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:25,389 INFO L273 TraceCheckUtils]: 177: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} is VALID [2018-11-23 12:19:25,390 INFO L273 TraceCheckUtils]: 178: Hoare triple {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} assume true; {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} is VALID [2018-11-23 12:19:25,391 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} {46606#(and (<= 20 main_~ret~1) (<= main_~ret~1 20))} #77#return; {46805#(and (<= |main_#t~ret9| 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 |main_#t~ret9|))} is VALID [2018-11-23 12:19:25,393 INFO L273 TraceCheckUtils]: 180: Hoare triple {46805#(and (<= |main_#t~ret9| 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,394 INFO L273 TraceCheckUtils]: 181: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,394 INFO L273 TraceCheckUtils]: 182: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,395 INFO L273 TraceCheckUtils]: 183: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,396 INFO L273 TraceCheckUtils]: 184: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,397 INFO L273 TraceCheckUtils]: 185: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,398 INFO L273 TraceCheckUtils]: 186: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,399 INFO L273 TraceCheckUtils]: 187: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,400 INFO L273 TraceCheckUtils]: 188: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,401 INFO L273 TraceCheckUtils]: 189: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,401 INFO L273 TraceCheckUtils]: 190: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,402 INFO L273 TraceCheckUtils]: 191: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,403 INFO L273 TraceCheckUtils]: 192: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,404 INFO L273 TraceCheckUtils]: 193: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,405 INFO L273 TraceCheckUtils]: 194: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,406 INFO L273 TraceCheckUtils]: 195: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,407 INFO L273 TraceCheckUtils]: 196: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,407 INFO L273 TraceCheckUtils]: 197: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,408 INFO L273 TraceCheckUtils]: 198: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,409 INFO L273 TraceCheckUtils]: 199: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,410 INFO L273 TraceCheckUtils]: 200: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,411 INFO L273 TraceCheckUtils]: 201: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,412 INFO L273 TraceCheckUtils]: 202: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,413 INFO L273 TraceCheckUtils]: 203: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,413 INFO L273 TraceCheckUtils]: 204: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,414 INFO L273 TraceCheckUtils]: 205: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,415 INFO L273 TraceCheckUtils]: 206: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,416 INFO L273 TraceCheckUtils]: 207: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,417 INFO L273 TraceCheckUtils]: 208: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,418 INFO L273 TraceCheckUtils]: 209: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,419 INFO L273 TraceCheckUtils]: 210: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,420 INFO L273 TraceCheckUtils]: 211: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,420 INFO L273 TraceCheckUtils]: 212: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,421 INFO L273 TraceCheckUtils]: 213: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,422 INFO L273 TraceCheckUtils]: 214: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,423 INFO L273 TraceCheckUtils]: 215: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,424 INFO L273 TraceCheckUtils]: 216: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,425 INFO L273 TraceCheckUtils]: 217: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !!(~i~2 < 19);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,426 INFO L273 TraceCheckUtils]: 218: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,426 INFO L273 TraceCheckUtils]: 219: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume !(~i~2 < 19); {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,427 INFO L273 TraceCheckUtils]: 220: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,427 INFO L256 TraceCheckUtils]: 221: Hoare triple {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {46225#true} is VALID [2018-11-23 12:19:25,428 INFO L273 TraceCheckUtils]: 222: Hoare triple {46225#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {46230#(= sep_~ret~0 0)} is VALID [2018-11-23 12:19:25,429 INFO L273 TraceCheckUtils]: 223: Hoare triple {46230#(= sep_~ret~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46230#(= sep_~ret~0 0)} is VALID [2018-11-23 12:19:25,429 INFO L273 TraceCheckUtils]: 224: Hoare triple {46230#(= sep_~ret~0 0)} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:25,430 INFO L273 TraceCheckUtils]: 225: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:25,431 INFO L273 TraceCheckUtils]: 226: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} is VALID [2018-11-23 12:19:25,432 INFO L273 TraceCheckUtils]: 227: Hoare triple {46231#(and (<= 1 sep_~ret~0) (<= sep_~ret~0 1))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:25,433 INFO L273 TraceCheckUtils]: 228: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:25,434 INFO L273 TraceCheckUtils]: 229: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} is VALID [2018-11-23 12:19:25,435 INFO L273 TraceCheckUtils]: 230: Hoare triple {46232#(and (<= sep_~ret~0 2) (<= 2 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:25,436 INFO L273 TraceCheckUtils]: 231: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:25,436 INFO L273 TraceCheckUtils]: 232: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} is VALID [2018-11-23 12:19:25,438 INFO L273 TraceCheckUtils]: 233: Hoare triple {46233#(and (<= sep_~ret~0 3) (<= 3 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:25,438 INFO L273 TraceCheckUtils]: 234: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:25,439 INFO L273 TraceCheckUtils]: 235: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} is VALID [2018-11-23 12:19:25,440 INFO L273 TraceCheckUtils]: 236: Hoare triple {46234#(and (<= sep_~ret~0 4) (<= 4 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:25,441 INFO L273 TraceCheckUtils]: 237: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:25,442 INFO L273 TraceCheckUtils]: 238: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} is VALID [2018-11-23 12:19:25,443 INFO L273 TraceCheckUtils]: 239: Hoare triple {46235#(and (<= sep_~ret~0 5) (<= 5 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:25,444 INFO L273 TraceCheckUtils]: 240: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:25,445 INFO L273 TraceCheckUtils]: 241: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} is VALID [2018-11-23 12:19:25,446 INFO L273 TraceCheckUtils]: 242: Hoare triple {46236#(and (<= sep_~ret~0 6) (<= 6 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:25,446 INFO L273 TraceCheckUtils]: 243: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:25,447 INFO L273 TraceCheckUtils]: 244: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} is VALID [2018-11-23 12:19:25,448 INFO L273 TraceCheckUtils]: 245: Hoare triple {46237#(and (<= 7 sep_~ret~0) (<= sep_~ret~0 7))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:25,449 INFO L273 TraceCheckUtils]: 246: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:25,450 INFO L273 TraceCheckUtils]: 247: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} is VALID [2018-11-23 12:19:25,451 INFO L273 TraceCheckUtils]: 248: Hoare triple {46238#(and (<= 8 sep_~ret~0) (<= sep_~ret~0 8))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:25,452 INFO L273 TraceCheckUtils]: 249: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:25,453 INFO L273 TraceCheckUtils]: 250: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} is VALID [2018-11-23 12:19:25,454 INFO L273 TraceCheckUtils]: 251: Hoare triple {46239#(and (<= sep_~ret~0 9) (<= 9 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:25,455 INFO L273 TraceCheckUtils]: 252: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:25,455 INFO L273 TraceCheckUtils]: 253: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} is VALID [2018-11-23 12:19:25,457 INFO L273 TraceCheckUtils]: 254: Hoare triple {46240#(and (<= 10 sep_~ret~0) (<= sep_~ret~0 10))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:25,457 INFO L273 TraceCheckUtils]: 255: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:25,458 INFO L273 TraceCheckUtils]: 256: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} is VALID [2018-11-23 12:19:25,459 INFO L273 TraceCheckUtils]: 257: Hoare triple {46241#(and (<= 11 sep_~ret~0) (<= sep_~ret~0 11))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:25,460 INFO L273 TraceCheckUtils]: 258: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:25,461 INFO L273 TraceCheckUtils]: 259: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} is VALID [2018-11-23 12:19:25,462 INFO L273 TraceCheckUtils]: 260: Hoare triple {46242#(and (<= 12 sep_~ret~0) (<= sep_~ret~0 12))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:25,463 INFO L273 TraceCheckUtils]: 261: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:25,463 INFO L273 TraceCheckUtils]: 262: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} is VALID [2018-11-23 12:19:25,465 INFO L273 TraceCheckUtils]: 263: Hoare triple {46243#(and (<= 13 sep_~ret~0) (<= sep_~ret~0 13))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:25,465 INFO L273 TraceCheckUtils]: 264: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:25,466 INFO L273 TraceCheckUtils]: 265: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} is VALID [2018-11-23 12:19:25,467 INFO L273 TraceCheckUtils]: 266: Hoare triple {46244#(and (<= 14 sep_~ret~0) (<= sep_~ret~0 14))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:25,468 INFO L273 TraceCheckUtils]: 267: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:25,469 INFO L273 TraceCheckUtils]: 268: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} is VALID [2018-11-23 12:19:25,470 INFO L273 TraceCheckUtils]: 269: Hoare triple {46245#(and (<= 15 sep_~ret~0) (<= sep_~ret~0 15))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:25,471 INFO L273 TraceCheckUtils]: 270: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:25,472 INFO L273 TraceCheckUtils]: 271: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} is VALID [2018-11-23 12:19:25,473 INFO L273 TraceCheckUtils]: 272: Hoare triple {46246#(and (<= sep_~ret~0 16) (<= 16 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:25,473 INFO L273 TraceCheckUtils]: 273: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:25,474 INFO L273 TraceCheckUtils]: 274: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} is VALID [2018-11-23 12:19:25,475 INFO L273 TraceCheckUtils]: 275: Hoare triple {46247#(and (<= 17 sep_~ret~0) (<= sep_~ret~0 17))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:25,476 INFO L273 TraceCheckUtils]: 276: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:25,477 INFO L273 TraceCheckUtils]: 277: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} is VALID [2018-11-23 12:19:25,478 INFO L273 TraceCheckUtils]: 278: Hoare triple {46248#(and (<= 18 sep_~ret~0) (<= sep_~ret~0 18))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:25,479 INFO L273 TraceCheckUtils]: 279: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:25,480 INFO L273 TraceCheckUtils]: 280: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} is VALID [2018-11-23 12:19:25,481 INFO L273 TraceCheckUtils]: 281: Hoare triple {46249#(and (<= sep_~ret~0 19) (<= 19 sep_~ret~0))} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:25,481 INFO L273 TraceCheckUtils]: 282: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:25,482 INFO L273 TraceCheckUtils]: 283: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} assume !(~i~0 < 20); {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} is VALID [2018-11-23 12:19:25,485 INFO L273 TraceCheckUtils]: 284: Hoare triple {46250#(and (<= 20 sep_~ret~0) (<= sep_~ret~0 20))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} is VALID [2018-11-23 12:19:25,485 INFO L273 TraceCheckUtils]: 285: Hoare triple {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} assume true; {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} is VALID [2018-11-23 12:19:25,486 INFO L268 TraceCheckUtils]: 286: Hoare quadruple {46251#(and (<= |sep_#res| 20) (<= 20 |sep_#res|))} {46809#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} #79#return; {47128#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= 20 |main_#t~ret13|) (<= main_~ret~1 20) (<= 20 main_~ret2~0) (<= |main_#t~ret13| 20))} is VALID [2018-11-23 12:19:25,487 INFO L273 TraceCheckUtils]: 287: Hoare triple {47128#(and (<= main_~ret2~0 20) (<= 20 main_~ret~1) (<= 20 |main_#t~ret13|) (<= main_~ret~1 20) (<= 20 main_~ret2~0) (<= |main_#t~ret13| 20))} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {47132#(and (<= main_~ret2~0 20) (<= main_~ret5~0 20) (<= 20 main_~ret5~0) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} is VALID [2018-11-23 12:19:25,488 INFO L273 TraceCheckUtils]: 288: Hoare triple {47132#(and (<= main_~ret2~0 20) (<= main_~ret5~0 20) (<= 20 main_~ret5~0) (<= 20 main_~ret~1) (<= main_~ret~1 20) (<= 20 main_~ret2~0))} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {46226#false} is VALID [2018-11-23 12:19:25,488 INFO L273 TraceCheckUtils]: 289: Hoare triple {46226#false} assume !false; {46226#false} is VALID [2018-11-23 12:19:25,614 INFO L134 CoverageAnalysis]: Checked inductivity of 6266 backedges. 0 proven. 5485 refuted. 0 times theorem prover too weak. 781 trivial. 0 not checked. [2018-11-23 12:19:25,634 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:19:25,635 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 35] total 44 [2018-11-23 12:19:25,635 INFO L78 Accepts]: Start accepts. Automaton has 44 states. Word has length 290 [2018-11-23 12:19:25,636 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:19:25,636 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 44 states. [2018-11-23 12:19:25,808 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:19:25,808 INFO L459 AbstractCegarLoop]: Interpolant automaton has 44 states [2018-11-23 12:19:25,808 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 44 interpolants. [2018-11-23 12:19:25,809 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=108, Invalid=1784, Unknown=0, NotChecked=0, Total=1892 [2018-11-23 12:19:25,809 INFO L87 Difference]: Start difference. First operand 161 states and 185 transitions. Second operand 44 states.