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/sep40_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:16:43,037 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:16:43,039 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:16:43,051 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:16:43,051 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:16:43,052 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:16:43,054 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:16:43,057 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:16:43,059 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:16:43,062 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:16:43,063 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:16:43,064 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:16:43,064 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:16:43,066 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:16:43,067 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:16:43,068 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:16:43,068 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:16:43,081 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:16:43,083 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:16:43,085 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:16:43,086 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:16:43,089 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:16:43,094 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:16:43,098 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:16:43,098 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:16:43,099 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:16:43,100 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:16:43,103 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:16:43,104 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:16:43,105 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:16:43,105 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:16:43,106 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:16:43,106 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:16:43,106 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:16:43,107 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:16:43,108 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:16:43,108 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:43,139 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:16:43,139 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:16:43,141 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:16:43,141 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:16:43,142 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:16:43,142 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:16:43,142 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:16:43,142 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:16:43,143 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:16:43,144 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:16:43,144 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:16:43,144 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:16:43,144 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:16:43,145 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:16:43,145 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:16:43,145 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:16:43,145 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:16:43,145 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:16:43,146 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:16:43,146 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:16:43,146 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:16:43,146 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:16:43,146 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:16:43,147 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:16:43,147 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:16:43,147 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:16:43,147 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:16:43,147 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:16:43,148 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:16:43,149 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:16:43,150 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:16:43,218 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:16:43,234 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:16:43,239 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:16:43,241 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:16:43,241 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:16:43,242 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/reducercommutativity/sep40_true-unreach-call.i [2018-11-23 12:16:43,309 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1518cb921/a1dfa80ef7dc469491d0d94d6e4b3324/FLAGb18497c99 [2018-11-23 12:16:43,757 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:16:43,758 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/reducercommutativity/sep40_true-unreach-call.i [2018-11-23 12:16:43,769 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1518cb921/a1dfa80ef7dc469491d0d94d6e4b3324/FLAGb18497c99 [2018-11-23 12:16:44,120 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1518cb921/a1dfa80ef7dc469491d0d94d6e4b3324 [2018-11-23 12:16:44,129 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:16:44,131 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:16:44,132 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:16:44,132 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:16:44,137 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:16:44,139 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:16:44" (1/1) ... [2018-11-23 12:16:44,142 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@645c9af8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:44, skipping insertion in model container [2018-11-23 12:16:44,142 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:16:44" (1/1) ... [2018-11-23 12:16:44,153 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:16:44,184 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:16:44,449 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:16:44,467 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:16:44,500 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:16:44,522 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:16:44,522 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:44 WrapperNode [2018-11-23 12:16:44,522 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:16:44,523 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:16:44,523 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:16:44,524 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:16:44,535 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:44" (1/1) ... [2018-11-23 12:16:44,548 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:44" (1/1) ... [2018-11-23 12:16:44,557 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:16:44,558 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:16:44,558 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:16:44,558 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:16:44,570 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:44" (1/1) ... [2018-11-23 12:16:44,570 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:44" (1/1) ... [2018-11-23 12:16:44,573 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:44" (1/1) ... [2018-11-23 12:16:44,573 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:44" (1/1) ... [2018-11-23 12:16:44,608 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:44" (1/1) ... [2018-11-23 12:16:44,619 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:44" (1/1) ... [2018-11-23 12:16:44,623 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:44" (1/1) ... [2018-11-23 12:16:44,630 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:16:44,631 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:16:44,631 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:16:44,631 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:16:44,632 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:44" (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:44,801 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:16:44,802 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:16:44,802 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:16:44,802 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:16:44,802 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:16:44,802 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:16:44,803 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:16:44,803 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:16:44,803 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:16:44,803 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:16:44,803 INFO L130 BoogieDeclarations]: Found specification of procedure sep [2018-11-23 12:16:44,804 INFO L138 BoogieDeclarations]: Found implementation of procedure sep [2018-11-23 12:16:45,555 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:16:45,556 INFO L280 CfgBuilder]: Removed 3 assue(true) statements. [2018-11-23 12:16:45,556 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:16:45 BoogieIcfgContainer [2018-11-23 12:16:45,556 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:16:45,557 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:16:45,558 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:16:45,561 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:16:45,561 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:16:44" (1/3) ... [2018-11-23 12:16:45,562 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2df9146a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:16:45, skipping insertion in model container [2018-11-23 12:16:45,562 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:44" (2/3) ... [2018-11-23 12:16:45,563 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2df9146a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:16:45, skipping insertion in model container [2018-11-23 12:16:45,563 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:16:45" (3/3) ... [2018-11-23 12:16:45,565 INFO L112 eAbstractionObserver]: Analyzing ICFG sep40_true-unreach-call.i [2018-11-23 12:16:45,575 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:16:45,584 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:16:45,603 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:16:45,636 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:16:45,637 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:16:45,638 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:16:45,638 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:16:45,638 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:16:45,638 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:16:45,639 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:16:45,639 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:16:45,639 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:16:45,659 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states. [2018-11-23 12:16:45,667 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:16:45,668 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:45,669 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:45,672 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:45,678 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:45,679 INFO L82 PathProgramCache]: Analyzing trace with hash 794343521, now seen corresponding path program 1 times [2018-11-23 12:16:45,681 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:45,682 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:45,737 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:45,738 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:45,738 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:45,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:45,939 INFO L256 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {35#true} is VALID [2018-11-23 12:16:45,944 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:45,945 INFO L273 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2018-11-23 12:16:45,945 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2018-11-23 12:16:45,945 INFO L256 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret14 := main(); {35#true} is VALID [2018-11-23 12:16:45,946 INFO L273 TraceCheckUtils]: 5: Hoare triple {35#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {35#true} is VALID [2018-11-23 12:16:45,959 INFO L273 TraceCheckUtils]: 6: Hoare triple {35#true} assume !true; {36#false} is VALID [2018-11-23 12:16:45,960 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:45,960 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:45,961 INFO L273 TraceCheckUtils]: 9: Hoare triple {35#true} assume !true; {35#true} is VALID [2018-11-23 12:16:45,961 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:45,961 INFO L273 TraceCheckUtils]: 11: Hoare triple {35#true} assume true; {35#true} is VALID [2018-11-23 12:16:45,962 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {35#true} {36#false} #75#return; {36#false} is VALID [2018-11-23 12:16:45,962 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:45,963 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:45,963 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:45,963 INFO L273 TraceCheckUtils]: 16: Hoare triple {35#true} assume !true; {35#true} is VALID [2018-11-23 12:16:45,964 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:45,964 INFO L273 TraceCheckUtils]: 18: Hoare triple {35#true} assume true; {35#true} is VALID [2018-11-23 12:16:45,964 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {35#true} {36#false} #77#return; {36#false} is VALID [2018-11-23 12:16:45,965 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:45,965 INFO L273 TraceCheckUtils]: 21: Hoare triple {36#false} assume !true; {36#false} is VALID [2018-11-23 12:16:45,965 INFO L273 TraceCheckUtils]: 22: Hoare triple {36#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {36#false} is VALID [2018-11-23 12:16:45,966 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:45,966 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:45,966 INFO L273 TraceCheckUtils]: 25: Hoare triple {35#true} assume !true; {35#true} is VALID [2018-11-23 12:16:45,967 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:45,967 INFO L273 TraceCheckUtils]: 27: Hoare triple {35#true} assume true; {35#true} is VALID [2018-11-23 12:16:45,967 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {35#true} {36#false} #79#return; {36#false} is VALID [2018-11-23 12:16:45,968 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:45,968 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:45,968 INFO L273 TraceCheckUtils]: 31: Hoare triple {36#false} assume !false; {36#false} is VALID [2018-11-23 12:16:45,978 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:45,982 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:16:45,982 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:16:45,987 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 12:16:45,991 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:45,995 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 12:16:46,201 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:46,201 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:16:46,212 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:16:46,212 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:16:46,215 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 2 states. [2018-11-23 12:16:46,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:46,426 INFO L93 Difference]: Finished difference Result 56 states and 75 transitions. [2018-11-23 12:16:46,426 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:16:46,426 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 12:16:46,426 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:46,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:16:46,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 75 transitions. [2018-11-23 12:16:46,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:16:46,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 75 transitions. [2018-11-23 12:16:46,446 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 75 transitions. [2018-11-23 12:16:46,718 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:46,732 INFO L225 Difference]: With dead ends: 56 [2018-11-23 12:16:46,733 INFO L226 Difference]: Without dead ends: 27 [2018-11-23 12:16:46,737 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:46,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-11-23 12:16:46,820 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2018-11-23 12:16:46,821 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:46,822 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 27 states. [2018-11-23 12:16:46,822 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-23 12:16:46,823 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-23 12:16:46,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:46,829 INFO L93 Difference]: Finished difference Result 27 states and 32 transitions. [2018-11-23 12:16:46,829 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-23 12:16:46,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:46,830 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:46,830 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-23 12:16:46,830 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-23 12:16:46,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:46,836 INFO L93 Difference]: Finished difference Result 27 states and 32 transitions. [2018-11-23 12:16:46,836 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-23 12:16:46,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:46,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:46,837 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:46,837 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:46,838 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:16:46,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 32 transitions. [2018-11-23 12:16:46,843 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 32 transitions. Word has length 32 [2018-11-23 12:16:46,844 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:46,844 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 32 transitions. [2018-11-23 12:16:46,844 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:16:46,844 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-23 12:16:46,846 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:16:46,846 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:46,846 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:46,846 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:46,847 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:46,847 INFO L82 PathProgramCache]: Analyzing trace with hash 2140793590, now seen corresponding path program 1 times [2018-11-23 12:16:46,847 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:46,847 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:46,849 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:46,849 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:46,849 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:46,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:47,007 INFO L256 TraceCheckUtils]: 0: Hoare triple {204#true} call ULTIMATE.init(); {204#true} is VALID [2018-11-23 12:16:47,008 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:47,008 INFO L273 TraceCheckUtils]: 2: Hoare triple {204#true} assume true; {204#true} is VALID [2018-11-23 12:16:47,008 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {204#true} {204#true} #71#return; {204#true} is VALID [2018-11-23 12:16:47,008 INFO L256 TraceCheckUtils]: 4: Hoare triple {204#true} call #t~ret14 := main(); {204#true} is VALID [2018-11-23 12:16:47,009 INFO L273 TraceCheckUtils]: 5: Hoare triple {204#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:47,011 INFO L273 TraceCheckUtils]: 6: Hoare triple {206#(= main_~i~1 0)} assume !(~i~1 < 40); {205#false} is VALID [2018-11-23 12:16:47,011 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:47,011 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:47,012 INFO L273 TraceCheckUtils]: 9: Hoare triple {204#true} assume !(~i~0 < 40); {204#true} is VALID [2018-11-23 12:16:47,012 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:47,012 INFO L273 TraceCheckUtils]: 11: Hoare triple {204#true} assume true; {204#true} is VALID [2018-11-23 12:16:47,012 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {204#true} {205#false} #75#return; {205#false} is VALID [2018-11-23 12:16:47,013 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:47,013 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:47,013 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:47,013 INFO L273 TraceCheckUtils]: 16: Hoare triple {204#true} assume !(~i~0 < 40); {204#true} is VALID [2018-11-23 12:16:47,014 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:47,014 INFO L273 TraceCheckUtils]: 18: Hoare triple {204#true} assume true; {204#true} is VALID [2018-11-23 12:16:47,014 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {204#true} {205#false} #77#return; {205#false} is VALID [2018-11-23 12:16:47,015 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:47,015 INFO L273 TraceCheckUtils]: 21: Hoare triple {205#false} assume !(~i~2 < 39); {205#false} is VALID [2018-11-23 12:16:47,015 INFO L273 TraceCheckUtils]: 22: Hoare triple {205#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {205#false} is VALID [2018-11-23 12:16:47,016 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:47,016 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:47,016 INFO L273 TraceCheckUtils]: 25: Hoare triple {204#true} assume !(~i~0 < 40); {204#true} is VALID [2018-11-23 12:16:47,017 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:47,017 INFO L273 TraceCheckUtils]: 27: Hoare triple {204#true} assume true; {204#true} is VALID [2018-11-23 12:16:47,017 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {204#true} {205#false} #79#return; {205#false} is VALID [2018-11-23 12:16:47,018 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:47,018 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:47,018 INFO L273 TraceCheckUtils]: 31: Hoare triple {205#false} assume !false; {205#false} is VALID [2018-11-23 12:16:47,021 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:47,022 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:16:47,022 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:16:47,024 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 12:16:47,024 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:47,025 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:16:47,067 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:47,067 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:16:47,067 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:16:47,068 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:16:47,068 INFO L87 Difference]: Start difference. First operand 27 states and 32 transitions. Second operand 3 states. [2018-11-23 12:16:47,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:47,648 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2018-11-23 12:16:47,648 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:16:47,648 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 12:16:47,649 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:47,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:16:47,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2018-11-23 12:16:47,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:16:47,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2018-11-23 12:16:47,657 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2018-11-23 12:16:47,935 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:47,938 INFO L225 Difference]: With dead ends: 48 [2018-11-23 12:16:47,939 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 12:16:47,941 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:47,941 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 12:16:47,959 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2018-11-23 12:16:47,960 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:47,960 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 28 states. [2018-11-23 12:16:47,960 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 28 states. [2018-11-23 12:16:47,961 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 28 states. [2018-11-23 12:16:47,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:47,965 INFO L93 Difference]: Finished difference Result 29 states and 34 transitions. [2018-11-23 12:16:47,965 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2018-11-23 12:16:47,966 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:47,966 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:47,966 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 29 states. [2018-11-23 12:16:47,967 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 29 states. [2018-11-23 12:16:47,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:47,970 INFO L93 Difference]: Finished difference Result 29 states and 34 transitions. [2018-11-23 12:16:47,970 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2018-11-23 12:16:47,971 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:47,971 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:47,971 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:47,972 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:47,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:16:47,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 33 transitions. [2018-11-23 12:16:47,975 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 33 transitions. Word has length 32 [2018-11-23 12:16:47,975 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:47,975 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 33 transitions. [2018-11-23 12:16:47,975 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:16:47,976 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 33 transitions. [2018-11-23 12:16:47,977 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 12:16:47,977 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:47,977 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:47,977 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:47,978 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:47,978 INFO L82 PathProgramCache]: Analyzing trace with hash 2099349144, now seen corresponding path program 1 times [2018-11-23 12:16:47,978 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:47,978 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:47,979 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:47,980 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:47,980 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:48,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:48,078 INFO L256 TraceCheckUtils]: 0: Hoare triple {373#true} call ULTIMATE.init(); {373#true} is VALID [2018-11-23 12:16:48,079 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:48,079 INFO L273 TraceCheckUtils]: 2: Hoare triple {373#true} assume true; {373#true} is VALID [2018-11-23 12:16:48,079 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {373#true} {373#true} #71#return; {373#true} is VALID [2018-11-23 12:16:48,079 INFO L256 TraceCheckUtils]: 4: Hoare triple {373#true} call #t~ret14 := main(); {373#true} is VALID [2018-11-23 12:16:48,080 INFO L273 TraceCheckUtils]: 5: Hoare triple {373#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {373#true} is VALID [2018-11-23 12:16:48,080 INFO L273 TraceCheckUtils]: 6: Hoare triple {373#true} assume !!(~i~1 < 40);assume -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:48,080 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:48,080 INFO L273 TraceCheckUtils]: 8: Hoare triple {373#true} assume !(~i~1 < 40); {373#true} is VALID [2018-11-23 12:16:48,082 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:48,083 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:48,086 INFO L273 TraceCheckUtils]: 11: Hoare triple {375#(= sep_~i~0 0)} assume !(~i~0 < 40); {374#false} is VALID [2018-11-23 12:16:48,086 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:48,086 INFO L273 TraceCheckUtils]: 13: Hoare triple {374#false} assume true; {374#false} is VALID [2018-11-23 12:16:48,087 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {374#false} {373#true} #75#return; {374#false} is VALID [2018-11-23 12:16:48,087 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:48,087 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:48,088 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:48,088 INFO L273 TraceCheckUtils]: 18: Hoare triple {373#true} assume !(~i~0 < 40); {373#true} is VALID [2018-11-23 12:16:48,088 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:48,088 INFO L273 TraceCheckUtils]: 20: Hoare triple {373#true} assume true; {373#true} is VALID [2018-11-23 12:16:48,089 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {373#true} {374#false} #77#return; {374#false} is VALID [2018-11-23 12:16:48,089 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:48,089 INFO L273 TraceCheckUtils]: 23: Hoare triple {374#false} assume !(~i~2 < 39); {374#false} is VALID [2018-11-23 12:16:48,090 INFO L273 TraceCheckUtils]: 24: Hoare triple {374#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {374#false} is VALID [2018-11-23 12:16:48,090 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:48,090 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:48,091 INFO L273 TraceCheckUtils]: 27: Hoare triple {373#true} assume !(~i~0 < 40); {373#true} is VALID [2018-11-23 12:16:48,091 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:48,091 INFO L273 TraceCheckUtils]: 29: Hoare triple {373#true} assume true; {373#true} is VALID [2018-11-23 12:16:48,092 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {373#true} {374#false} #79#return; {374#false} is VALID [2018-11-23 12:16:48,092 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:48,092 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:48,093 INFO L273 TraceCheckUtils]: 33: Hoare triple {374#false} assume !false; {374#false} is VALID [2018-11-23 12:16:48,095 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:48,095 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:48,096 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:48,113 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:48,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:48,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:48,198 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:48,348 INFO L256 TraceCheckUtils]: 0: Hoare triple {373#true} call ULTIMATE.init(); {373#true} is VALID [2018-11-23 12:16:48,349 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:48,349 INFO L273 TraceCheckUtils]: 2: Hoare triple {373#true} assume true; {373#true} is VALID [2018-11-23 12:16:48,349 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {373#true} {373#true} #71#return; {373#true} is VALID [2018-11-23 12:16:48,349 INFO L256 TraceCheckUtils]: 4: Hoare triple {373#true} call #t~ret14 := main(); {373#true} is VALID [2018-11-23 12:16:48,350 INFO L273 TraceCheckUtils]: 5: Hoare triple {373#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {373#true} is VALID [2018-11-23 12:16:48,350 INFO L273 TraceCheckUtils]: 6: Hoare triple {373#true} assume !!(~i~1 < 40);assume -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:48,350 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:48,351 INFO L273 TraceCheckUtils]: 8: Hoare triple {373#true} assume !(~i~1 < 40); {373#true} is VALID [2018-11-23 12:16:48,351 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:48,355 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:48,356 INFO L273 TraceCheckUtils]: 11: Hoare triple {409#(<= sep_~i~0 0)} assume !(~i~0 < 40); {374#false} is VALID [2018-11-23 12:16:48,356 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:48,357 INFO L273 TraceCheckUtils]: 13: Hoare triple {374#false} assume true; {374#false} is VALID [2018-11-23 12:16:48,357 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {374#false} {373#true} #75#return; {374#false} is VALID [2018-11-23 12:16:48,357 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:48,357 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:48,358 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:48,358 INFO L273 TraceCheckUtils]: 18: Hoare triple {374#false} assume !(~i~0 < 40); {374#false} is VALID [2018-11-23 12:16:48,358 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:48,359 INFO L273 TraceCheckUtils]: 20: Hoare triple {374#false} assume true; {374#false} is VALID [2018-11-23 12:16:48,359 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {374#false} {374#false} #77#return; {374#false} is VALID [2018-11-23 12:16:48,359 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:48,359 INFO L273 TraceCheckUtils]: 23: Hoare triple {374#false} assume !(~i~2 < 39); {374#false} is VALID [2018-11-23 12:16:48,360 INFO L273 TraceCheckUtils]: 24: Hoare triple {374#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {374#false} is VALID [2018-11-23 12:16:48,360 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:48,360 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:48,361 INFO L273 TraceCheckUtils]: 27: Hoare triple {374#false} assume !(~i~0 < 40); {374#false} is VALID [2018-11-23 12:16:48,361 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:48,361 INFO L273 TraceCheckUtils]: 29: Hoare triple {374#false} assume true; {374#false} is VALID [2018-11-23 12:16:48,362 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {374#false} {374#false} #79#return; {374#false} is VALID [2018-11-23 12:16:48,362 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:48,362 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:48,362 INFO L273 TraceCheckUtils]: 33: Hoare triple {374#false} assume !false; {374#false} is VALID [2018-11-23 12:16:48,365 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:48,393 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:16:48,393 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [3] total 4 [2018-11-23 12:16:48,393 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 34 [2018-11-23 12:16:48,396 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:48,397 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:16:48,491 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:48,491 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:16:48,491 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:16:48,491 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:16:48,492 INFO L87 Difference]: Start difference. First operand 28 states and 33 transitions. Second operand 4 states. [2018-11-23 12:16:48,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:48,720 INFO L93 Difference]: Finished difference Result 49 states and 62 transitions. [2018-11-23 12:16:48,721 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:16:48,721 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 34 [2018-11-23 12:16:48,721 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:48,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:16:48,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 61 transitions. [2018-11-23 12:16:48,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:16:48,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 61 transitions. [2018-11-23 12:16:48,728 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 61 transitions. [2018-11-23 12:16:48,857 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:48,860 INFO L225 Difference]: With dead ends: 49 [2018-11-23 12:16:48,860 INFO L226 Difference]: Without dead ends: 31 [2018-11-23 12:16:48,861 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:48,861 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2018-11-23 12:16:48,880 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 29. [2018-11-23 12:16:48,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:48,880 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 29 states. [2018-11-23 12:16:48,880 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 29 states. [2018-11-23 12:16:48,881 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 29 states. [2018-11-23 12:16:48,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:48,885 INFO L93 Difference]: Finished difference Result 31 states and 37 transitions. [2018-11-23 12:16:48,885 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 37 transitions. [2018-11-23 12:16:48,886 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:48,886 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:48,886 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 31 states. [2018-11-23 12:16:48,886 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 31 states. [2018-11-23 12:16:48,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:48,889 INFO L93 Difference]: Finished difference Result 31 states and 37 transitions. [2018-11-23 12:16:48,890 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 37 transitions. [2018-11-23 12:16:48,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:48,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:48,891 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:48,891 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:48,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:16:48,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 34 transitions. [2018-11-23 12:16:48,894 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 34 transitions. Word has length 34 [2018-11-23 12:16:48,894 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:48,894 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 34 transitions. [2018-11-23 12:16:48,894 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:16:48,895 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2018-11-23 12:16:48,896 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2018-11-23 12:16:48,896 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:48,896 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:48,897 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:48,897 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:48,897 INFO L82 PathProgramCache]: Analyzing trace with hash -1279819331, now seen corresponding path program 1 times [2018-11-23 12:16:48,897 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:48,897 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:48,899 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:48,899 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:48,899 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:48,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:49,045 INFO L256 TraceCheckUtils]: 0: Hoare triple {649#true} call ULTIMATE.init(); {649#true} is VALID [2018-11-23 12:16:49,046 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:49,046 INFO L273 TraceCheckUtils]: 2: Hoare triple {649#true} assume true; {649#true} is VALID [2018-11-23 12:16:49,046 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {649#true} {649#true} #71#return; {649#true} is VALID [2018-11-23 12:16:49,046 INFO L256 TraceCheckUtils]: 4: Hoare triple {649#true} call #t~ret14 := main(); {649#true} is VALID [2018-11-23 12:16:49,047 INFO L273 TraceCheckUtils]: 5: Hoare triple {649#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {649#true} is VALID [2018-11-23 12:16:49,047 INFO L273 TraceCheckUtils]: 6: Hoare triple {649#true} assume !!(~i~1 < 40);assume -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:49,047 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:49,048 INFO L273 TraceCheckUtils]: 8: Hoare triple {649#true} assume !(~i~1 < 40); {649#true} is VALID [2018-11-23 12:16:49,048 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:49,048 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:49,048 INFO L273 TraceCheckUtils]: 11: Hoare triple {649#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {649#true} is VALID [2018-11-23 12:16:49,049 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:49,049 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:49,049 INFO L273 TraceCheckUtils]: 14: Hoare triple {649#true} assume !(~i~0 < 40); {649#true} is VALID [2018-11-23 12:16:49,050 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:49,050 INFO L273 TraceCheckUtils]: 16: Hoare triple {649#true} assume true; {649#true} is VALID [2018-11-23 12:16:49,050 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {649#true} {649#true} #75#return; {649#true} is VALID [2018-11-23 12:16:49,051 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:49,051 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:49,051 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:49,052 INFO L273 TraceCheckUtils]: 21: Hoare triple {649#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {649#true} is VALID [2018-11-23 12:16:49,052 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:49,052 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:49,052 INFO L273 TraceCheckUtils]: 24: Hoare triple {649#true} assume !(~i~0 < 40); {649#true} is VALID [2018-11-23 12:16:49,053 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:49,053 INFO L273 TraceCheckUtils]: 26: Hoare triple {649#true} assume true; {649#true} is VALID [2018-11-23 12:16:49,053 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {649#true} {649#true} #77#return; {649#true} is VALID [2018-11-23 12:16:49,058 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:49,059 INFO L273 TraceCheckUtils]: 29: Hoare triple {651#(= main_~i~2 0)} assume !(~i~2 < 39); {650#false} is VALID [2018-11-23 12:16:49,060 INFO L273 TraceCheckUtils]: 30: Hoare triple {650#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {650#false} is VALID [2018-11-23 12:16:49,060 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:49,060 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:49,060 INFO L273 TraceCheckUtils]: 33: Hoare triple {649#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {649#true} is VALID [2018-11-23 12:16:49,061 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:49,061 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:49,061 INFO L273 TraceCheckUtils]: 36: Hoare triple {649#true} assume !(~i~0 < 40); {649#true} is VALID [2018-11-23 12:16:49,061 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:49,061 INFO L273 TraceCheckUtils]: 38: Hoare triple {649#true} assume true; {649#true} is VALID [2018-11-23 12:16:49,062 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {649#true} {650#false} #79#return; {650#false} is VALID [2018-11-23 12:16:49,062 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:49,062 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:49,062 INFO L273 TraceCheckUtils]: 42: Hoare triple {650#false} assume !false; {650#false} is VALID [2018-11-23 12:16:49,065 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:49,066 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:16:49,066 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:16:49,066 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 43 [2018-11-23 12:16:49,067 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:49,067 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:16:49,178 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:49,178 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:16:49,179 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:16:49,179 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:16:49,179 INFO L87 Difference]: Start difference. First operand 29 states and 34 transitions. Second operand 3 states. [2018-11-23 12:16:49,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:49,316 INFO L93 Difference]: Finished difference Result 45 states and 52 transitions. [2018-11-23 12:16:49,317 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:16:49,317 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 43 [2018-11-23 12:16:49,317 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:49,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:16:49,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 49 transitions. [2018-11-23 12:16:49,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:16:49,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 49 transitions. [2018-11-23 12:16:49,322 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 49 transitions. [2018-11-23 12:16:49,421 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:49,423 INFO L225 Difference]: With dead ends: 45 [2018-11-23 12:16:49,424 INFO L226 Difference]: Without dead ends: 31 [2018-11-23 12:16:49,425 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:49,425 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2018-11-23 12:16:49,436 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2018-11-23 12:16:49,436 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:49,436 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 30 states. [2018-11-23 12:16:49,437 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 30 states. [2018-11-23 12:16:49,437 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 30 states. [2018-11-23 12:16:49,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:49,442 INFO L93 Difference]: Finished difference Result 31 states and 36 transitions. [2018-11-23 12:16:49,442 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2018-11-23 12:16:49,443 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:49,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:49,443 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 31 states. [2018-11-23 12:16:49,444 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 31 states. [2018-11-23 12:16:49,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:49,446 INFO L93 Difference]: Finished difference Result 31 states and 36 transitions. [2018-11-23 12:16:49,446 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2018-11-23 12:16:49,447 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:49,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:49,448 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:49,448 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:49,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 12:16:49,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 35 transitions. [2018-11-23 12:16:49,450 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 35 transitions. Word has length 43 [2018-11-23 12:16:49,451 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:49,451 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 35 transitions. [2018-11-23 12:16:49,451 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:16:49,451 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-23 12:16:49,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-23 12:16:49,453 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:49,453 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:49,453 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:49,453 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:49,454 INFO L82 PathProgramCache]: Analyzing trace with hash -1550635457, now seen corresponding path program 1 times [2018-11-23 12:16:49,454 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:49,454 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:49,455 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:49,455 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:49,455 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:49,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:49,621 INFO L256 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2018-11-23 12:16:49,621 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:49,622 INFO L273 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2018-11-23 12:16:49,622 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #71#return; {823#true} is VALID [2018-11-23 12:16:49,622 INFO L256 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret14 := main(); {823#true} is VALID [2018-11-23 12:16:49,627 INFO L273 TraceCheckUtils]: 5: Hoare triple {823#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:49,627 INFO L273 TraceCheckUtils]: 6: Hoare triple {825#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:49,629 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:49,629 INFO L273 TraceCheckUtils]: 8: Hoare triple {826#(<= main_~i~1 1)} assume !(~i~1 < 40); {824#false} is VALID [2018-11-23 12:16:49,630 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:49,630 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:49,630 INFO L273 TraceCheckUtils]: 11: Hoare triple {823#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {823#true} is VALID [2018-11-23 12:16:49,630 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:49,630 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:49,631 INFO L273 TraceCheckUtils]: 14: Hoare triple {823#true} assume !(~i~0 < 40); {823#true} is VALID [2018-11-23 12:16:49,631 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:49,631 INFO L273 TraceCheckUtils]: 16: Hoare triple {823#true} assume true; {823#true} is VALID [2018-11-23 12:16:49,632 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {823#true} {824#false} #75#return; {824#false} is VALID [2018-11-23 12:16:49,632 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:49,632 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:49,632 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:49,633 INFO L273 TraceCheckUtils]: 21: Hoare triple {823#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {823#true} is VALID [2018-11-23 12:16:49,633 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:49,633 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:49,634 INFO L273 TraceCheckUtils]: 24: Hoare triple {823#true} assume !(~i~0 < 40); {823#true} is VALID [2018-11-23 12:16:49,634 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:49,634 INFO L273 TraceCheckUtils]: 26: Hoare triple {823#true} assume true; {823#true} is VALID [2018-11-23 12:16:49,634 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {823#true} {824#false} #77#return; {824#false} is VALID [2018-11-23 12:16:49,635 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:49,635 INFO L273 TraceCheckUtils]: 29: Hoare triple {824#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:49,635 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:49,636 INFO L273 TraceCheckUtils]: 31: Hoare triple {824#false} assume !(~i~2 < 39); {824#false} is VALID [2018-11-23 12:16:49,636 INFO L273 TraceCheckUtils]: 32: Hoare triple {824#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {824#false} is VALID [2018-11-23 12:16:49,636 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:49,636 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:49,636 INFO L273 TraceCheckUtils]: 35: Hoare triple {823#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {823#true} is VALID [2018-11-23 12:16:49,637 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:49,637 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:49,637 INFO L273 TraceCheckUtils]: 38: Hoare triple {823#true} assume !(~i~0 < 40); {823#true} is VALID [2018-11-23 12:16:49,638 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:49,638 INFO L273 TraceCheckUtils]: 40: Hoare triple {823#true} assume true; {823#true} is VALID [2018-11-23 12:16:49,638 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {823#true} {824#false} #79#return; {824#false} is VALID [2018-11-23 12:16:49,639 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:49,639 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:49,639 INFO L273 TraceCheckUtils]: 44: Hoare triple {824#false} assume !false; {824#false} is VALID [2018-11-23 12:16:49,642 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:49,643 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:49,648 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:49,660 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:49,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:49,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:49,744 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:50,039 INFO L256 TraceCheckUtils]: 0: Hoare triple {823#true} call ULTIMATE.init(); {823#true} is VALID [2018-11-23 12:16:50,039 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:50,040 INFO L273 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2018-11-23 12:16:50,040 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #71#return; {823#true} is VALID [2018-11-23 12:16:50,041 INFO L256 TraceCheckUtils]: 4: Hoare triple {823#true} call #t~ret14 := main(); {823#true} is VALID [2018-11-23 12:16:50,041 INFO L273 TraceCheckUtils]: 5: Hoare triple {823#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:50,042 INFO L273 TraceCheckUtils]: 6: Hoare triple {845#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:50,043 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:50,044 INFO L273 TraceCheckUtils]: 8: Hoare triple {826#(<= main_~i~1 1)} assume !(~i~1 < 40); {824#false} is VALID [2018-11-23 12:16:50,044 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:50,044 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:50,045 INFO L273 TraceCheckUtils]: 11: Hoare triple {824#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {824#false} is VALID [2018-11-23 12:16:50,045 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:50,045 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:50,045 INFO L273 TraceCheckUtils]: 14: Hoare triple {824#false} assume !(~i~0 < 40); {824#false} is VALID [2018-11-23 12:16:50,046 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:50,046 INFO L273 TraceCheckUtils]: 16: Hoare triple {824#false} assume true; {824#false} is VALID [2018-11-23 12:16:50,046 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {824#false} {824#false} #75#return; {824#false} is VALID [2018-11-23 12:16:50,047 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:50,047 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:50,047 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:50,047 INFO L273 TraceCheckUtils]: 21: Hoare triple {824#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {824#false} is VALID [2018-11-23 12:16:50,048 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:50,048 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:50,049 INFO L273 TraceCheckUtils]: 24: Hoare triple {824#false} assume !(~i~0 < 40); {824#false} is VALID [2018-11-23 12:16:50,049 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:50,049 INFO L273 TraceCheckUtils]: 26: Hoare triple {824#false} assume true; {824#false} is VALID [2018-11-23 12:16:50,049 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {824#false} {824#false} #77#return; {824#false} is VALID [2018-11-23 12:16:50,049 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:50,050 INFO L273 TraceCheckUtils]: 29: Hoare triple {824#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:50,050 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:50,050 INFO L273 TraceCheckUtils]: 31: Hoare triple {824#false} assume !(~i~2 < 39); {824#false} is VALID [2018-11-23 12:16:50,050 INFO L273 TraceCheckUtils]: 32: Hoare triple {824#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {824#false} is VALID [2018-11-23 12:16:50,051 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:50,051 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:50,051 INFO L273 TraceCheckUtils]: 35: Hoare triple {824#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {824#false} is VALID [2018-11-23 12:16:50,052 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:50,052 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:50,052 INFO L273 TraceCheckUtils]: 38: Hoare triple {824#false} assume !(~i~0 < 40); {824#false} is VALID [2018-11-23 12:16:50,053 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:50,053 INFO L273 TraceCheckUtils]: 40: Hoare triple {824#false} assume true; {824#false} is VALID [2018-11-23 12:16:50,053 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {824#false} {824#false} #79#return; {824#false} is VALID [2018-11-23 12:16:50,053 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:50,054 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:50,054 INFO L273 TraceCheckUtils]: 44: Hoare triple {824#false} assume !false; {824#false} is VALID [2018-11-23 12:16:50,057 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:50,085 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:50,085 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2018-11-23 12:16:50,086 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 45 [2018-11-23 12:16:50,087 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:50,087 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 12:16:50,281 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:50,281 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 12:16:50,282 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 12:16:50,282 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:16:50,282 INFO L87 Difference]: Start difference. First operand 30 states and 35 transitions. Second operand 5 states. [2018-11-23 12:16:50,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:50,436 INFO L93 Difference]: Finished difference Result 54 states and 64 transitions. [2018-11-23 12:16:50,436 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:16:50,436 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 45 [2018-11-23 12:16:50,437 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:50,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:16:50,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 60 transitions. [2018-11-23 12:16:50,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:16:50,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 60 transitions. [2018-11-23 12:16:50,442 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 60 transitions. [2018-11-23 12:16:50,569 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:50,572 INFO L225 Difference]: With dead ends: 54 [2018-11-23 12:16:50,572 INFO L226 Difference]: Without dead ends: 33 [2018-11-23 12:16:50,573 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:50,573 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2018-11-23 12:16:50,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2018-11-23 12:16:50,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:50,589 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 32 states. [2018-11-23 12:16:50,589 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 32 states. [2018-11-23 12:16:50,590 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 32 states. [2018-11-23 12:16:50,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:50,594 INFO L93 Difference]: Finished difference Result 33 states and 38 transitions. [2018-11-23 12:16:50,594 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2018-11-23 12:16:50,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:50,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:50,595 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 33 states. [2018-11-23 12:16:50,595 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 33 states. [2018-11-23 12:16:50,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:50,597 INFO L93 Difference]: Finished difference Result 33 states and 38 transitions. [2018-11-23 12:16:50,598 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2018-11-23 12:16:50,598 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:50,598 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:50,599 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:50,599 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:50,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 12:16:50,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 37 transitions. [2018-11-23 12:16:50,601 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 37 transitions. Word has length 45 [2018-11-23 12:16:50,602 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:50,602 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 37 transitions. [2018-11-23 12:16:50,602 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 12:16:50,602 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2018-11-23 12:16:50,603 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2018-11-23 12:16:50,603 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:50,604 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:50,604 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:50,604 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:50,604 INFO L82 PathProgramCache]: Analyzing trace with hash 1356401117, now seen corresponding path program 2 times [2018-11-23 12:16:50,605 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:50,605 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:50,606 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:50,606 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:50,606 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:50,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:50,725 INFO L256 TraceCheckUtils]: 0: Hoare triple {1152#true} call ULTIMATE.init(); {1152#true} is VALID [2018-11-23 12:16:50,725 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:50,726 INFO L273 TraceCheckUtils]: 2: Hoare triple {1152#true} assume true; {1152#true} is VALID [2018-11-23 12:16:50,726 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1152#true} {1152#true} #71#return; {1152#true} is VALID [2018-11-23 12:16:50,726 INFO L256 TraceCheckUtils]: 4: Hoare triple {1152#true} call #t~ret14 := main(); {1152#true} is VALID [2018-11-23 12:16:50,727 INFO L273 TraceCheckUtils]: 5: Hoare triple {1152#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:50,727 INFO L273 TraceCheckUtils]: 6: Hoare triple {1154#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:50,728 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:50,729 INFO L273 TraceCheckUtils]: 8: Hoare triple {1155#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:50,730 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:50,731 INFO L273 TraceCheckUtils]: 10: Hoare triple {1156#(<= main_~i~1 2)} assume !(~i~1 < 40); {1153#false} is VALID [2018-11-23 12:16:50,731 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:50,732 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:50,732 INFO L273 TraceCheckUtils]: 13: Hoare triple {1152#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1152#true} is VALID [2018-11-23 12:16:50,732 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:50,733 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:50,733 INFO L273 TraceCheckUtils]: 16: Hoare triple {1152#true} assume !(~i~0 < 40); {1152#true} is VALID [2018-11-23 12:16:50,733 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:50,734 INFO L273 TraceCheckUtils]: 18: Hoare triple {1152#true} assume true; {1152#true} is VALID [2018-11-23 12:16:50,734 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {1152#true} {1153#false} #75#return; {1153#false} is VALID [2018-11-23 12:16:50,734 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:50,735 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:50,735 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:50,735 INFO L273 TraceCheckUtils]: 23: Hoare triple {1152#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1152#true} is VALID [2018-11-23 12:16:50,736 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:50,736 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:50,736 INFO L273 TraceCheckUtils]: 26: Hoare triple {1152#true} assume !(~i~0 < 40); {1152#true} is VALID [2018-11-23 12:16:50,736 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:50,737 INFO L273 TraceCheckUtils]: 28: Hoare triple {1152#true} assume true; {1152#true} is VALID [2018-11-23 12:16:50,737 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1152#true} {1153#false} #77#return; {1153#false} is VALID [2018-11-23 12:16:50,737 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:50,737 INFO L273 TraceCheckUtils]: 31: Hoare triple {1153#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:50,738 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:50,738 INFO L273 TraceCheckUtils]: 33: Hoare triple {1153#false} assume !(~i~2 < 39); {1153#false} is VALID [2018-11-23 12:16:50,738 INFO L273 TraceCheckUtils]: 34: Hoare triple {1153#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {1153#false} is VALID [2018-11-23 12:16:50,738 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:50,739 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:50,739 INFO L273 TraceCheckUtils]: 37: Hoare triple {1152#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1152#true} is VALID [2018-11-23 12:16:50,739 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:50,739 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:50,739 INFO L273 TraceCheckUtils]: 40: Hoare triple {1152#true} assume !(~i~0 < 40); {1152#true} is VALID [2018-11-23 12:16:50,740 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:50,740 INFO L273 TraceCheckUtils]: 42: Hoare triple {1152#true} assume true; {1152#true} is VALID [2018-11-23 12:16:50,740 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {1152#true} {1153#false} #79#return; {1153#false} is VALID [2018-11-23 12:16:50,740 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:50,741 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:50,741 INFO L273 TraceCheckUtils]: 46: Hoare triple {1153#false} assume !false; {1153#false} is VALID [2018-11-23 12:16:50,743 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:50,744 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:50,744 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:50,753 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:16:50,806 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:16:50,806 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:50,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:50,828 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:50,930 INFO L256 TraceCheckUtils]: 0: Hoare triple {1152#true} call ULTIMATE.init(); {1152#true} is VALID [2018-11-23 12:16:50,930 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:50,930 INFO L273 TraceCheckUtils]: 2: Hoare triple {1152#true} assume true; {1152#true} is VALID [2018-11-23 12:16:50,931 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1152#true} {1152#true} #71#return; {1152#true} is VALID [2018-11-23 12:16:50,931 INFO L256 TraceCheckUtils]: 4: Hoare triple {1152#true} call #t~ret14 := main(); {1152#true} is VALID [2018-11-23 12:16:50,932 INFO L273 TraceCheckUtils]: 5: Hoare triple {1152#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:50,933 INFO L273 TraceCheckUtils]: 6: Hoare triple {1175#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:50,934 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:50,934 INFO L273 TraceCheckUtils]: 8: Hoare triple {1155#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:50,935 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:50,936 INFO L273 TraceCheckUtils]: 10: Hoare triple {1156#(<= main_~i~1 2)} assume !(~i~1 < 40); {1153#false} is VALID [2018-11-23 12:16:50,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:50,937 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:50,937 INFO L273 TraceCheckUtils]: 13: Hoare triple {1153#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1153#false} is VALID [2018-11-23 12:16:50,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:50,938 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:50,938 INFO L273 TraceCheckUtils]: 16: Hoare triple {1153#false} assume !(~i~0 < 40); {1153#false} is VALID [2018-11-23 12:16:50,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:50,939 INFO L273 TraceCheckUtils]: 18: Hoare triple {1153#false} assume true; {1153#false} is VALID [2018-11-23 12:16:50,940 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {1153#false} {1153#false} #75#return; {1153#false} is VALID [2018-11-23 12:16:50,940 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:50,940 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:50,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:50,941 INFO L273 TraceCheckUtils]: 23: Hoare triple {1153#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1153#false} is VALID [2018-11-23 12:16:50,941 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:50,941 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:50,942 INFO L273 TraceCheckUtils]: 26: Hoare triple {1153#false} assume !(~i~0 < 40); {1153#false} is VALID [2018-11-23 12:16:50,942 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:50,942 INFO L273 TraceCheckUtils]: 28: Hoare triple {1153#false} assume true; {1153#false} is VALID [2018-11-23 12:16:50,942 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1153#false} {1153#false} #77#return; {1153#false} is VALID [2018-11-23 12:16:50,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:50,943 INFO L273 TraceCheckUtils]: 31: Hoare triple {1153#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:50,943 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:50,943 INFO L273 TraceCheckUtils]: 33: Hoare triple {1153#false} assume !(~i~2 < 39); {1153#false} is VALID [2018-11-23 12:16:50,943 INFO L273 TraceCheckUtils]: 34: Hoare triple {1153#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {1153#false} is VALID [2018-11-23 12:16:50,943 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:50,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:50,944 INFO L273 TraceCheckUtils]: 37: Hoare triple {1153#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1153#false} is VALID [2018-11-23 12:16:50,944 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:50,944 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:50,944 INFO L273 TraceCheckUtils]: 40: Hoare triple {1153#false} assume !(~i~0 < 40); {1153#false} is VALID [2018-11-23 12:16:50,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:50,945 INFO L273 TraceCheckUtils]: 42: Hoare triple {1153#false} assume true; {1153#false} is VALID [2018-11-23 12:16:50,945 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {1153#false} {1153#false} #79#return; {1153#false} is VALID [2018-11-23 12:16:50,945 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:50,945 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:50,946 INFO L273 TraceCheckUtils]: 46: Hoare triple {1153#false} assume !false; {1153#false} is VALID [2018-11-23 12:16:50,948 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:50,968 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:50,968 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-23 12:16:50,969 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 47 [2018-11-23 12:16:50,970 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:50,970 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 12:16:51,031 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:51,032 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 12:16:51,032 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 12:16:51,032 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:16:51,033 INFO L87 Difference]: Start difference. First operand 32 states and 37 transitions. Second operand 6 states. [2018-11-23 12:16:51,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:51,260 INFO L93 Difference]: Finished difference Result 56 states and 66 transitions. [2018-11-23 12:16:51,260 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 12:16:51,260 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 47 [2018-11-23 12:16:51,260 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:51,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:16:51,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2018-11-23 12:16:51,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:16:51,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2018-11-23 12:16:51,265 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2018-11-23 12:16:51,482 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:51,483 INFO L225 Difference]: With dead ends: 56 [2018-11-23 12:16:51,483 INFO L226 Difference]: Without dead ends: 35 [2018-11-23 12:16:51,483 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:16:51,484 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2018-11-23 12:16:51,512 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2018-11-23 12:16:51,512 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:51,512 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 34 states. [2018-11-23 12:16:51,512 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 34 states. [2018-11-23 12:16:51,512 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 34 states. [2018-11-23 12:16:51,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:51,516 INFO L93 Difference]: Finished difference Result 35 states and 40 transitions. [2018-11-23 12:16:51,516 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 40 transitions. [2018-11-23 12:16:51,517 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:51,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:51,517 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 35 states. [2018-11-23 12:16:51,517 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 35 states. [2018-11-23 12:16:51,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:51,519 INFO L93 Difference]: Finished difference Result 35 states and 40 transitions. [2018-11-23 12:16:51,520 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 40 transitions. [2018-11-23 12:16:51,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:51,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:51,520 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:51,520 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:51,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 12:16:51,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 39 transitions. [2018-11-23 12:16:51,523 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 39 transitions. Word has length 47 [2018-11-23 12:16:51,523 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:51,523 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 39 transitions. [2018-11-23 12:16:51,523 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 12:16:51,523 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2018-11-23 12:16:51,524 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2018-11-23 12:16:51,524 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:51,525 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:51,525 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:51,525 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:51,525 INFO L82 PathProgramCache]: Analyzing trace with hash -1005160965, now seen corresponding path program 3 times [2018-11-23 12:16:51,525 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:51,526 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:51,526 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:51,527 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:51,527 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:51,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:51,766 INFO L256 TraceCheckUtils]: 0: Hoare triple {1498#true} call ULTIMATE.init(); {1498#true} is VALID [2018-11-23 12:16:51,767 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:51,767 INFO L273 TraceCheckUtils]: 2: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:51,767 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1498#true} {1498#true} #71#return; {1498#true} is VALID [2018-11-23 12:16:51,768 INFO L256 TraceCheckUtils]: 4: Hoare triple {1498#true} call #t~ret14 := main(); {1498#true} is VALID [2018-11-23 12:16:51,769 INFO L273 TraceCheckUtils]: 5: Hoare triple {1498#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:51,769 INFO L273 TraceCheckUtils]: 6: Hoare triple {1500#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:51,770 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:51,770 INFO L273 TraceCheckUtils]: 8: Hoare triple {1501#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:51,771 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:51,771 INFO L273 TraceCheckUtils]: 10: Hoare triple {1502#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:51,772 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:51,772 INFO L273 TraceCheckUtils]: 12: Hoare triple {1503#(<= main_~i~1 3)} assume !(~i~1 < 40); {1499#false} is VALID [2018-11-23 12:16:51,772 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:51,773 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:51,773 INFO L273 TraceCheckUtils]: 15: Hoare triple {1498#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1498#true} is VALID [2018-11-23 12:16:51,773 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:51,774 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:51,774 INFO L273 TraceCheckUtils]: 18: Hoare triple {1498#true} assume !(~i~0 < 40); {1498#true} is VALID [2018-11-23 12:16:51,774 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:51,775 INFO L273 TraceCheckUtils]: 20: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:51,775 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {1498#true} {1499#false} #75#return; {1499#false} is VALID [2018-11-23 12:16:51,775 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:51,776 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:51,776 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:51,776 INFO L273 TraceCheckUtils]: 25: Hoare triple {1498#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1498#true} is VALID [2018-11-23 12:16:51,776 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:51,777 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:51,777 INFO L273 TraceCheckUtils]: 28: Hoare triple {1498#true} assume !(~i~0 < 40); {1498#true} is VALID [2018-11-23 12:16:51,777 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:51,777 INFO L273 TraceCheckUtils]: 30: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:51,778 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1498#true} {1499#false} #77#return; {1499#false} is VALID [2018-11-23 12:16:51,778 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:51,778 INFO L273 TraceCheckUtils]: 33: Hoare triple {1499#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:51,778 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:51,779 INFO L273 TraceCheckUtils]: 35: Hoare triple {1499#false} assume !(~i~2 < 39); {1499#false} is VALID [2018-11-23 12:16:51,779 INFO L273 TraceCheckUtils]: 36: Hoare triple {1499#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {1499#false} is VALID [2018-11-23 12:16:51,779 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:51,779 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:51,780 INFO L273 TraceCheckUtils]: 39: Hoare triple {1498#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1498#true} is VALID [2018-11-23 12:16:51,780 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:51,780 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:51,780 INFO L273 TraceCheckUtils]: 42: Hoare triple {1498#true} assume !(~i~0 < 40); {1498#true} is VALID [2018-11-23 12:16:51,781 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:51,781 INFO L273 TraceCheckUtils]: 44: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:51,781 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {1498#true} {1499#false} #79#return; {1499#false} is VALID [2018-11-23 12:16:51,781 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:51,782 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:51,782 INFO L273 TraceCheckUtils]: 48: Hoare triple {1499#false} assume !false; {1499#false} is VALID [2018-11-23 12:16:51,785 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:51,785 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:51,785 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:51,799 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:16:51,854 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-11-23 12:16:51,854 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:51,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:51,900 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:52,439 INFO L256 TraceCheckUtils]: 0: Hoare triple {1498#true} call ULTIMATE.init(); {1498#true} is VALID [2018-11-23 12:16:52,439 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:52,440 INFO L273 TraceCheckUtils]: 2: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:52,440 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1498#true} {1498#true} #71#return; {1498#true} is VALID [2018-11-23 12:16:52,440 INFO L256 TraceCheckUtils]: 4: Hoare triple {1498#true} call #t~ret14 := main(); {1498#true} is VALID [2018-11-23 12:16:52,440 INFO L273 TraceCheckUtils]: 5: Hoare triple {1498#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1498#true} is VALID [2018-11-23 12:16:52,441 INFO L273 TraceCheckUtils]: 6: Hoare triple {1498#true} assume !!(~i~1 < 40);assume -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:52,441 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:52,441 INFO L273 TraceCheckUtils]: 8: Hoare triple {1498#true} assume !!(~i~1 < 40);assume -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:52,441 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:52,441 INFO L273 TraceCheckUtils]: 10: Hoare triple {1498#true} assume !!(~i~1 < 40);assume -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:52,441 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:52,441 INFO L273 TraceCheckUtils]: 12: Hoare triple {1498#true} assume !(~i~1 < 40); {1498#true} is VALID [2018-11-23 12:16:52,442 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:52,442 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:52,442 INFO L273 TraceCheckUtils]: 15: Hoare triple {1498#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1498#true} is VALID [2018-11-23 12:16:52,442 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:52,442 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:52,442 INFO L273 TraceCheckUtils]: 18: Hoare triple {1498#true} assume !(~i~0 < 40); {1498#true} is VALID [2018-11-23 12:16:52,443 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:52,443 INFO L273 TraceCheckUtils]: 20: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:52,443 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {1498#true} {1498#true} #75#return; {1498#true} is VALID [2018-11-23 12:16:52,443 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:52,443 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:52,444 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:52,444 INFO L273 TraceCheckUtils]: 25: Hoare triple {1498#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1498#true} is VALID [2018-11-23 12:16:52,444 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:52,444 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:52,444 INFO L273 TraceCheckUtils]: 28: Hoare triple {1498#true} assume !(~i~0 < 40); {1498#true} is VALID [2018-11-23 12:16:52,445 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:52,445 INFO L273 TraceCheckUtils]: 30: Hoare triple {1498#true} assume true; {1498#true} is VALID [2018-11-23 12:16:52,445 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1498#true} {1498#true} #77#return; {1498#true} is VALID [2018-11-23 12:16:52,445 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:52,446 INFO L273 TraceCheckUtils]: 33: Hoare triple {1498#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:52,446 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:52,446 INFO L273 TraceCheckUtils]: 35: Hoare triple {1498#true} assume !(~i~2 < 39); {1498#true} is VALID [2018-11-23 12:16:52,446 INFO L273 TraceCheckUtils]: 36: Hoare triple {1498#true} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {1498#true} is VALID [2018-11-23 12:16:52,446 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:52,459 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:52,460 INFO L273 TraceCheckUtils]: 39: Hoare triple {1621#(<= sep_~i~0 0)} assume !!(~i~0 < 40);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:52,460 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:52,461 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:52,461 INFO L273 TraceCheckUtils]: 42: Hoare triple {1631#(<= sep_~i~0 1)} assume !(~i~0 < 40); {1499#false} is VALID [2018-11-23 12:16:52,461 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:52,462 INFO L273 TraceCheckUtils]: 44: Hoare triple {1499#false} assume true; {1499#false} is VALID [2018-11-23 12:16:52,462 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {1499#false} {1498#true} #79#return; {1499#false} is VALID [2018-11-23 12:16:52,462 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:52,462 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:52,463 INFO L273 TraceCheckUtils]: 48: Hoare triple {1499#false} assume !false; {1499#false} is VALID [2018-11-23 12:16:52,465 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:52,484 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:52,484 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4] total 8 [2018-11-23 12:16:52,485 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 49 [2018-11-23 12:16:52,485 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:52,486 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 12:16:52,617 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:52,617 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 12:16:52,617 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 12:16:52,617 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:16:52,618 INFO L87 Difference]: Start difference. First operand 34 states and 39 transitions. Second operand 8 states. [2018-11-23 12:16:53,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:53,116 INFO L93 Difference]: Finished difference Result 63 states and 79 transitions. [2018-11-23 12:16:53,116 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 12:16:53,116 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 49 [2018-11-23 12:16:53,116 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:53,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:16:53,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-11-23 12:16:53,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:16:53,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-11-23 12:16:53,121 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 76 transitions. [2018-11-23 12:16:53,224 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:53,226 INFO L225 Difference]: With dead ends: 63 [2018-11-23 12:16:53,227 INFO L226 Difference]: Without dead ends: 42 [2018-11-23 12:16:53,228 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 48 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:16:53,228 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-23 12:16:53,325 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 39. [2018-11-23 12:16:53,326 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:53,326 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 39 states. [2018-11-23 12:16:53,326 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 39 states. [2018-11-23 12:16:53,326 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 39 states. [2018-11-23 12:16:53,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:53,328 INFO L93 Difference]: Finished difference Result 42 states and 49 transitions. [2018-11-23 12:16:53,329 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 49 transitions. [2018-11-23 12:16:53,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:53,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:53,330 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 42 states. [2018-11-23 12:16:53,330 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 42 states. [2018-11-23 12:16:53,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:53,332 INFO L93 Difference]: Finished difference Result 42 states and 49 transitions. [2018-11-23 12:16:53,332 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 49 transitions. [2018-11-23 12:16:53,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:53,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:53,333 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:53,333 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:53,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 12:16:53,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 45 transitions. [2018-11-23 12:16:53,336 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 45 transitions. Word has length 49 [2018-11-23 12:16:53,336 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:53,336 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 45 transitions. [2018-11-23 12:16:53,336 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 12:16:53,336 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 45 transitions. [2018-11-23 12:16:53,337 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2018-11-23 12:16:53,337 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:53,337 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:53,338 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:53,338 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:53,338 INFO L82 PathProgramCache]: Analyzing trace with hash 742022364, now seen corresponding path program 4 times [2018-11-23 12:16:53,338 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:53,338 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:53,339 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:53,339 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:53,339 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:53,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:54,048 INFO L256 TraceCheckUtils]: 0: Hoare triple {1882#true} call ULTIMATE.init(); {1882#true} is VALID [2018-11-23 12:16:54,048 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:54,049 INFO L273 TraceCheckUtils]: 2: Hoare triple {1882#true} assume true; {1882#true} is VALID [2018-11-23 12:16:54,049 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1882#true} {1882#true} #71#return; {1882#true} is VALID [2018-11-23 12:16:54,049 INFO L256 TraceCheckUtils]: 4: Hoare triple {1882#true} call #t~ret14 := main(); {1882#true} is VALID [2018-11-23 12:16:54,050 INFO L273 TraceCheckUtils]: 5: Hoare triple {1882#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:54,051 INFO L273 TraceCheckUtils]: 6: Hoare triple {1884#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:54,052 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:54,052 INFO L273 TraceCheckUtils]: 8: Hoare triple {1885#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:54,053 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:54,054 INFO L273 TraceCheckUtils]: 10: Hoare triple {1886#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:54,055 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:54,056 INFO L273 TraceCheckUtils]: 12: Hoare triple {1887#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:54,057 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:54,058 INFO L273 TraceCheckUtils]: 14: Hoare triple {1888#(<= main_~i~1 4)} assume !(~i~1 < 40); {1883#false} is VALID [2018-11-23 12:16:54,058 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:54,058 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:54,059 INFO L273 TraceCheckUtils]: 17: Hoare triple {1882#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1882#true} is VALID [2018-11-23 12:16:54,059 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:54,059 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:54,059 INFO L273 TraceCheckUtils]: 20: Hoare triple {1882#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1882#true} is VALID [2018-11-23 12:16:54,060 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:54,060 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:54,060 INFO L273 TraceCheckUtils]: 23: Hoare triple {1882#true} assume !(~i~0 < 40); {1882#true} is VALID [2018-11-23 12:16:54,061 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:54,061 INFO L273 TraceCheckUtils]: 25: Hoare triple {1882#true} assume true; {1882#true} is VALID [2018-11-23 12:16:54,061 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1882#true} {1883#false} #75#return; {1883#false} is VALID [2018-11-23 12:16:54,062 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:54,062 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:54,062 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:54,062 INFO L273 TraceCheckUtils]: 30: Hoare triple {1882#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1882#true} is VALID [2018-11-23 12:16:54,063 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:54,063 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:54,063 INFO L273 TraceCheckUtils]: 33: Hoare triple {1882#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1882#true} is VALID [2018-11-23 12:16:54,063 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:54,063 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:54,063 INFO L273 TraceCheckUtils]: 36: Hoare triple {1882#true} assume !(~i~0 < 40); {1882#true} is VALID [2018-11-23 12:16:54,064 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:54,064 INFO L273 TraceCheckUtils]: 38: Hoare triple {1882#true} assume true; {1882#true} is VALID [2018-11-23 12:16:54,064 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {1882#true} {1883#false} #77#return; {1883#false} is VALID [2018-11-23 12:16:54,064 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:54,064 INFO L273 TraceCheckUtils]: 41: Hoare triple {1883#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:54,065 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:54,065 INFO L273 TraceCheckUtils]: 43: Hoare triple {1883#false} assume !(~i~2 < 39); {1883#false} is VALID [2018-11-23 12:16:54,065 INFO L273 TraceCheckUtils]: 44: Hoare triple {1883#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {1883#false} is VALID [2018-11-23 12:16:54,065 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:54,065 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:54,065 INFO L273 TraceCheckUtils]: 47: Hoare triple {1882#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1882#true} is VALID [2018-11-23 12:16:54,066 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:54,066 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:54,066 INFO L273 TraceCheckUtils]: 50: Hoare triple {1882#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1882#true} is VALID [2018-11-23 12:16:54,066 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:54,066 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:54,066 INFO L273 TraceCheckUtils]: 53: Hoare triple {1882#true} assume !(~i~0 < 40); {1882#true} is VALID [2018-11-23 12:16:54,067 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:54,067 INFO L273 TraceCheckUtils]: 55: Hoare triple {1882#true} assume true; {1882#true} is VALID [2018-11-23 12:16:54,067 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {1882#true} {1883#false} #79#return; {1883#false} is VALID [2018-11-23 12:16:54,068 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:54,068 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:54,068 INFO L273 TraceCheckUtils]: 59: Hoare triple {1883#false} assume !false; {1883#false} is VALID [2018-11-23 12:16:54,072 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:54,073 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:54,073 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:54,093 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:16:54,141 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:16:54,141 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:54,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:54,162 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:54,307 INFO L256 TraceCheckUtils]: 0: Hoare triple {1882#true} call ULTIMATE.init(); {1882#true} is VALID [2018-11-23 12:16:54,307 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:54,308 INFO L273 TraceCheckUtils]: 2: Hoare triple {1882#true} assume true; {1882#true} is VALID [2018-11-23 12:16:54,308 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1882#true} {1882#true} #71#return; {1882#true} is VALID [2018-11-23 12:16:54,308 INFO L256 TraceCheckUtils]: 4: Hoare triple {1882#true} call #t~ret14 := main(); {1882#true} is VALID [2018-11-23 12:16:54,345 INFO L273 TraceCheckUtils]: 5: Hoare triple {1882#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:54,362 INFO L273 TraceCheckUtils]: 6: Hoare triple {1907#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:54,363 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:54,365 INFO L273 TraceCheckUtils]: 8: Hoare triple {1885#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:54,365 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:54,367 INFO L273 TraceCheckUtils]: 10: Hoare triple {1886#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:54,367 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:54,369 INFO L273 TraceCheckUtils]: 12: Hoare triple {1887#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:54,369 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:54,370 INFO L273 TraceCheckUtils]: 14: Hoare triple {1888#(<= main_~i~1 4)} assume !(~i~1 < 40); {1883#false} is VALID [2018-11-23 12:16:54,370 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:54,370 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:54,370 INFO L273 TraceCheckUtils]: 17: Hoare triple {1883#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1883#false} is VALID [2018-11-23 12:16:54,370 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:54,370 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:54,370 INFO L273 TraceCheckUtils]: 20: Hoare triple {1883#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1883#false} is VALID [2018-11-23 12:16:54,371 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:54,371 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:54,371 INFO L273 TraceCheckUtils]: 23: Hoare triple {1883#false} assume !(~i~0 < 40); {1883#false} is VALID [2018-11-23 12:16:54,371 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:54,371 INFO L273 TraceCheckUtils]: 25: Hoare triple {1883#false} assume true; {1883#false} is VALID [2018-11-23 12:16:54,371 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1883#false} {1883#false} #75#return; {1883#false} is VALID [2018-11-23 12:16:54,372 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:54,372 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:54,372 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:54,372 INFO L273 TraceCheckUtils]: 30: Hoare triple {1883#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1883#false} is VALID [2018-11-23 12:16:54,373 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:54,373 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:54,373 INFO L273 TraceCheckUtils]: 33: Hoare triple {1883#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1883#false} is VALID [2018-11-23 12:16:54,373 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:54,373 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:54,373 INFO L273 TraceCheckUtils]: 36: Hoare triple {1883#false} assume !(~i~0 < 40); {1883#false} is VALID [2018-11-23 12:16:54,374 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:54,374 INFO L273 TraceCheckUtils]: 38: Hoare triple {1883#false} assume true; {1883#false} is VALID [2018-11-23 12:16:54,374 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {1883#false} {1883#false} #77#return; {1883#false} is VALID [2018-11-23 12:16:54,374 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:54,374 INFO L273 TraceCheckUtils]: 41: Hoare triple {1883#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:54,374 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:54,374 INFO L273 TraceCheckUtils]: 43: Hoare triple {1883#false} assume !(~i~2 < 39); {1883#false} is VALID [2018-11-23 12:16:54,374 INFO L273 TraceCheckUtils]: 44: Hoare triple {1883#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {1883#false} is VALID [2018-11-23 12:16:54,375 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:54,375 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:54,375 INFO L273 TraceCheckUtils]: 47: Hoare triple {1883#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1883#false} is VALID [2018-11-23 12:16:54,375 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:54,375 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:54,375 INFO L273 TraceCheckUtils]: 50: Hoare triple {1883#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1883#false} is VALID [2018-11-23 12:16:54,375 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:54,375 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:54,376 INFO L273 TraceCheckUtils]: 53: Hoare triple {1883#false} assume !(~i~0 < 40); {1883#false} is VALID [2018-11-23 12:16:54,376 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:54,376 INFO L273 TraceCheckUtils]: 55: Hoare triple {1883#false} assume true; {1883#false} is VALID [2018-11-23 12:16:54,376 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {1883#false} {1883#false} #79#return; {1883#false} is VALID [2018-11-23 12:16:54,376 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:54,376 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:54,376 INFO L273 TraceCheckUtils]: 59: Hoare triple {1883#false} assume !false; {1883#false} is VALID [2018-11-23 12:16:54,378 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:54,398 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:54,398 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2018-11-23 12:16:54,398 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 60 [2018-11-23 12:16:54,399 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:54,399 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 12:16:54,457 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:54,458 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 12:16:54,458 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 12:16:54,458 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:16:54,459 INFO L87 Difference]: Start difference. First operand 39 states and 45 transitions. Second operand 8 states. [2018-11-23 12:16:54,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:54,732 INFO L93 Difference]: Finished difference Result 66 states and 78 transitions. [2018-11-23 12:16:54,732 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 12:16:54,732 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 60 [2018-11-23 12:16:54,733 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:54,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:16:54,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2018-11-23 12:16:54,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:16:54,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2018-11-23 12:16:54,736 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 66 transitions. [2018-11-23 12:16:54,873 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:54,874 INFO L225 Difference]: With dead ends: 66 [2018-11-23 12:16:54,874 INFO L226 Difference]: Without dead ends: 42 [2018-11-23 12:16:54,875 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 60 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:16:54,875 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-23 12:16:55,056 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 41. [2018-11-23 12:16:55,056 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:55,056 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 41 states. [2018-11-23 12:16:55,056 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 41 states. [2018-11-23 12:16:55,057 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 41 states. [2018-11-23 12:16:55,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:55,059 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2018-11-23 12:16:55,059 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2018-11-23 12:16:55,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:55,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:55,060 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 42 states. [2018-11-23 12:16:55,060 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 42 states. [2018-11-23 12:16:55,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:55,062 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2018-11-23 12:16:55,062 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2018-11-23 12:16:55,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:55,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:55,062 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:55,062 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:55,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:16:55,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 47 transitions. [2018-11-23 12:16:55,064 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 47 transitions. Word has length 60 [2018-11-23 12:16:55,064 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:55,065 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 47 transitions. [2018-11-23 12:16:55,065 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 12:16:55,065 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 47 transitions. [2018-11-23 12:16:55,065 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-23 12:16:55,066 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:55,066 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:55,066 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:55,066 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:55,066 INFO L82 PathProgramCache]: Analyzing trace with hash -1389751938, now seen corresponding path program 5 times [2018-11-23 12:16:55,066 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:55,067 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:55,067 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:55,067 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:55,067 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:55,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:55,249 INFO L256 TraceCheckUtils]: 0: Hoare triple {2307#true} call ULTIMATE.init(); {2307#true} is VALID [2018-11-23 12:16:55,249 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:55,249 INFO L273 TraceCheckUtils]: 2: Hoare triple {2307#true} assume true; {2307#true} is VALID [2018-11-23 12:16:55,250 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2307#true} {2307#true} #71#return; {2307#true} is VALID [2018-11-23 12:16:55,250 INFO L256 TraceCheckUtils]: 4: Hoare triple {2307#true} call #t~ret14 := main(); {2307#true} is VALID [2018-11-23 12:16:55,250 INFO L273 TraceCheckUtils]: 5: Hoare triple {2307#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:55,251 INFO L273 TraceCheckUtils]: 6: Hoare triple {2309#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:55,251 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:55,252 INFO L273 TraceCheckUtils]: 8: Hoare triple {2310#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:55,252 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:55,253 INFO L273 TraceCheckUtils]: 10: Hoare triple {2311#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:55,253 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:55,253 INFO L273 TraceCheckUtils]: 12: Hoare triple {2312#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:55,254 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:55,255 INFO L273 TraceCheckUtils]: 14: Hoare triple {2313#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:55,255 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:55,256 INFO L273 TraceCheckUtils]: 16: Hoare triple {2314#(<= main_~i~1 5)} assume !(~i~1 < 40); {2308#false} is VALID [2018-11-23 12:16:55,256 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:55,257 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:55,257 INFO L273 TraceCheckUtils]: 19: Hoare triple {2307#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2307#true} is VALID [2018-11-23 12:16:55,257 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:55,257 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:55,258 INFO L273 TraceCheckUtils]: 22: Hoare triple {2307#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2307#true} is VALID [2018-11-23 12:16:55,258 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:55,258 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:55,258 INFO L273 TraceCheckUtils]: 25: Hoare triple {2307#true} assume !(~i~0 < 40); {2307#true} is VALID [2018-11-23 12:16:55,258 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:55,259 INFO L273 TraceCheckUtils]: 27: Hoare triple {2307#true} assume true; {2307#true} is VALID [2018-11-23 12:16:55,259 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2307#true} {2308#false} #75#return; {2308#false} is VALID [2018-11-23 12:16:55,259 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:55,259 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:55,259 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:55,260 INFO L273 TraceCheckUtils]: 32: Hoare triple {2307#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2307#true} is VALID [2018-11-23 12:16:55,260 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:55,260 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:55,260 INFO L273 TraceCheckUtils]: 35: Hoare triple {2307#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2307#true} is VALID [2018-11-23 12:16:55,260 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:55,260 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:55,261 INFO L273 TraceCheckUtils]: 38: Hoare triple {2307#true} assume !(~i~0 < 40); {2307#true} is VALID [2018-11-23 12:16:55,261 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:55,261 INFO L273 TraceCheckUtils]: 40: Hoare triple {2307#true} assume true; {2307#true} is VALID [2018-11-23 12:16:55,261 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2307#true} {2308#false} #77#return; {2308#false} is VALID [2018-11-23 12:16:55,261 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:55,262 INFO L273 TraceCheckUtils]: 43: Hoare triple {2308#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:55,262 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:55,262 INFO L273 TraceCheckUtils]: 45: Hoare triple {2308#false} assume !(~i~2 < 39); {2308#false} is VALID [2018-11-23 12:16:55,262 INFO L273 TraceCheckUtils]: 46: Hoare triple {2308#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {2308#false} is VALID [2018-11-23 12:16:55,262 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:55,262 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:55,263 INFO L273 TraceCheckUtils]: 49: Hoare triple {2307#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2307#true} is VALID [2018-11-23 12:16:55,263 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:55,263 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:55,263 INFO L273 TraceCheckUtils]: 52: Hoare triple {2307#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2307#true} is VALID [2018-11-23 12:16:55,263 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:55,264 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:55,264 INFO L273 TraceCheckUtils]: 55: Hoare triple {2307#true} assume !(~i~0 < 40); {2307#true} is VALID [2018-11-23 12:16:55,264 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:55,264 INFO L273 TraceCheckUtils]: 57: Hoare triple {2307#true} assume true; {2307#true} is VALID [2018-11-23 12:16:55,264 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {2307#true} {2308#false} #79#return; {2308#false} is VALID [2018-11-23 12:16:55,264 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:55,265 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:55,265 INFO L273 TraceCheckUtils]: 61: Hoare triple {2308#false} assume !false; {2308#false} is VALID [2018-11-23 12:16:55,267 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:55,267 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:55,268 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:55,283 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:16:55,332 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-23 12:16:55,333 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:55,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:55,356 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:55,520 INFO L256 TraceCheckUtils]: 0: Hoare triple {2307#true} call ULTIMATE.init(); {2307#true} is VALID [2018-11-23 12:16:55,520 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:55,521 INFO L273 TraceCheckUtils]: 2: Hoare triple {2307#true} assume true; {2307#true} is VALID [2018-11-23 12:16:55,521 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2307#true} {2307#true} #71#return; {2307#true} is VALID [2018-11-23 12:16:55,521 INFO L256 TraceCheckUtils]: 4: Hoare triple {2307#true} call #t~ret14 := main(); {2307#true} is VALID [2018-11-23 12:16:55,521 INFO L273 TraceCheckUtils]: 5: Hoare triple {2307#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2307#true} is VALID [2018-11-23 12:16:55,521 INFO L273 TraceCheckUtils]: 6: Hoare triple {2307#true} assume !!(~i~1 < 40);assume -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:55,522 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:55,522 INFO L273 TraceCheckUtils]: 8: Hoare triple {2307#true} assume !!(~i~1 < 40);assume -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:55,522 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:55,522 INFO L273 TraceCheckUtils]: 10: Hoare triple {2307#true} assume !!(~i~1 < 40);assume -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:55,522 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:55,523 INFO L273 TraceCheckUtils]: 12: Hoare triple {2307#true} assume !!(~i~1 < 40);assume -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:55,523 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:55,523 INFO L273 TraceCheckUtils]: 14: Hoare triple {2307#true} assume !!(~i~1 < 40);assume -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:55,523 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:55,523 INFO L273 TraceCheckUtils]: 16: Hoare triple {2307#true} assume !(~i~1 < 40); {2307#true} is VALID [2018-11-23 12:16:55,523 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:55,540 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:55,547 INFO L273 TraceCheckUtils]: 19: Hoare triple {2372#(<= sep_~i~0 0)} assume !!(~i~0 < 40);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:55,547 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:55,548 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:55,548 INFO L273 TraceCheckUtils]: 22: Hoare triple {2382#(<= sep_~i~0 1)} assume !!(~i~0 < 40);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:55,549 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:55,549 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:55,550 INFO L273 TraceCheckUtils]: 25: Hoare triple {2392#(<= sep_~i~0 2)} assume !(~i~0 < 40); {2308#false} is VALID [2018-11-23 12:16:55,550 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:55,550 INFO L273 TraceCheckUtils]: 27: Hoare triple {2308#false} assume true; {2308#false} is VALID [2018-11-23 12:16:55,550 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2308#false} {2307#true} #75#return; {2308#false} is VALID [2018-11-23 12:16:55,550 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:55,550 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:55,550 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:55,551 INFO L273 TraceCheckUtils]: 32: Hoare triple {2308#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2308#false} is VALID [2018-11-23 12:16:55,551 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:55,551 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:55,551 INFO L273 TraceCheckUtils]: 35: Hoare triple {2308#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2308#false} is VALID [2018-11-23 12:16:55,551 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:55,551 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:55,551 INFO L273 TraceCheckUtils]: 38: Hoare triple {2308#false} assume !(~i~0 < 40); {2308#false} is VALID [2018-11-23 12:16:55,552 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:55,552 INFO L273 TraceCheckUtils]: 40: Hoare triple {2308#false} assume true; {2308#false} is VALID [2018-11-23 12:16:55,552 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2308#false} {2308#false} #77#return; {2308#false} is VALID [2018-11-23 12:16:55,552 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:55,552 INFO L273 TraceCheckUtils]: 43: Hoare triple {2308#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:55,553 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:55,553 INFO L273 TraceCheckUtils]: 45: Hoare triple {2308#false} assume !(~i~2 < 39); {2308#false} is VALID [2018-11-23 12:16:55,553 INFO L273 TraceCheckUtils]: 46: Hoare triple {2308#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {2308#false} is VALID [2018-11-23 12:16:55,553 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:55,553 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:55,554 INFO L273 TraceCheckUtils]: 49: Hoare triple {2308#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2308#false} is VALID [2018-11-23 12:16:55,554 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:55,554 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:55,554 INFO L273 TraceCheckUtils]: 52: Hoare triple {2308#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2308#false} is VALID [2018-11-23 12:16:55,554 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:55,554 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:55,554 INFO L273 TraceCheckUtils]: 55: Hoare triple {2308#false} assume !(~i~0 < 40); {2308#false} is VALID [2018-11-23 12:16:55,554 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:55,555 INFO L273 TraceCheckUtils]: 57: Hoare triple {2308#false} assume true; {2308#false} is VALID [2018-11-23 12:16:55,555 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {2308#false} {2308#false} #79#return; {2308#false} is VALID [2018-11-23 12:16:55,555 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:55,555 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:55,555 INFO L273 TraceCheckUtils]: 61: Hoare triple {2308#false} assume !false; {2308#false} is VALID [2018-11-23 12:16:55,557 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:55,577 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:55,578 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 5] total 11 [2018-11-23 12:16:55,578 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 62 [2018-11-23 12:16:55,579 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:55,579 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:16:55,666 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:55,666 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:16:55,667 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:16:55,667 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:16:55,667 INFO L87 Difference]: Start difference. First operand 41 states and 47 transitions. Second operand 11 states. [2018-11-23 12:16:56,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:56,241 INFO L93 Difference]: Finished difference Result 73 states and 91 transitions. [2018-11-23 12:16:56,241 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:16:56,242 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 62 [2018-11-23 12:16:56,242 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:56,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:16:56,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 84 transitions. [2018-11-23 12:16:56,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:16:56,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 84 transitions. [2018-11-23 12:16:56,246 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 84 transitions. [2018-11-23 12:16:56,387 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:56,390 INFO L225 Difference]: With dead ends: 73 [2018-11-23 12:16:56,390 INFO L226 Difference]: Without dead ends: 49 [2018-11-23 12:16:56,391 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:56,391 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2018-11-23 12:16:56,441 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 46. [2018-11-23 12:16:56,441 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:56,442 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 46 states. [2018-11-23 12:16:56,442 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 46 states. [2018-11-23 12:16:56,442 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 46 states. [2018-11-23 12:16:56,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:56,445 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2018-11-23 12:16:56,445 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2018-11-23 12:16:56,445 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:56,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:56,447 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 49 states. [2018-11-23 12:16:56,447 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 49 states. [2018-11-23 12:16:56,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:56,449 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2018-11-23 12:16:56,449 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2018-11-23 12:16:56,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:56,450 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:56,450 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:56,450 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:56,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-23 12:16:56,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 53 transitions. [2018-11-23 12:16:56,451 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 53 transitions. Word has length 62 [2018-11-23 12:16:56,451 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:56,452 INFO L480 AbstractCegarLoop]: Abstraction has 46 states and 53 transitions. [2018-11-23 12:16:56,452 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:16:56,452 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 53 transitions. [2018-11-23 12:16:56,453 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2018-11-23 12:16:56,453 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:56,453 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:56,454 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:56,454 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:56,454 INFO L82 PathProgramCache]: Analyzing trace with hash -1972208203, now seen corresponding path program 6 times [2018-11-23 12:16:56,454 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:56,454 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:56,455 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:56,455 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:56,455 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:56,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:56,731 INFO L256 TraceCheckUtils]: 0: Hoare triple {2771#true} call ULTIMATE.init(); {2771#true} is VALID [2018-11-23 12:16:56,731 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:56,732 INFO L273 TraceCheckUtils]: 2: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:56,732 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2771#true} {2771#true} #71#return; {2771#true} is VALID [2018-11-23 12:16:56,732 INFO L256 TraceCheckUtils]: 4: Hoare triple {2771#true} call #t~ret14 := main(); {2771#true} is VALID [2018-11-23 12:16:56,733 INFO L273 TraceCheckUtils]: 5: Hoare triple {2771#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:56,733 INFO L273 TraceCheckUtils]: 6: Hoare triple {2773#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:56,734 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:56,734 INFO L273 TraceCheckUtils]: 8: Hoare triple {2774#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:56,735 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:56,735 INFO L273 TraceCheckUtils]: 10: Hoare triple {2775#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:56,736 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:56,736 INFO L273 TraceCheckUtils]: 12: Hoare triple {2776#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:56,737 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:56,737 INFO L273 TraceCheckUtils]: 14: Hoare triple {2777#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:56,738 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:56,739 INFO L273 TraceCheckUtils]: 16: Hoare triple {2778#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:56,740 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:56,740 INFO L273 TraceCheckUtils]: 18: Hoare triple {2779#(<= main_~i~1 6)} assume !(~i~1 < 40); {2772#false} is VALID [2018-11-23 12:16:56,741 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:56,741 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:56,741 INFO L273 TraceCheckUtils]: 21: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:56,741 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:56,741 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:56,742 INFO L273 TraceCheckUtils]: 24: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:56,742 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:56,742 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:56,742 INFO L273 TraceCheckUtils]: 27: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:56,742 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:56,743 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:56,743 INFO L273 TraceCheckUtils]: 30: Hoare triple {2771#true} assume !(~i~0 < 40); {2771#true} is VALID [2018-11-23 12:16:56,743 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:56,743 INFO L273 TraceCheckUtils]: 32: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:56,744 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {2771#true} {2772#false} #75#return; {2772#false} is VALID [2018-11-23 12:16:56,744 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:56,744 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:56,744 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:56,744 INFO L273 TraceCheckUtils]: 37: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:56,744 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:56,744 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:56,745 INFO L273 TraceCheckUtils]: 40: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:56,745 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:56,745 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:56,745 INFO L273 TraceCheckUtils]: 43: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:56,745 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:56,745 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:56,745 INFO L273 TraceCheckUtils]: 46: Hoare triple {2771#true} assume !(~i~0 < 40); {2771#true} is VALID [2018-11-23 12:16:56,745 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:56,746 INFO L273 TraceCheckUtils]: 48: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:56,746 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {2771#true} {2772#false} #77#return; {2772#false} is VALID [2018-11-23 12:16:56,746 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:56,746 INFO L273 TraceCheckUtils]: 51: Hoare triple {2772#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:56,746 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:56,746 INFO L273 TraceCheckUtils]: 53: Hoare triple {2772#false} assume !(~i~2 < 39); {2772#false} is VALID [2018-11-23 12:16:56,746 INFO L273 TraceCheckUtils]: 54: Hoare triple {2772#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {2772#false} is VALID [2018-11-23 12:16:56,746 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:56,747 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:56,747 INFO L273 TraceCheckUtils]: 57: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:56,747 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:56,747 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:56,747 INFO L273 TraceCheckUtils]: 60: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:56,747 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:56,747 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:56,747 INFO L273 TraceCheckUtils]: 63: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:56,748 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:56,748 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:56,748 INFO L273 TraceCheckUtils]: 66: Hoare triple {2771#true} assume !(~i~0 < 40); {2771#true} is VALID [2018-11-23 12:16:56,748 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:56,748 INFO L273 TraceCheckUtils]: 68: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:56,748 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {2771#true} {2772#false} #79#return; {2772#false} is VALID [2018-11-23 12:16:56,748 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:56,748 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:56,749 INFO L273 TraceCheckUtils]: 72: Hoare triple {2772#false} assume !false; {2772#false} is VALID [2018-11-23 12:16:56,752 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:56,752 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:56,752 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:56,765 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:16:56,854 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-23 12:16:56,854 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:56,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:56,900 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:57,203 INFO L256 TraceCheckUtils]: 0: Hoare triple {2771#true} call ULTIMATE.init(); {2771#true} is VALID [2018-11-23 12:16:57,203 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:57,203 INFO L273 TraceCheckUtils]: 2: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:57,204 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2771#true} {2771#true} #71#return; {2771#true} is VALID [2018-11-23 12:16:57,204 INFO L256 TraceCheckUtils]: 4: Hoare triple {2771#true} call #t~ret14 := main(); {2771#true} is VALID [2018-11-23 12:16:57,204 INFO L273 TraceCheckUtils]: 5: Hoare triple {2771#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2771#true} is VALID [2018-11-23 12:16:57,204 INFO L273 TraceCheckUtils]: 6: Hoare triple {2771#true} assume !!(~i~1 < 40);assume -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:57,205 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:57,205 INFO L273 TraceCheckUtils]: 8: Hoare triple {2771#true} assume !!(~i~1 < 40);assume -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:57,205 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:57,206 INFO L273 TraceCheckUtils]: 10: Hoare triple {2771#true} assume !!(~i~1 < 40);assume -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:57,206 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:57,206 INFO L273 TraceCheckUtils]: 12: Hoare triple {2771#true} assume !!(~i~1 < 40);assume -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:57,206 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:57,207 INFO L273 TraceCheckUtils]: 14: Hoare triple {2771#true} assume !!(~i~1 < 40);assume -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:57,207 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:57,207 INFO L273 TraceCheckUtils]: 16: Hoare triple {2771#true} assume !!(~i~1 < 40);assume -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:57,207 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:57,207 INFO L273 TraceCheckUtils]: 18: Hoare triple {2771#true} assume !(~i~1 < 40); {2771#true} is VALID [2018-11-23 12:16:57,208 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:57,208 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:57,208 INFO L273 TraceCheckUtils]: 21: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:57,208 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:57,208 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:57,208 INFO L273 TraceCheckUtils]: 24: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:57,209 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:57,209 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:57,209 INFO L273 TraceCheckUtils]: 27: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:57,209 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:57,209 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:57,210 INFO L273 TraceCheckUtils]: 30: Hoare triple {2771#true} assume !(~i~0 < 40); {2771#true} is VALID [2018-11-23 12:16:57,210 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:57,210 INFO L273 TraceCheckUtils]: 32: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:57,210 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {2771#true} {2771#true} #75#return; {2771#true} is VALID [2018-11-23 12:16:57,210 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:57,210 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:57,211 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:57,211 INFO L273 TraceCheckUtils]: 37: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:57,211 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:57,211 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:57,211 INFO L273 TraceCheckUtils]: 40: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:57,212 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:57,212 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:57,212 INFO L273 TraceCheckUtils]: 43: Hoare triple {2771#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2771#true} is VALID [2018-11-23 12:16:57,212 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:57,212 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:57,213 INFO L273 TraceCheckUtils]: 46: Hoare triple {2771#true} assume !(~i~0 < 40); {2771#true} is VALID [2018-11-23 12:16:57,213 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:57,213 INFO L273 TraceCheckUtils]: 48: Hoare triple {2771#true} assume true; {2771#true} is VALID [2018-11-23 12:16:57,213 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {2771#true} {2771#true} #77#return; {2771#true} is VALID [2018-11-23 12:16:57,229 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:57,238 INFO L273 TraceCheckUtils]: 51: Hoare triple {2933#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:57,253 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:57,262 INFO L273 TraceCheckUtils]: 53: Hoare triple {2940#(<= main_~i~2 1)} assume !(~i~2 < 39); {2772#false} is VALID [2018-11-23 12:16:57,262 INFO L273 TraceCheckUtils]: 54: Hoare triple {2772#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {2772#false} is VALID [2018-11-23 12:16:57,262 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:57,263 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:57,263 INFO L273 TraceCheckUtils]: 57: Hoare triple {2772#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2772#false} is VALID [2018-11-23 12:16:57,263 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:57,263 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:57,263 INFO L273 TraceCheckUtils]: 60: Hoare triple {2772#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2772#false} is VALID [2018-11-23 12:16:57,263 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:57,263 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:57,264 INFO L273 TraceCheckUtils]: 63: Hoare triple {2772#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2772#false} is VALID [2018-11-23 12:16:57,264 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:57,264 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:57,264 INFO L273 TraceCheckUtils]: 66: Hoare triple {2772#false} assume !(~i~0 < 40); {2772#false} is VALID [2018-11-23 12:16:57,264 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:57,265 INFO L273 TraceCheckUtils]: 68: Hoare triple {2772#false} assume true; {2772#false} is VALID [2018-11-23 12:16:57,265 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {2772#false} {2772#false} #79#return; {2772#false} is VALID [2018-11-23 12:16:57,265 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:57,265 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:57,265 INFO L273 TraceCheckUtils]: 72: Hoare triple {2772#false} assume !false; {2772#false} is VALID [2018-11-23 12:16:57,269 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:57,292 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:57,293 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 4] total 11 [2018-11-23 12:16:57,293 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 73 [2018-11-23 12:16:57,294 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:57,294 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:16:57,394 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:57,394 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:16:57,394 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:16:57,395 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:16:57,395 INFO L87 Difference]: Start difference. First operand 46 states and 53 transitions. Second operand 11 states. [2018-11-23 12:16:57,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:57,885 INFO L93 Difference]: Finished difference Result 79 states and 94 transitions. [2018-11-23 12:16:57,886 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:16:57,886 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 73 [2018-11-23 12:16:57,886 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:57,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:16:57,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2018-11-23 12:16:57,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:16:57,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2018-11-23 12:16:57,889 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 75 transitions. [2018-11-23 12:16:58,013 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:58,014 INFO L225 Difference]: With dead ends: 79 [2018-11-23 12:16:58,014 INFO L226 Difference]: Without dead ends: 52 [2018-11-23 12:16:58,017 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:58,017 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-23 12:16:58,083 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2018-11-23 12:16:58,083 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:58,083 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 50 states. [2018-11-23 12:16:58,083 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 50 states. [2018-11-23 12:16:58,083 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 50 states. [2018-11-23 12:16:58,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:58,085 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2018-11-23 12:16:58,085 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2018-11-23 12:16:58,085 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:58,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:58,086 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 52 states. [2018-11-23 12:16:58,086 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 52 states. [2018-11-23 12:16:58,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:58,088 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2018-11-23 12:16:58,088 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2018-11-23 12:16:58,088 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:58,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:58,088 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:58,088 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:58,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-23 12:16:58,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 57 transitions. [2018-11-23 12:16:58,090 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 57 transitions. Word has length 73 [2018-11-23 12:16:58,090 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:58,090 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 57 transitions. [2018-11-23 12:16:58,091 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:16:58,091 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2018-11-23 12:16:58,091 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2018-11-23 12:16:58,091 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:58,092 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:58,092 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:58,092 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:58,092 INFO L82 PathProgramCache]: Analyzing trace with hash 1857138133, now seen corresponding path program 7 times [2018-11-23 12:16:58,092 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:58,092 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:58,093 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:58,093 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:58,093 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:58,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:58,380 INFO L256 TraceCheckUtils]: 0: Hoare triple {3289#true} call ULTIMATE.init(); {3289#true} is VALID [2018-11-23 12:16:58,380 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:58,381 INFO L273 TraceCheckUtils]: 2: Hoare triple {3289#true} assume true; {3289#true} is VALID [2018-11-23 12:16:58,381 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3289#true} {3289#true} #71#return; {3289#true} is VALID [2018-11-23 12:16:58,381 INFO L256 TraceCheckUtils]: 4: Hoare triple {3289#true} call #t~ret14 := main(); {3289#true} is VALID [2018-11-23 12:16:58,382 INFO L273 TraceCheckUtils]: 5: Hoare triple {3289#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:58,382 INFO L273 TraceCheckUtils]: 6: Hoare triple {3291#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:58,383 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:58,383 INFO L273 TraceCheckUtils]: 8: Hoare triple {3292#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:58,384 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:58,393 INFO L273 TraceCheckUtils]: 10: Hoare triple {3293#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:58,394 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:58,395 INFO L273 TraceCheckUtils]: 12: Hoare triple {3294#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:58,395 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:58,395 INFO L273 TraceCheckUtils]: 14: Hoare triple {3295#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:58,396 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:58,396 INFO L273 TraceCheckUtils]: 16: Hoare triple {3296#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:58,397 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:58,397 INFO L273 TraceCheckUtils]: 18: Hoare triple {3297#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:58,398 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:58,399 INFO L273 TraceCheckUtils]: 20: Hoare triple {3298#(<= main_~i~1 7)} assume !(~i~1 < 40); {3290#false} is VALID [2018-11-23 12:16:58,399 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:58,399 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:58,400 INFO L273 TraceCheckUtils]: 23: Hoare triple {3289#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:58,400 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:58,400 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:58,400 INFO L273 TraceCheckUtils]: 26: Hoare triple {3289#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:58,400 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:58,401 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:58,401 INFO L273 TraceCheckUtils]: 29: Hoare triple {3289#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:58,401 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:58,401 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:58,401 INFO L273 TraceCheckUtils]: 32: Hoare triple {3289#true} assume !(~i~0 < 40); {3289#true} is VALID [2018-11-23 12:16:58,402 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:58,402 INFO L273 TraceCheckUtils]: 34: Hoare triple {3289#true} assume true; {3289#true} is VALID [2018-11-23 12:16:58,402 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {3289#true} {3290#false} #75#return; {3290#false} is VALID [2018-11-23 12:16:58,402 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:58,402 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:58,402 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:58,402 INFO L273 TraceCheckUtils]: 39: Hoare triple {3289#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:58,403 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:58,403 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:58,403 INFO L273 TraceCheckUtils]: 42: Hoare triple {3289#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:58,403 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:58,403 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:58,403 INFO L273 TraceCheckUtils]: 45: Hoare triple {3289#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:58,403 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:58,403 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:58,404 INFO L273 TraceCheckUtils]: 48: Hoare triple {3289#true} assume !(~i~0 < 40); {3289#true} is VALID [2018-11-23 12:16:58,404 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:58,404 INFO L273 TraceCheckUtils]: 50: Hoare triple {3289#true} assume true; {3289#true} is VALID [2018-11-23 12:16:58,404 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {3289#true} {3290#false} #77#return; {3290#false} is VALID [2018-11-23 12:16:58,404 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:58,404 INFO L273 TraceCheckUtils]: 53: Hoare triple {3290#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:58,404 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:58,404 INFO L273 TraceCheckUtils]: 55: Hoare triple {3290#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:58,404 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:58,405 INFO L273 TraceCheckUtils]: 57: Hoare triple {3290#false} assume !(~i~2 < 39); {3290#false} is VALID [2018-11-23 12:16:58,405 INFO L273 TraceCheckUtils]: 58: Hoare triple {3290#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {3290#false} is VALID [2018-11-23 12:16:58,405 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:58,405 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:58,405 INFO L273 TraceCheckUtils]: 61: Hoare triple {3289#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:58,405 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:58,405 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:58,405 INFO L273 TraceCheckUtils]: 64: Hoare triple {3289#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:58,406 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:58,406 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:58,406 INFO L273 TraceCheckUtils]: 67: Hoare triple {3289#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3289#true} is VALID [2018-11-23 12:16:58,406 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:58,406 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:58,406 INFO L273 TraceCheckUtils]: 70: Hoare triple {3289#true} assume !(~i~0 < 40); {3289#true} is VALID [2018-11-23 12:16:58,406 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:58,406 INFO L273 TraceCheckUtils]: 72: Hoare triple {3289#true} assume true; {3289#true} is VALID [2018-11-23 12:16:58,407 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {3289#true} {3290#false} #79#return; {3290#false} is VALID [2018-11-23 12:16:58,407 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:58,407 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:58,407 INFO L273 TraceCheckUtils]: 76: Hoare triple {3290#false} assume !false; {3290#false} is VALID [2018-11-23 12:16:58,410 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:58,410 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:58,411 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:58,423 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:58,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:58,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:58,484 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:58,597 INFO L256 TraceCheckUtils]: 0: Hoare triple {3289#true} call ULTIMATE.init(); {3289#true} is VALID [2018-11-23 12:16:58,598 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:58,598 INFO L273 TraceCheckUtils]: 2: Hoare triple {3289#true} assume true; {3289#true} is VALID [2018-11-23 12:16:58,598 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3289#true} {3289#true} #71#return; {3289#true} is VALID [2018-11-23 12:16:58,598 INFO L256 TraceCheckUtils]: 4: Hoare triple {3289#true} call #t~ret14 := main(); {3289#true} is VALID [2018-11-23 12:16:58,599 INFO L273 TraceCheckUtils]: 5: Hoare triple {3289#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:58,600 INFO L273 TraceCheckUtils]: 6: Hoare triple {3317#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:58,600 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:58,600 INFO L273 TraceCheckUtils]: 8: Hoare triple {3292#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:58,601 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:58,601 INFO L273 TraceCheckUtils]: 10: Hoare triple {3293#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:58,602 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:58,602 INFO L273 TraceCheckUtils]: 12: Hoare triple {3294#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:58,603 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:58,603 INFO L273 TraceCheckUtils]: 14: Hoare triple {3295#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:58,604 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:58,605 INFO L273 TraceCheckUtils]: 16: Hoare triple {3296#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:58,605 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:58,606 INFO L273 TraceCheckUtils]: 18: Hoare triple {3297#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:58,607 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:58,607 INFO L273 TraceCheckUtils]: 20: Hoare triple {3298#(<= main_~i~1 7)} assume !(~i~1 < 40); {3290#false} is VALID [2018-11-23 12:16:58,608 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:58,608 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:58,608 INFO L273 TraceCheckUtils]: 23: Hoare triple {3290#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:58,608 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:58,608 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:58,609 INFO L273 TraceCheckUtils]: 26: Hoare triple {3290#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:58,609 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:58,609 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:58,609 INFO L273 TraceCheckUtils]: 29: Hoare triple {3290#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:58,610 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:58,610 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:58,610 INFO L273 TraceCheckUtils]: 32: Hoare triple {3290#false} assume !(~i~0 < 40); {3290#false} is VALID [2018-11-23 12:16:58,610 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:58,610 INFO L273 TraceCheckUtils]: 34: Hoare triple {3290#false} assume true; {3290#false} is VALID [2018-11-23 12:16:58,611 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {3290#false} {3290#false} #75#return; {3290#false} is VALID [2018-11-23 12:16:58,611 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:58,611 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:58,611 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:58,611 INFO L273 TraceCheckUtils]: 39: Hoare triple {3290#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:58,612 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:58,612 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:58,612 INFO L273 TraceCheckUtils]: 42: Hoare triple {3290#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:58,612 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:58,612 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:58,612 INFO L273 TraceCheckUtils]: 45: Hoare triple {3290#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:58,613 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:58,613 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:58,613 INFO L273 TraceCheckUtils]: 48: Hoare triple {3290#false} assume !(~i~0 < 40); {3290#false} is VALID [2018-11-23 12:16:58,613 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:58,613 INFO L273 TraceCheckUtils]: 50: Hoare triple {3290#false} assume true; {3290#false} is VALID [2018-11-23 12:16:58,613 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {3290#false} {3290#false} #77#return; {3290#false} is VALID [2018-11-23 12:16:58,613 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:58,613 INFO L273 TraceCheckUtils]: 53: Hoare triple {3290#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:58,614 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:58,614 INFO L273 TraceCheckUtils]: 55: Hoare triple {3290#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:58,614 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:58,614 INFO L273 TraceCheckUtils]: 57: Hoare triple {3290#false} assume !(~i~2 < 39); {3290#false} is VALID [2018-11-23 12:16:58,614 INFO L273 TraceCheckUtils]: 58: Hoare triple {3290#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {3290#false} is VALID [2018-11-23 12:16:58,614 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:58,614 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:58,614 INFO L273 TraceCheckUtils]: 61: Hoare triple {3290#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:58,615 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:58,615 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:58,615 INFO L273 TraceCheckUtils]: 64: Hoare triple {3290#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:58,615 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:58,615 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:58,615 INFO L273 TraceCheckUtils]: 67: Hoare triple {3290#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3290#false} is VALID [2018-11-23 12:16:58,615 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:58,615 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:58,616 INFO L273 TraceCheckUtils]: 70: Hoare triple {3290#false} assume !(~i~0 < 40); {3290#false} is VALID [2018-11-23 12:16:58,616 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:58,616 INFO L273 TraceCheckUtils]: 72: Hoare triple {3290#false} assume true; {3290#false} is VALID [2018-11-23 12:16:58,616 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {3290#false} {3290#false} #79#return; {3290#false} is VALID [2018-11-23 12:16:58,616 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:58,616 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:58,616 INFO L273 TraceCheckUtils]: 76: Hoare triple {3290#false} assume !false; {3290#false} is VALID [2018-11-23 12:16:58,619 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:58,643 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:58,644 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2018-11-23 12:16:58,644 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 77 [2018-11-23 12:16:58,645 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:58,645 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:16:58,709 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:58,710 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:16:58,710 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:16:58,710 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:16:58,711 INFO L87 Difference]: Start difference. First operand 50 states and 57 transitions. Second operand 11 states. [2018-11-23 12:16:58,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:58,878 INFO L93 Difference]: Finished difference Result 82 states and 96 transitions. [2018-11-23 12:16:58,878 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:16:58,878 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 77 [2018-11-23 12:16:58,878 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:58,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:16:58,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 72 transitions. [2018-11-23 12:16:58,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:16:58,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 72 transitions. [2018-11-23 12:16:58,881 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 72 transitions. [2018-11-23 12:16:58,956 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:58,958 INFO L225 Difference]: With dead ends: 82 [2018-11-23 12:16:58,959 INFO L226 Difference]: Without dead ends: 53 [2018-11-23 12:16:58,960 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:58,960 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-11-23 12:16:58,987 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2018-11-23 12:16:58,987 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:58,987 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 52 states. [2018-11-23 12:16:58,987 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 52 states. [2018-11-23 12:16:58,987 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 52 states. [2018-11-23 12:16:58,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:58,989 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2018-11-23 12:16:58,989 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2018-11-23 12:16:58,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:58,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:58,990 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 53 states. [2018-11-23 12:16:58,990 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 53 states. [2018-11-23 12:16:58,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:58,992 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2018-11-23 12:16:58,992 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2018-11-23 12:16:58,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:58,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:58,992 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:58,993 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:58,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 12:16:58,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 59 transitions. [2018-11-23 12:16:58,994 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 59 transitions. Word has length 77 [2018-11-23 12:16:58,994 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:58,995 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 59 transitions. [2018-11-23 12:16:58,995 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:16:58,995 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2018-11-23 12:16:58,996 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2018-11-23 12:16:58,996 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:58,996 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:58,996 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:58,996 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:58,996 INFO L82 PathProgramCache]: Analyzing trace with hash 15831411, now seen corresponding path program 8 times [2018-11-23 12:16:58,997 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:58,997 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:58,997 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:58,998 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:58,998 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:59,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:59,215 INFO L256 TraceCheckUtils]: 0: Hoare triple {3829#true} call ULTIMATE.init(); {3829#true} is VALID [2018-11-23 12:16:59,215 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:59,216 INFO L273 TraceCheckUtils]: 2: Hoare triple {3829#true} assume true; {3829#true} is VALID [2018-11-23 12:16:59,216 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3829#true} {3829#true} #71#return; {3829#true} is VALID [2018-11-23 12:16:59,216 INFO L256 TraceCheckUtils]: 4: Hoare triple {3829#true} call #t~ret14 := main(); {3829#true} is VALID [2018-11-23 12:16:59,217 INFO L273 TraceCheckUtils]: 5: Hoare triple {3829#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:59,218 INFO L273 TraceCheckUtils]: 6: Hoare triple {3831#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:59,219 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:59,219 INFO L273 TraceCheckUtils]: 8: Hoare triple {3832#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:59,220 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:59,221 INFO L273 TraceCheckUtils]: 10: Hoare triple {3833#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:59,222 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:59,222 INFO L273 TraceCheckUtils]: 12: Hoare triple {3834#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:59,223 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:59,224 INFO L273 TraceCheckUtils]: 14: Hoare triple {3835#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:59,225 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:59,225 INFO L273 TraceCheckUtils]: 16: Hoare triple {3836#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:59,226 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:59,227 INFO L273 TraceCheckUtils]: 18: Hoare triple {3837#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:59,228 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:59,228 INFO L273 TraceCheckUtils]: 20: Hoare triple {3838#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:59,229 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:59,230 INFO L273 TraceCheckUtils]: 22: Hoare triple {3839#(<= main_~i~1 8)} assume !(~i~1 < 40); {3830#false} is VALID [2018-11-23 12:16:59,230 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:59,231 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:59,231 INFO L273 TraceCheckUtils]: 25: Hoare triple {3829#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:59,231 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:59,232 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:59,232 INFO L273 TraceCheckUtils]: 28: Hoare triple {3829#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:59,232 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:59,232 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:59,233 INFO L273 TraceCheckUtils]: 31: Hoare triple {3829#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:59,233 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:59,233 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:59,233 INFO L273 TraceCheckUtils]: 34: Hoare triple {3829#true} assume !(~i~0 < 40); {3829#true} is VALID [2018-11-23 12:16:59,234 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:59,234 INFO L273 TraceCheckUtils]: 36: Hoare triple {3829#true} assume true; {3829#true} is VALID [2018-11-23 12:16:59,234 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {3829#true} {3830#false} #75#return; {3830#false} is VALID [2018-11-23 12:16:59,234 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:59,235 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:59,235 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:59,235 INFO L273 TraceCheckUtils]: 41: Hoare triple {3829#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:59,235 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:59,235 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:59,235 INFO L273 TraceCheckUtils]: 44: Hoare triple {3829#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:59,235 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:59,236 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:59,236 INFO L273 TraceCheckUtils]: 47: Hoare triple {3829#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:59,236 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:59,236 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:59,236 INFO L273 TraceCheckUtils]: 50: Hoare triple {3829#true} assume !(~i~0 < 40); {3829#true} is VALID [2018-11-23 12:16:59,236 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:59,236 INFO L273 TraceCheckUtils]: 52: Hoare triple {3829#true} assume true; {3829#true} is VALID [2018-11-23 12:16:59,237 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {3829#true} {3830#false} #77#return; {3830#false} is VALID [2018-11-23 12:16:59,237 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:59,237 INFO L273 TraceCheckUtils]: 55: Hoare triple {3830#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:59,237 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:59,237 INFO L273 TraceCheckUtils]: 57: Hoare triple {3830#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:59,237 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:59,238 INFO L273 TraceCheckUtils]: 59: Hoare triple {3830#false} assume !(~i~2 < 39); {3830#false} is VALID [2018-11-23 12:16:59,238 INFO L273 TraceCheckUtils]: 60: Hoare triple {3830#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {3830#false} is VALID [2018-11-23 12:16:59,238 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:59,238 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:59,238 INFO L273 TraceCheckUtils]: 63: Hoare triple {3829#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:59,238 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:59,238 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:59,238 INFO L273 TraceCheckUtils]: 66: Hoare triple {3829#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:59,238 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:59,239 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:59,239 INFO L273 TraceCheckUtils]: 69: Hoare triple {3829#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3829#true} is VALID [2018-11-23 12:16:59,239 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:59,239 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:59,239 INFO L273 TraceCheckUtils]: 72: Hoare triple {3829#true} assume !(~i~0 < 40); {3829#true} is VALID [2018-11-23 12:16:59,239 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:59,239 INFO L273 TraceCheckUtils]: 74: Hoare triple {3829#true} assume true; {3829#true} is VALID [2018-11-23 12:16:59,239 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {3829#true} {3830#false} #79#return; {3830#false} is VALID [2018-11-23 12:16:59,240 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:59,240 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:59,240 INFO L273 TraceCheckUtils]: 78: Hoare triple {3830#false} assume !false; {3830#false} is VALID [2018-11-23 12:16:59,242 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:59,243 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:59,243 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:59,251 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:16:59,314 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:16:59,314 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:59,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:59,332 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:59,455 INFO L256 TraceCheckUtils]: 0: Hoare triple {3829#true} call ULTIMATE.init(); {3829#true} is VALID [2018-11-23 12:16:59,456 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:59,456 INFO L273 TraceCheckUtils]: 2: Hoare triple {3829#true} assume true; {3829#true} is VALID [2018-11-23 12:16:59,456 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3829#true} {3829#true} #71#return; {3829#true} is VALID [2018-11-23 12:16:59,456 INFO L256 TraceCheckUtils]: 4: Hoare triple {3829#true} call #t~ret14 := main(); {3829#true} is VALID [2018-11-23 12:16:59,457 INFO L273 TraceCheckUtils]: 5: Hoare triple {3829#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:59,458 INFO L273 TraceCheckUtils]: 6: Hoare triple {3858#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:59,458 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:59,459 INFO L273 TraceCheckUtils]: 8: Hoare triple {3832#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:59,459 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:59,459 INFO L273 TraceCheckUtils]: 10: Hoare triple {3833#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:59,460 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:59,460 INFO L273 TraceCheckUtils]: 12: Hoare triple {3834#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:59,461 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:59,461 INFO L273 TraceCheckUtils]: 14: Hoare triple {3835#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:59,462 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:59,462 INFO L273 TraceCheckUtils]: 16: Hoare triple {3836#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:59,463 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:59,464 INFO L273 TraceCheckUtils]: 18: Hoare triple {3837#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:59,465 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:59,465 INFO L273 TraceCheckUtils]: 20: Hoare triple {3838#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:59,466 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:59,467 INFO L273 TraceCheckUtils]: 22: Hoare triple {3839#(<= main_~i~1 8)} assume !(~i~1 < 40); {3830#false} is VALID [2018-11-23 12:16:59,467 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:59,467 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:59,467 INFO L273 TraceCheckUtils]: 25: Hoare triple {3830#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:59,468 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:59,468 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:59,468 INFO L273 TraceCheckUtils]: 28: Hoare triple {3830#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:59,468 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:59,468 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:59,469 INFO L273 TraceCheckUtils]: 31: Hoare triple {3830#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:59,469 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:59,469 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:59,469 INFO L273 TraceCheckUtils]: 34: Hoare triple {3830#false} assume !(~i~0 < 40); {3830#false} is VALID [2018-11-23 12:16:59,470 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:59,470 INFO L273 TraceCheckUtils]: 36: Hoare triple {3830#false} assume true; {3830#false} is VALID [2018-11-23 12:16:59,470 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {3830#false} {3830#false} #75#return; {3830#false} is VALID [2018-11-23 12:16:59,470 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:59,470 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:59,470 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:59,470 INFO L273 TraceCheckUtils]: 41: Hoare triple {3830#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:59,471 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:59,471 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:59,471 INFO L273 TraceCheckUtils]: 44: Hoare triple {3830#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:59,471 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:59,471 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:59,471 INFO L273 TraceCheckUtils]: 47: Hoare triple {3830#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:59,471 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:59,471 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:59,472 INFO L273 TraceCheckUtils]: 50: Hoare triple {3830#false} assume !(~i~0 < 40); {3830#false} is VALID [2018-11-23 12:16:59,472 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:59,472 INFO L273 TraceCheckUtils]: 52: Hoare triple {3830#false} assume true; {3830#false} is VALID [2018-11-23 12:16:59,472 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {3830#false} {3830#false} #77#return; {3830#false} is VALID [2018-11-23 12:16:59,472 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:59,472 INFO L273 TraceCheckUtils]: 55: Hoare triple {3830#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:59,472 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:59,472 INFO L273 TraceCheckUtils]: 57: Hoare triple {3830#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:59,473 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:59,473 INFO L273 TraceCheckUtils]: 59: Hoare triple {3830#false} assume !(~i~2 < 39); {3830#false} is VALID [2018-11-23 12:16:59,473 INFO L273 TraceCheckUtils]: 60: Hoare triple {3830#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {3830#false} is VALID [2018-11-23 12:16:59,473 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:59,473 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:59,473 INFO L273 TraceCheckUtils]: 63: Hoare triple {3830#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:59,473 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:59,473 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:59,473 INFO L273 TraceCheckUtils]: 66: Hoare triple {3830#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:59,474 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:59,474 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:59,474 INFO L273 TraceCheckUtils]: 69: Hoare triple {3830#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3830#false} is VALID [2018-11-23 12:16:59,474 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:59,474 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:59,474 INFO L273 TraceCheckUtils]: 72: Hoare triple {3830#false} assume !(~i~0 < 40); {3830#false} is VALID [2018-11-23 12:16:59,474 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:59,474 INFO L273 TraceCheckUtils]: 74: Hoare triple {3830#false} assume true; {3830#false} is VALID [2018-11-23 12:16:59,475 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {3830#false} {3830#false} #79#return; {3830#false} is VALID [2018-11-23 12:16:59,475 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:59,475 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:59,475 INFO L273 TraceCheckUtils]: 78: Hoare triple {3830#false} assume !false; {3830#false} is VALID [2018-11-23 12:16:59,478 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:59,497 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:59,497 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 12 [2018-11-23 12:16:59,497 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 79 [2018-11-23 12:16:59,498 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:59,498 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 12:16:59,556 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:59,557 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 12:16:59,557 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 12:16:59,557 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-23 12:16:59,558 INFO L87 Difference]: Start difference. First operand 52 states and 59 transitions. Second operand 12 states. [2018-11-23 12:16:59,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:59,973 INFO L93 Difference]: Finished difference Result 84 states and 98 transitions. [2018-11-23 12:16:59,973 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:16:59,973 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 79 [2018-11-23 12:16:59,973 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:59,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:16:59,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 74 transitions. [2018-11-23 12:16:59,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:16:59,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 74 transitions. [2018-11-23 12:16:59,976 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 74 transitions. [2018-11-23 12:17:00,085 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:00,087 INFO L225 Difference]: With dead ends: 84 [2018-11-23 12:17:00,087 INFO L226 Difference]: Without dead ends: 55 [2018-11-23 12:17:00,088 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:17:00,089 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-23 12:17:00,112 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 54. [2018-11-23 12:17:00,113 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:00,113 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 54 states. [2018-11-23 12:17:00,113 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 54 states. [2018-11-23 12:17:00,113 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 54 states. [2018-11-23 12:17:00,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:00,115 INFO L93 Difference]: Finished difference Result 55 states and 62 transitions. [2018-11-23 12:17:00,115 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 62 transitions. [2018-11-23 12:17:00,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:00,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:00,116 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 55 states. [2018-11-23 12:17:00,116 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 55 states. [2018-11-23 12:17:00,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:00,118 INFO L93 Difference]: Finished difference Result 55 states and 62 transitions. [2018-11-23 12:17:00,118 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 62 transitions. [2018-11-23 12:17:00,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:00,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:00,119 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:00,119 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:00,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-23 12:17:00,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 61 transitions. [2018-11-23 12:17:00,121 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 61 transitions. Word has length 79 [2018-11-23 12:17:00,121 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:00,121 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 61 transitions. [2018-11-23 12:17:00,122 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 12:17:00,122 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 61 transitions. [2018-11-23 12:17:00,123 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2018-11-23 12:17:00,123 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:00,123 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:17:00,123 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:00,123 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:00,124 INFO L82 PathProgramCache]: Analyzing trace with hash 46597521, now seen corresponding path program 9 times [2018-11-23 12:17:00,124 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:00,124 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:00,125 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:00,125 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:00,125 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:00,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:01,191 INFO L256 TraceCheckUtils]: 0: Hoare triple {4386#true} call ULTIMATE.init(); {4386#true} is VALID [2018-11-23 12:17:01,192 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:17:01,192 INFO L273 TraceCheckUtils]: 2: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:17:01,192 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4386#true} {4386#true} #71#return; {4386#true} is VALID [2018-11-23 12:17:01,193 INFO L256 TraceCheckUtils]: 4: Hoare triple {4386#true} call #t~ret14 := main(); {4386#true} is VALID [2018-11-23 12:17:01,193 INFO L273 TraceCheckUtils]: 5: Hoare triple {4386#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:17:01,194 INFO L273 TraceCheckUtils]: 6: Hoare triple {4388#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:17:01,195 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:17:01,195 INFO L273 TraceCheckUtils]: 8: Hoare triple {4389#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:17:01,196 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:17:01,196 INFO L273 TraceCheckUtils]: 10: Hoare triple {4390#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:17:01,197 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:17:01,197 INFO L273 TraceCheckUtils]: 12: Hoare triple {4391#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:17:01,198 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:17:01,199 INFO L273 TraceCheckUtils]: 14: Hoare triple {4392#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:17:01,200 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:17:01,200 INFO L273 TraceCheckUtils]: 16: Hoare triple {4393#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:17:01,201 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:17:01,202 INFO L273 TraceCheckUtils]: 18: Hoare triple {4394#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:17:01,203 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:17:01,203 INFO L273 TraceCheckUtils]: 20: Hoare triple {4395#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:17:01,204 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:17:01,205 INFO L273 TraceCheckUtils]: 22: Hoare triple {4396#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:17:01,206 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:17:01,207 INFO L273 TraceCheckUtils]: 24: Hoare triple {4397#(<= main_~i~1 9)} assume !(~i~1 < 40); {4387#false} is VALID [2018-11-23 12:17:01,207 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:17:01,207 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:17:01,207 INFO L273 TraceCheckUtils]: 27: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,208 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:17:01,208 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:17:01,208 INFO L273 TraceCheckUtils]: 30: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,208 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:17:01,209 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:17:01,209 INFO L273 TraceCheckUtils]: 33: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,209 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:17:01,209 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:17:01,210 INFO L273 TraceCheckUtils]: 36: Hoare triple {4386#true} assume !(~i~0 < 40); {4386#true} is VALID [2018-11-23 12:17:01,210 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:17:01,210 INFO L273 TraceCheckUtils]: 38: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:17:01,211 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {4386#true} {4387#false} #75#return; {4387#false} is VALID [2018-11-23 12:17:01,211 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:17:01,211 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:17:01,211 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:17:01,212 INFO L273 TraceCheckUtils]: 43: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,212 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:17:01,212 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:17:01,212 INFO L273 TraceCheckUtils]: 46: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,213 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:17:01,213 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:17:01,213 INFO L273 TraceCheckUtils]: 49: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,213 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:17:01,213 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:17:01,214 INFO L273 TraceCheckUtils]: 52: Hoare triple {4386#true} assume !(~i~0 < 40); {4386#true} is VALID [2018-11-23 12:17:01,214 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:17:01,214 INFO L273 TraceCheckUtils]: 54: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:17:01,214 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {4386#true} {4387#false} #77#return; {4387#false} is VALID [2018-11-23 12:17:01,214 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:17:01,215 INFO L273 TraceCheckUtils]: 57: Hoare triple {4387#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:17:01,215 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:17:01,215 INFO L273 TraceCheckUtils]: 59: Hoare triple {4387#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:17:01,215 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:17:01,216 INFO L273 TraceCheckUtils]: 61: Hoare triple {4387#false} assume !(~i~2 < 39); {4387#false} is VALID [2018-11-23 12:17:01,216 INFO L273 TraceCheckUtils]: 62: Hoare triple {4387#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {4387#false} is VALID [2018-11-23 12:17:01,216 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:17:01,216 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:17:01,216 INFO L273 TraceCheckUtils]: 65: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,217 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:17:01,217 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:17:01,217 INFO L273 TraceCheckUtils]: 68: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,217 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:17:01,217 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:17:01,217 INFO L273 TraceCheckUtils]: 71: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,218 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:17:01,218 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:17:01,218 INFO L273 TraceCheckUtils]: 74: Hoare triple {4386#true} assume !(~i~0 < 40); {4386#true} is VALID [2018-11-23 12:17:01,218 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:17:01,218 INFO L273 TraceCheckUtils]: 76: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:17:01,218 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {4386#true} {4387#false} #79#return; {4387#false} is VALID [2018-11-23 12:17:01,218 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:17:01,219 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:17:01,219 INFO L273 TraceCheckUtils]: 80: Hoare triple {4387#false} assume !false; {4387#false} is VALID [2018-11-23 12:17:01,225 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:17:01,225 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:01,225 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:17:01,235 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:17:01,273 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 12:17:01,273 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:01,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:01,299 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:01,462 INFO L256 TraceCheckUtils]: 0: Hoare triple {4386#true} call ULTIMATE.init(); {4386#true} is VALID [2018-11-23 12:17:01,463 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:17:01,463 INFO L273 TraceCheckUtils]: 2: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:17:01,463 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4386#true} {4386#true} #71#return; {4386#true} is VALID [2018-11-23 12:17:01,463 INFO L256 TraceCheckUtils]: 4: Hoare triple {4386#true} call #t~ret14 := main(); {4386#true} is VALID [2018-11-23 12:17:01,464 INFO L273 TraceCheckUtils]: 5: Hoare triple {4386#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4386#true} is VALID [2018-11-23 12:17:01,464 INFO L273 TraceCheckUtils]: 6: Hoare triple {4386#true} assume !!(~i~1 < 40);assume -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:17:01,464 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:17:01,464 INFO L273 TraceCheckUtils]: 8: Hoare triple {4386#true} assume !!(~i~1 < 40);assume -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:17:01,464 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:17:01,465 INFO L273 TraceCheckUtils]: 10: Hoare triple {4386#true} assume !!(~i~1 < 40);assume -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:17:01,465 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:17:01,465 INFO L273 TraceCheckUtils]: 12: Hoare triple {4386#true} assume !!(~i~1 < 40);assume -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:17:01,465 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:17:01,465 INFO L273 TraceCheckUtils]: 14: Hoare triple {4386#true} assume !!(~i~1 < 40);assume -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:17:01,466 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:17:01,466 INFO L273 TraceCheckUtils]: 16: Hoare triple {4386#true} assume !!(~i~1 < 40);assume -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:17:01,466 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:17:01,466 INFO L273 TraceCheckUtils]: 18: Hoare triple {4386#true} assume !!(~i~1 < 40);assume -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:17:01,467 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:17:01,467 INFO L273 TraceCheckUtils]: 20: Hoare triple {4386#true} assume !!(~i~1 < 40);assume -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:17:01,467 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:17:01,467 INFO L273 TraceCheckUtils]: 22: Hoare triple {4386#true} assume !!(~i~1 < 40);assume -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:17:01,467 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:17:01,467 INFO L273 TraceCheckUtils]: 24: Hoare triple {4386#true} assume !(~i~1 < 40); {4386#true} is VALID [2018-11-23 12:17:01,468 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:17:01,468 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:17:01,468 INFO L273 TraceCheckUtils]: 27: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,468 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:17:01,468 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:17:01,468 INFO L273 TraceCheckUtils]: 30: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,469 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:17:01,469 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:17:01,469 INFO L273 TraceCheckUtils]: 33: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,469 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:17:01,469 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:17:01,469 INFO L273 TraceCheckUtils]: 36: Hoare triple {4386#true} assume !(~i~0 < 40); {4386#true} is VALID [2018-11-23 12:17:01,469 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:17:01,470 INFO L273 TraceCheckUtils]: 38: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:17:01,470 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {4386#true} {4386#true} #75#return; {4386#true} is VALID [2018-11-23 12:17:01,470 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:17:01,470 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:17:01,470 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:17:01,470 INFO L273 TraceCheckUtils]: 43: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,471 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:17:01,471 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:17:01,471 INFO L273 TraceCheckUtils]: 46: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,471 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:17:01,471 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:17:01,471 INFO L273 TraceCheckUtils]: 49: Hoare triple {4386#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4386#true} is VALID [2018-11-23 12:17:01,472 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:17:01,472 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:17:01,472 INFO L273 TraceCheckUtils]: 52: Hoare triple {4386#true} assume !(~i~0 < 40); {4386#true} is VALID [2018-11-23 12:17:01,472 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:17:01,472 INFO L273 TraceCheckUtils]: 54: Hoare triple {4386#true} assume true; {4386#true} is VALID [2018-11-23 12:17:01,472 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {4386#true} {4386#true} #77#return; {4386#true} is VALID [2018-11-23 12:17:01,472 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:17:01,473 INFO L273 TraceCheckUtils]: 57: Hoare triple {4386#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:17:01,473 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:17:01,473 INFO L273 TraceCheckUtils]: 59: Hoare triple {4386#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:17:01,473 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:17:01,473 INFO L273 TraceCheckUtils]: 61: Hoare triple {4386#true} assume !(~i~2 < 39); {4386#true} is VALID [2018-11-23 12:17:01,473 INFO L273 TraceCheckUtils]: 62: Hoare triple {4386#true} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {4386#true} is VALID [2018-11-23 12:17:01,474 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:17:01,474 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:17:01,475 INFO L273 TraceCheckUtils]: 65: Hoare triple {4593#(<= sep_~i~0 0)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4593#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:01,476 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:17:01,478 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:17:01,479 INFO L273 TraceCheckUtils]: 68: Hoare triple {4603#(<= sep_~i~0 1)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4603#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:01,480 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:17:01,481 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:17:01,482 INFO L273 TraceCheckUtils]: 71: Hoare triple {4613#(<= sep_~i~0 2)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4613#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:01,482 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:17:01,483 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:17:01,483 INFO L273 TraceCheckUtils]: 74: Hoare triple {4623#(<= sep_~i~0 3)} assume !(~i~0 < 40); {4387#false} is VALID [2018-11-23 12:17:01,484 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:17:01,484 INFO L273 TraceCheckUtils]: 76: Hoare triple {4387#false} assume true; {4387#false} is VALID [2018-11-23 12:17:01,484 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {4387#false} {4386#true} #79#return; {4387#false} is VALID [2018-11-23 12:17:01,485 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:17:01,485 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:17:01,485 INFO L273 TraceCheckUtils]: 80: Hoare triple {4387#false} assume !false; {4387#false} is VALID [2018-11-23 12:17:01,492 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:17:01,513 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:01,513 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6] total 16 [2018-11-23 12:17:01,513 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 81 [2018-11-23 12:17:01,514 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:01,514 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:17:01,616 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:17:01,616 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:17:01,616 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:17:01,617 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=160, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:17:01,617 INFO L87 Difference]: Start difference. First operand 54 states and 61 transitions. Second operand 16 states. [2018-11-23 12:17:02,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:02,126 INFO L93 Difference]: Finished difference Result 91 states and 111 transitions. [2018-11-23 12:17:02,126 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:17:02,126 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 81 [2018-11-23 12:17:02,126 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:02,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:17:02,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 96 transitions. [2018-11-23 12:17:02,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:17:02,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 96 transitions. [2018-11-23 12:17:02,130 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 96 transitions. [2018-11-23 12:17:02,287 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:17:02,289 INFO L225 Difference]: With dead ends: 91 [2018-11-23 12:17:02,289 INFO L226 Difference]: Without dead ends: 62 [2018-11-23 12:17:02,290 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:17:02,290 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2018-11-23 12:17:02,314 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 59. [2018-11-23 12:17:02,315 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:02,315 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand 59 states. [2018-11-23 12:17:02,315 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 59 states. [2018-11-23 12:17:02,315 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 59 states. [2018-11-23 12:17:02,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:02,317 INFO L93 Difference]: Finished difference Result 62 states and 71 transitions. [2018-11-23 12:17:02,318 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 71 transitions. [2018-11-23 12:17:02,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:02,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:02,318 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 62 states. [2018-11-23 12:17:02,318 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 62 states. [2018-11-23 12:17:02,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:02,320 INFO L93 Difference]: Finished difference Result 62 states and 71 transitions. [2018-11-23 12:17:02,320 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 71 transitions. [2018-11-23 12:17:02,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:02,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:02,320 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:02,321 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:02,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2018-11-23 12:17:02,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 67 transitions. [2018-11-23 12:17:02,322 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 67 transitions. Word has length 81 [2018-11-23 12:17:02,323 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:02,323 INFO L480 AbstractCegarLoop]: Abstraction has 59 states and 67 transitions. [2018-11-23 12:17:02,323 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:17:02,323 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 67 transitions. [2018-11-23 12:17:02,324 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2018-11-23 12:17:02,324 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:02,324 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:17:02,324 INFO L423 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:02,324 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:02,325 INFO L82 PathProgramCache]: Analyzing trace with hash -313307898, now seen corresponding path program 10 times [2018-11-23 12:17:02,325 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:02,325 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:02,326 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:02,326 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:02,326 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:02,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:02,568 INFO L256 TraceCheckUtils]: 0: Hoare triple {4983#true} call ULTIMATE.init(); {4983#true} is VALID [2018-11-23 12:17:02,569 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:17:02,569 INFO L273 TraceCheckUtils]: 2: Hoare triple {4983#true} assume true; {4983#true} is VALID [2018-11-23 12:17:02,569 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4983#true} {4983#true} #71#return; {4983#true} is VALID [2018-11-23 12:17:02,569 INFO L256 TraceCheckUtils]: 4: Hoare triple {4983#true} call #t~ret14 := main(); {4983#true} is VALID [2018-11-23 12:17:02,570 INFO L273 TraceCheckUtils]: 5: Hoare triple {4983#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:17:02,571 INFO L273 TraceCheckUtils]: 6: Hoare triple {4985#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:17:02,571 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:17:02,571 INFO L273 TraceCheckUtils]: 8: Hoare triple {4986#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:17:02,572 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:17:02,572 INFO L273 TraceCheckUtils]: 10: Hoare triple {4987#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:17:02,573 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:17:02,573 INFO L273 TraceCheckUtils]: 12: Hoare triple {4988#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:17:02,574 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:17:02,574 INFO L273 TraceCheckUtils]: 14: Hoare triple {4989#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:17:02,575 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:17:02,576 INFO L273 TraceCheckUtils]: 16: Hoare triple {4990#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:17:02,577 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:17:02,577 INFO L273 TraceCheckUtils]: 18: Hoare triple {4991#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:17:02,578 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:17:02,578 INFO L273 TraceCheckUtils]: 20: Hoare triple {4992#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:17:02,579 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:17:02,580 INFO L273 TraceCheckUtils]: 22: Hoare triple {4993#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:17:02,580 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:17:02,581 INFO L273 TraceCheckUtils]: 24: Hoare triple {4994#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:17:02,582 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:17:02,583 INFO L273 TraceCheckUtils]: 26: Hoare triple {4995#(<= main_~i~1 10)} assume !(~i~1 < 40); {4984#false} is VALID [2018-11-23 12:17:02,583 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:17:02,583 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:17:02,583 INFO L273 TraceCheckUtils]: 29: Hoare triple {4983#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:17:02,583 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:17:02,584 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:17:02,584 INFO L273 TraceCheckUtils]: 32: Hoare triple {4983#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:17:02,584 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:17:02,584 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:17:02,584 INFO L273 TraceCheckUtils]: 35: Hoare triple {4983#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:17:02,585 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:17:02,585 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:17:02,585 INFO L273 TraceCheckUtils]: 38: Hoare triple {4983#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:17:02,585 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:17:02,585 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:17:02,586 INFO L273 TraceCheckUtils]: 41: Hoare triple {4983#true} assume !(~i~0 < 40); {4983#true} is VALID [2018-11-23 12:17:02,586 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:17:02,586 INFO L273 TraceCheckUtils]: 43: Hoare triple {4983#true} assume true; {4983#true} is VALID [2018-11-23 12:17:02,586 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {4983#true} {4984#false} #75#return; {4984#false} is VALID [2018-11-23 12:17:02,586 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:17:02,586 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:17:02,586 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:17:02,587 INFO L273 TraceCheckUtils]: 48: Hoare triple {4983#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:17:02,587 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:17:02,587 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:17:02,587 INFO L273 TraceCheckUtils]: 51: Hoare triple {4983#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:17:02,587 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:17:02,587 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:17:02,587 INFO L273 TraceCheckUtils]: 54: Hoare triple {4983#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:17:02,587 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:17:02,587 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:17:02,588 INFO L273 TraceCheckUtils]: 57: Hoare triple {4983#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:17:02,588 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:17:02,588 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:17:02,588 INFO L273 TraceCheckUtils]: 60: Hoare triple {4983#true} assume !(~i~0 < 40); {4983#true} is VALID [2018-11-23 12:17:02,588 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:17:02,589 INFO L273 TraceCheckUtils]: 62: Hoare triple {4983#true} assume true; {4983#true} is VALID [2018-11-23 12:17:02,589 INFO L268 TraceCheckUtils]: 63: Hoare quadruple {4983#true} {4984#false} #77#return; {4984#false} is VALID [2018-11-23 12:17:02,589 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:17:02,589 INFO L273 TraceCheckUtils]: 65: Hoare triple {4984#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:17:02,589 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:17:02,589 INFO L273 TraceCheckUtils]: 67: Hoare triple {4984#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:17:02,590 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:17:02,590 INFO L273 TraceCheckUtils]: 69: Hoare triple {4984#false} assume !(~i~2 < 39); {4984#false} is VALID [2018-11-23 12:17:02,590 INFO L273 TraceCheckUtils]: 70: Hoare triple {4984#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {4984#false} is VALID [2018-11-23 12:17:02,590 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:17:02,590 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:17:02,591 INFO L273 TraceCheckUtils]: 73: Hoare triple {4983#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:17:02,591 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:17:02,591 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:17:02,591 INFO L273 TraceCheckUtils]: 76: Hoare triple {4983#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:17:02,591 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:17:02,591 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:17:02,591 INFO L273 TraceCheckUtils]: 79: Hoare triple {4983#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:17:02,592 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:17:02,592 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:17:02,592 INFO L273 TraceCheckUtils]: 82: Hoare triple {4983#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4983#true} is VALID [2018-11-23 12:17:02,592 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:17:02,592 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:17:02,592 INFO L273 TraceCheckUtils]: 85: Hoare triple {4983#true} assume !(~i~0 < 40); {4983#true} is VALID [2018-11-23 12:17:02,593 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:17:02,593 INFO L273 TraceCheckUtils]: 87: Hoare triple {4983#true} assume true; {4983#true} is VALID [2018-11-23 12:17:02,593 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {4983#true} {4984#false} #79#return; {4984#false} is VALID [2018-11-23 12:17:02,593 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:17:02,593 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:17:02,593 INFO L273 TraceCheckUtils]: 91: Hoare triple {4984#false} assume !false; {4984#false} is VALID [2018-11-23 12:17:02,598 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:17:02,601 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:02,601 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:17:02,617 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:17:02,667 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:17:02,668 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:02,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:02,690 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:02,844 INFO L256 TraceCheckUtils]: 0: Hoare triple {4983#true} call ULTIMATE.init(); {4983#true} is VALID [2018-11-23 12:17:02,844 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:17:02,845 INFO L273 TraceCheckUtils]: 2: Hoare triple {4983#true} assume true; {4983#true} is VALID [2018-11-23 12:17:02,845 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4983#true} {4983#true} #71#return; {4983#true} is VALID [2018-11-23 12:17:02,845 INFO L256 TraceCheckUtils]: 4: Hoare triple {4983#true} call #t~ret14 := main(); {4983#true} is VALID [2018-11-23 12:17:02,846 INFO L273 TraceCheckUtils]: 5: Hoare triple {4983#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:17:02,846 INFO L273 TraceCheckUtils]: 6: Hoare triple {5014#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:17:02,847 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:17:02,847 INFO L273 TraceCheckUtils]: 8: Hoare triple {4986#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:17:02,848 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:17:02,848 INFO L273 TraceCheckUtils]: 10: Hoare triple {4987#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:17:02,849 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:17:02,849 INFO L273 TraceCheckUtils]: 12: Hoare triple {4988#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:17:02,850 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:17:02,850 INFO L273 TraceCheckUtils]: 14: Hoare triple {4989#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:17:02,851 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:17:02,852 INFO L273 TraceCheckUtils]: 16: Hoare triple {4990#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:17:02,853 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:17:02,853 INFO L273 TraceCheckUtils]: 18: Hoare triple {4991#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:17:02,854 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:17:02,854 INFO L273 TraceCheckUtils]: 20: Hoare triple {4992#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:17:02,855 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:17:02,856 INFO L273 TraceCheckUtils]: 22: Hoare triple {4993#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:17:02,856 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:17:02,857 INFO L273 TraceCheckUtils]: 24: Hoare triple {4994#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:17:02,858 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:17:02,859 INFO L273 TraceCheckUtils]: 26: Hoare triple {4995#(<= main_~i~1 10)} assume !(~i~1 < 40); {4984#false} is VALID [2018-11-23 12:17:02,859 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:17:02,859 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:17:02,859 INFO L273 TraceCheckUtils]: 29: Hoare triple {4984#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:17:02,859 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:17:02,860 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:17:02,860 INFO L273 TraceCheckUtils]: 32: Hoare triple {4984#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:17:02,860 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:17:02,860 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:17:02,861 INFO L273 TraceCheckUtils]: 35: Hoare triple {4984#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:17:02,861 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:17:02,861 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:17:02,862 INFO L273 TraceCheckUtils]: 38: Hoare triple {4984#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:17:02,862 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:17:02,862 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:17:02,862 INFO L273 TraceCheckUtils]: 41: Hoare triple {4984#false} assume !(~i~0 < 40); {4984#false} is VALID [2018-11-23 12:17:02,863 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:17:02,863 INFO L273 TraceCheckUtils]: 43: Hoare triple {4984#false} assume true; {4984#false} is VALID [2018-11-23 12:17:02,863 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {4984#false} {4984#false} #75#return; {4984#false} is VALID [2018-11-23 12:17:02,863 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:17:02,863 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:17:02,863 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:17:02,864 INFO L273 TraceCheckUtils]: 48: Hoare triple {4984#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:17:02,864 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:17:02,864 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:17:02,864 INFO L273 TraceCheckUtils]: 51: Hoare triple {4984#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:17:02,864 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:17:02,864 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:17:02,864 INFO L273 TraceCheckUtils]: 54: Hoare triple {4984#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:17:02,864 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:17:02,865 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:17:02,865 INFO L273 TraceCheckUtils]: 57: Hoare triple {4984#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:17:02,865 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:17:02,865 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:17:02,865 INFO L273 TraceCheckUtils]: 60: Hoare triple {4984#false} assume !(~i~0 < 40); {4984#false} is VALID [2018-11-23 12:17:02,865 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:17:02,865 INFO L273 TraceCheckUtils]: 62: Hoare triple {4984#false} assume true; {4984#false} is VALID [2018-11-23 12:17:02,865 INFO L268 TraceCheckUtils]: 63: Hoare quadruple {4984#false} {4984#false} #77#return; {4984#false} is VALID [2018-11-23 12:17:02,865 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:17:02,866 INFO L273 TraceCheckUtils]: 65: Hoare triple {4984#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:17:02,866 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:17:02,866 INFO L273 TraceCheckUtils]: 67: Hoare triple {4984#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:17:02,866 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:17:02,866 INFO L273 TraceCheckUtils]: 69: Hoare triple {4984#false} assume !(~i~2 < 39); {4984#false} is VALID [2018-11-23 12:17:02,866 INFO L273 TraceCheckUtils]: 70: Hoare triple {4984#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {4984#false} is VALID [2018-11-23 12:17:02,866 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:17:02,866 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:17:02,867 INFO L273 TraceCheckUtils]: 73: Hoare triple {4984#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:17:02,867 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:17:02,867 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:17:02,867 INFO L273 TraceCheckUtils]: 76: Hoare triple {4984#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:17:02,867 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:17:02,867 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:17:02,867 INFO L273 TraceCheckUtils]: 79: Hoare triple {4984#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:17:02,867 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:17:02,868 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:17:02,868 INFO L273 TraceCheckUtils]: 82: Hoare triple {4984#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4984#false} is VALID [2018-11-23 12:17:02,868 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:17:02,868 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:17:02,868 INFO L273 TraceCheckUtils]: 85: Hoare triple {4984#false} assume !(~i~0 < 40); {4984#false} is VALID [2018-11-23 12:17:02,868 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:17:02,868 INFO L273 TraceCheckUtils]: 87: Hoare triple {4984#false} assume true; {4984#false} is VALID [2018-11-23 12:17:02,868 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {4984#false} {4984#false} #79#return; {4984#false} is VALID [2018-11-23 12:17:02,869 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:17:02,869 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:17:02,869 INFO L273 TraceCheckUtils]: 91: Hoare triple {4984#false} assume !false; {4984#false} is VALID [2018-11-23 12:17:02,872 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:17:02,892 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:02,892 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 14 [2018-11-23 12:17:02,893 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 92 [2018-11-23 12:17:02,893 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:02,893 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 12:17:02,955 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:17:02,956 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 12:17:02,956 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 12:17:02,956 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:17:02,957 INFO L87 Difference]: Start difference. First operand 59 states and 67 transitions. Second operand 14 states. [2018-11-23 12:17:03,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:03,243 INFO L93 Difference]: Finished difference Result 94 states and 110 transitions. [2018-11-23 12:17:03,243 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 12:17:03,243 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 92 [2018-11-23 12:17:03,243 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:03,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:17:03,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 78 transitions. [2018-11-23 12:17:03,245 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:17:03,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 78 transitions. [2018-11-23 12:17:03,247 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 78 transitions. [2018-11-23 12:17:03,940 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:17:03,942 INFO L225 Difference]: With dead ends: 94 [2018-11-23 12:17:03,942 INFO L226 Difference]: Without dead ends: 62 [2018-11-23 12:17:03,943 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 92 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:17:03,943 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2018-11-23 12:17:03,962 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 61. [2018-11-23 12:17:03,962 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:03,962 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand 61 states. [2018-11-23 12:17:03,962 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 61 states. [2018-11-23 12:17:03,963 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 61 states. [2018-11-23 12:17:03,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:03,965 INFO L93 Difference]: Finished difference Result 62 states and 70 transitions. [2018-11-23 12:17:03,966 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 70 transitions. [2018-11-23 12:17:03,966 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:03,966 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:03,966 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 62 states. [2018-11-23 12:17:03,966 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 62 states. [2018-11-23 12:17:03,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:03,968 INFO L93 Difference]: Finished difference Result 62 states and 70 transitions. [2018-11-23 12:17:03,968 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 70 transitions. [2018-11-23 12:17:03,969 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:03,969 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:03,969 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:03,969 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:03,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-11-23 12:17:03,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 69 transitions. [2018-11-23 12:17:03,971 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 69 transitions. Word has length 92 [2018-11-23 12:17:03,971 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:03,971 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 69 transitions. [2018-11-23 12:17:03,972 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 12:17:03,972 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 69 transitions. [2018-11-23 12:17:03,973 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2018-11-23 12:17:03,973 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:03,973 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:17:03,973 INFO L423 AbstractCegarLoop]: === Iteration 15 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:03,973 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:03,973 INFO L82 PathProgramCache]: Analyzing trace with hash 1157101992, now seen corresponding path program 11 times [2018-11-23 12:17:03,974 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:03,974 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:03,974 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:03,975 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:03,975 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:03,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:05,049 INFO L256 TraceCheckUtils]: 0: Hoare triple {5619#true} call ULTIMATE.init(); {5619#true} is VALID [2018-11-23 12:17:05,049 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:17:05,049 INFO L273 TraceCheckUtils]: 2: Hoare triple {5619#true} assume true; {5619#true} is VALID [2018-11-23 12:17:05,049 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5619#true} {5619#true} #71#return; {5619#true} is VALID [2018-11-23 12:17:05,050 INFO L256 TraceCheckUtils]: 4: Hoare triple {5619#true} call #t~ret14 := main(); {5619#true} is VALID [2018-11-23 12:17:05,050 INFO L273 TraceCheckUtils]: 5: Hoare triple {5619#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:17:05,051 INFO L273 TraceCheckUtils]: 6: Hoare triple {5621#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:17:05,051 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:17:05,052 INFO L273 TraceCheckUtils]: 8: Hoare triple {5622#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:17:05,053 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:17:05,053 INFO L273 TraceCheckUtils]: 10: Hoare triple {5623#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:17:05,053 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:17:05,054 INFO L273 TraceCheckUtils]: 12: Hoare triple {5624#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:17:05,054 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:17:05,055 INFO L273 TraceCheckUtils]: 14: Hoare triple {5625#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:17:05,055 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:17:05,056 INFO L273 TraceCheckUtils]: 16: Hoare triple {5626#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:17:05,057 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:17:05,057 INFO L273 TraceCheckUtils]: 18: Hoare triple {5627#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:17:05,058 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:17:05,059 INFO L273 TraceCheckUtils]: 20: Hoare triple {5628#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:17:05,059 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:17:05,060 INFO L273 TraceCheckUtils]: 22: Hoare triple {5629#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:17:05,061 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:17:05,061 INFO L273 TraceCheckUtils]: 24: Hoare triple {5630#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:17:05,062 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:17:05,063 INFO L273 TraceCheckUtils]: 26: Hoare triple {5631#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -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:17:05,063 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:17:05,064 INFO L273 TraceCheckUtils]: 28: Hoare triple {5632#(<= main_~i~1 11)} assume !(~i~1 < 40); {5620#false} is VALID [2018-11-23 12:17:05,064 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:17:05,065 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:17:05,065 INFO L273 TraceCheckUtils]: 31: Hoare triple {5619#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:17:05,065 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:17:05,065 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:17:05,066 INFO L273 TraceCheckUtils]: 34: Hoare triple {5619#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:17:05,066 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:17:05,066 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:17:05,066 INFO L273 TraceCheckUtils]: 37: Hoare triple {5619#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:17:05,067 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:17:05,067 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:17:05,067 INFO L273 TraceCheckUtils]: 40: Hoare triple {5619#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:17:05,067 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:17:05,067 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:17:05,067 INFO L273 TraceCheckUtils]: 43: Hoare triple {5619#true} assume !(~i~0 < 40); {5619#true} is VALID [2018-11-23 12:17:05,068 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:17:05,068 INFO L273 TraceCheckUtils]: 45: Hoare triple {5619#true} assume true; {5619#true} is VALID [2018-11-23 12:17:05,068 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {5619#true} {5620#false} #75#return; {5620#false} is VALID [2018-11-23 12:17:05,068 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:17:05,068 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:17:05,068 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:17:05,068 INFO L273 TraceCheckUtils]: 50: Hoare triple {5619#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:17:05,068 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:17:05,069 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:17:05,069 INFO L273 TraceCheckUtils]: 53: Hoare triple {5619#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:17:05,069 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:17:05,069 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:17:05,069 INFO L273 TraceCheckUtils]: 56: Hoare triple {5619#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:17:05,069 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:17:05,069 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:17:05,069 INFO L273 TraceCheckUtils]: 59: Hoare triple {5619#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:17:05,070 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:17:05,070 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:17:05,070 INFO L273 TraceCheckUtils]: 62: Hoare triple {5619#true} assume !(~i~0 < 40); {5619#true} is VALID [2018-11-23 12:17:05,070 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:17:05,070 INFO L273 TraceCheckUtils]: 64: Hoare triple {5619#true} assume true; {5619#true} is VALID [2018-11-23 12:17:05,070 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {5619#true} {5620#false} #77#return; {5620#false} is VALID [2018-11-23 12:17:05,070 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:17:05,070 INFO L273 TraceCheckUtils]: 67: Hoare triple {5620#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:17:05,071 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:17:05,071 INFO L273 TraceCheckUtils]: 69: Hoare triple {5620#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:17:05,071 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:17:05,071 INFO L273 TraceCheckUtils]: 71: Hoare triple {5620#false} assume !(~i~2 < 39); {5620#false} is VALID [2018-11-23 12:17:05,071 INFO L273 TraceCheckUtils]: 72: Hoare triple {5620#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {5620#false} is VALID [2018-11-23 12:17:05,071 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:17:05,071 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:17:05,071 INFO L273 TraceCheckUtils]: 75: Hoare triple {5619#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:17:05,071 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:17:05,072 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:17:05,072 INFO L273 TraceCheckUtils]: 78: Hoare triple {5619#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:17:05,072 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:17:05,072 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:17:05,072 INFO L273 TraceCheckUtils]: 81: Hoare triple {5619#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:17:05,072 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:17:05,072 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:17:05,073 INFO L273 TraceCheckUtils]: 84: Hoare triple {5619#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5619#true} is VALID [2018-11-23 12:17:05,073 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:17:05,073 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:17:05,073 INFO L273 TraceCheckUtils]: 87: Hoare triple {5619#true} assume !(~i~0 < 40); {5619#true} is VALID [2018-11-23 12:17:05,073 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:17:05,073 INFO L273 TraceCheckUtils]: 89: Hoare triple {5619#true} assume true; {5619#true} is VALID [2018-11-23 12:17:05,074 INFO L268 TraceCheckUtils]: 90: Hoare quadruple {5619#true} {5620#false} #79#return; {5620#false} is VALID [2018-11-23 12:17:05,074 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:17:05,074 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:17:05,074 INFO L273 TraceCheckUtils]: 93: Hoare triple {5620#false} assume !false; {5620#false} is VALID [2018-11-23 12:17:05,079 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:17:05,079 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:05,080 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:17:05,095 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:17:05,412 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) [2018-11-23 12:17:05,412 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:05,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:05,432 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:05,582 INFO L256 TraceCheckUtils]: 0: Hoare triple {5619#true} call ULTIMATE.init(); {5619#true} is VALID [2018-11-23 12:17:05,583 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:17:05,583 INFO L273 TraceCheckUtils]: 2: Hoare triple {5619#true} assume true; {5619#true} is VALID [2018-11-23 12:17:05,583 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5619#true} {5619#true} #71#return; {5619#true} is VALID [2018-11-23 12:17:05,583 INFO L256 TraceCheckUtils]: 4: Hoare triple {5619#true} call #t~ret14 := main(); {5619#true} is VALID [2018-11-23 12:17:05,583 INFO L273 TraceCheckUtils]: 5: Hoare triple {5619#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {5619#true} is VALID [2018-11-23 12:17:05,584 INFO L273 TraceCheckUtils]: 6: Hoare triple {5619#true} assume !!(~i~1 < 40);assume -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:17:05,584 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:17:05,584 INFO L273 TraceCheckUtils]: 8: Hoare triple {5619#true} assume !!(~i~1 < 40);assume -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:17:05,584 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:17:05,584 INFO L273 TraceCheckUtils]: 10: Hoare triple {5619#true} assume !!(~i~1 < 40);assume -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:17:05,585 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:17:05,585 INFO L273 TraceCheckUtils]: 12: Hoare triple {5619#true} assume !!(~i~1 < 40);assume -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:17:05,585 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:17:05,585 INFO L273 TraceCheckUtils]: 14: Hoare triple {5619#true} assume !!(~i~1 < 40);assume -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:17:05,585 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:17:05,586 INFO L273 TraceCheckUtils]: 16: Hoare triple {5619#true} assume !!(~i~1 < 40);assume -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:17:05,586 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:17:05,586 INFO L273 TraceCheckUtils]: 18: Hoare triple {5619#true} assume !!(~i~1 < 40);assume -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:17:05,586 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:17:05,586 INFO L273 TraceCheckUtils]: 20: Hoare triple {5619#true} assume !!(~i~1 < 40);assume -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:17:05,586 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:17:05,586 INFO L273 TraceCheckUtils]: 22: Hoare triple {5619#true} assume !!(~i~1 < 40);assume -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:17:05,586 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:17:05,586 INFO L273 TraceCheckUtils]: 24: Hoare triple {5619#true} assume !!(~i~1 < 40);assume -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:17:05,587 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:17:05,587 INFO L273 TraceCheckUtils]: 26: Hoare triple {5619#true} assume !!(~i~1 < 40);assume -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:17:05,587 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:17:05,587 INFO L273 TraceCheckUtils]: 28: Hoare triple {5619#true} assume !(~i~1 < 40); {5619#true} is VALID [2018-11-23 12:17:05,587 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:17:05,588 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:17:05,588 INFO L273 TraceCheckUtils]: 31: Hoare triple {5726#(<= sep_~i~0 0)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5726#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:05,588 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:17:05,589 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:17:05,589 INFO L273 TraceCheckUtils]: 34: Hoare triple {5736#(<= sep_~i~0 1)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5736#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:05,589 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:17:05,590 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:17:05,590 INFO L273 TraceCheckUtils]: 37: Hoare triple {5746#(<= sep_~i~0 2)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5746#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:05,590 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:17:05,591 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:17:05,592 INFO L273 TraceCheckUtils]: 40: Hoare triple {5756#(<= sep_~i~0 3)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5756#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:05,592 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:17:05,593 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:17:05,594 INFO L273 TraceCheckUtils]: 43: Hoare triple {5766#(<= sep_~i~0 4)} assume !(~i~0 < 40); {5620#false} is VALID [2018-11-23 12:17:05,594 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:17:05,594 INFO L273 TraceCheckUtils]: 45: Hoare triple {5620#false} assume true; {5620#false} is VALID [2018-11-23 12:17:05,594 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {5620#false} {5619#true} #75#return; {5620#false} is VALID [2018-11-23 12:17:05,595 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:17:05,595 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:17:05,595 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:17:05,595 INFO L273 TraceCheckUtils]: 50: Hoare triple {5620#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:17:05,595 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:17:05,596 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:17:05,596 INFO L273 TraceCheckUtils]: 53: Hoare triple {5620#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:17:05,596 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:17:05,596 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:17:05,596 INFO L273 TraceCheckUtils]: 56: Hoare triple {5620#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:17:05,597 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:17:05,597 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:17:05,597 INFO L273 TraceCheckUtils]: 59: Hoare triple {5620#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:17:05,597 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:17:05,597 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:17:05,597 INFO L273 TraceCheckUtils]: 62: Hoare triple {5620#false} assume !(~i~0 < 40); {5620#false} is VALID [2018-11-23 12:17:05,598 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:17:05,598 INFO L273 TraceCheckUtils]: 64: Hoare triple {5620#false} assume true; {5620#false} is VALID [2018-11-23 12:17:05,598 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {5620#false} {5620#false} #77#return; {5620#false} is VALID [2018-11-23 12:17:05,598 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:17:05,598 INFO L273 TraceCheckUtils]: 67: Hoare triple {5620#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:17:05,598 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:17:05,598 INFO L273 TraceCheckUtils]: 69: Hoare triple {5620#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:17:05,598 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:17:05,599 INFO L273 TraceCheckUtils]: 71: Hoare triple {5620#false} assume !(~i~2 < 39); {5620#false} is VALID [2018-11-23 12:17:05,599 INFO L273 TraceCheckUtils]: 72: Hoare triple {5620#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {5620#false} is VALID [2018-11-23 12:17:05,599 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:17:05,599 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:17:05,599 INFO L273 TraceCheckUtils]: 75: Hoare triple {5620#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:17:05,599 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:17:05,599 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:17:05,599 INFO L273 TraceCheckUtils]: 78: Hoare triple {5620#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:17:05,599 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:17:05,600 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:17:05,600 INFO L273 TraceCheckUtils]: 81: Hoare triple {5620#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:17:05,600 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:17:05,600 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:17:05,600 INFO L273 TraceCheckUtils]: 84: Hoare triple {5620#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5620#false} is VALID [2018-11-23 12:17:05,600 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:17:05,600 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:17:05,600 INFO L273 TraceCheckUtils]: 87: Hoare triple {5620#false} assume !(~i~0 < 40); {5620#false} is VALID [2018-11-23 12:17:05,600 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:17:05,601 INFO L273 TraceCheckUtils]: 89: Hoare triple {5620#false} assume true; {5620#false} is VALID [2018-11-23 12:17:05,601 INFO L268 TraceCheckUtils]: 90: Hoare quadruple {5620#false} {5620#false} #79#return; {5620#false} is VALID [2018-11-23 12:17:05,601 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:17:05,601 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:17:05,601 INFO L273 TraceCheckUtils]: 93: Hoare triple {5620#false} assume !false; {5620#false} is VALID [2018-11-23 12:17:05,605 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:17:05,624 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:05,624 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 7] total 19 [2018-11-23 12:17:05,625 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 94 [2018-11-23 12:17:05,626 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:05,626 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:17:05,722 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:17:05,722 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:17:05,723 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:17:05,723 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=231, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:17:05,723 INFO L87 Difference]: Start difference. First operand 61 states and 69 transitions. Second operand 19 states. [2018-11-23 12:17:06,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:06,029 INFO L93 Difference]: Finished difference Result 101 states and 123 transitions. [2018-11-23 12:17:06,029 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 12:17:06,029 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 94 [2018-11-23 12:17:06,029 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:06,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:17:06,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 104 transitions. [2018-11-23 12:17:06,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:17:06,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 104 transitions. [2018-11-23 12:17:06,033 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 104 transitions. [2018-11-23 12:17:06,553 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:17:06,555 INFO L225 Difference]: With dead ends: 101 [2018-11-23 12:17:06,555 INFO L226 Difference]: Without dead ends: 69 [2018-11-23 12:17:06,556 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 90 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=111, Invalid=231, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:17:06,557 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2018-11-23 12:17:06,723 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 66. [2018-11-23 12:17:06,724 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:06,724 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand 66 states. [2018-11-23 12:17:06,724 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 66 states. [2018-11-23 12:17:06,724 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 66 states. [2018-11-23 12:17:06,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:06,726 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2018-11-23 12:17:06,726 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2018-11-23 12:17:06,727 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:06,727 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:06,727 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 69 states. [2018-11-23 12:17:06,727 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 69 states. [2018-11-23 12:17:06,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:06,729 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2018-11-23 12:17:06,729 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2018-11-23 12:17:06,729 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:06,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:06,729 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:06,730 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:06,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 66 states. [2018-11-23 12:17:06,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 75 transitions. [2018-11-23 12:17:06,732 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 75 transitions. Word has length 94 [2018-11-23 12:17:06,732 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:06,732 INFO L480 AbstractCegarLoop]: Abstraction has 66 states and 75 transitions. [2018-11-23 12:17:06,732 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:17:06,732 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 75 transitions. [2018-11-23 12:17:06,733 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2018-11-23 12:17:06,733 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:06,733 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:17:06,734 INFO L423 AbstractCegarLoop]: === Iteration 16 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:06,734 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:06,734 INFO L82 PathProgramCache]: Analyzing trace with hash -135209269, now seen corresponding path program 12 times [2018-11-23 12:17:06,734 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:06,734 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:06,735 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:06,735 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:06,735 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:06,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:07,042 INFO L256 TraceCheckUtils]: 0: Hoare triple {6296#true} call ULTIMATE.init(); {6296#true} is VALID [2018-11-23 12:17:07,043 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:07,043 INFO L273 TraceCheckUtils]: 2: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:07,043 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6296#true} {6296#true} #71#return; {6296#true} is VALID [2018-11-23 12:17:07,043 INFO L256 TraceCheckUtils]: 4: Hoare triple {6296#true} call #t~ret14 := main(); {6296#true} is VALID [2018-11-23 12:17:07,053 INFO L273 TraceCheckUtils]: 5: Hoare triple {6296#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:07,054 INFO L273 TraceCheckUtils]: 6: Hoare triple {6298#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:07,054 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:07,055 INFO L273 TraceCheckUtils]: 8: Hoare triple {6299#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:07,055 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:07,055 INFO L273 TraceCheckUtils]: 10: Hoare triple {6300#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:07,056 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:07,056 INFO L273 TraceCheckUtils]: 12: Hoare triple {6301#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:07,057 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:07,057 INFO L273 TraceCheckUtils]: 14: Hoare triple {6302#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:07,057 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:07,058 INFO L273 TraceCheckUtils]: 16: Hoare triple {6303#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:07,059 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:07,059 INFO L273 TraceCheckUtils]: 18: Hoare triple {6304#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:07,060 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:07,061 INFO L273 TraceCheckUtils]: 20: Hoare triple {6305#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:07,061 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:07,062 INFO L273 TraceCheckUtils]: 22: Hoare triple {6306#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:07,063 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:07,063 INFO L273 TraceCheckUtils]: 24: Hoare triple {6307#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:07,064 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:07,064 INFO L273 TraceCheckUtils]: 26: Hoare triple {6308#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -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:07,065 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:07,066 INFO L273 TraceCheckUtils]: 28: Hoare triple {6309#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -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:07,067 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:07,067 INFO L273 TraceCheckUtils]: 30: Hoare triple {6310#(<= main_~i~1 12)} assume !(~i~1 < 40); {6297#false} is VALID [2018-11-23 12:17:07,067 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:07,068 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:07,068 INFO L273 TraceCheckUtils]: 33: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,068 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:07,068 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:07,068 INFO L273 TraceCheckUtils]: 36: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,069 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:07,069 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:07,069 INFO L273 TraceCheckUtils]: 39: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,069 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:07,070 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:07,070 INFO L273 TraceCheckUtils]: 42: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,070 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:07,070 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:07,070 INFO L273 TraceCheckUtils]: 45: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,070 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:07,070 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:07,071 INFO L273 TraceCheckUtils]: 48: Hoare triple {6296#true} assume !(~i~0 < 40); {6296#true} is VALID [2018-11-23 12:17:07,071 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:07,071 INFO L273 TraceCheckUtils]: 50: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:07,071 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {6296#true} {6297#false} #75#return; {6297#false} is VALID [2018-11-23 12:17:07,071 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:07,071 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:07,071 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:07,071 INFO L273 TraceCheckUtils]: 55: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,071 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:07,072 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:07,072 INFO L273 TraceCheckUtils]: 58: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,072 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:07,072 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:07,072 INFO L273 TraceCheckUtils]: 61: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,072 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:07,072 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:07,072 INFO L273 TraceCheckUtils]: 64: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,073 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:07,073 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:07,073 INFO L273 TraceCheckUtils]: 67: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,073 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:07,073 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:07,073 INFO L273 TraceCheckUtils]: 70: Hoare triple {6296#true} assume !(~i~0 < 40); {6296#true} is VALID [2018-11-23 12:17:07,073 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:07,073 INFO L273 TraceCheckUtils]: 72: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:07,073 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {6296#true} {6297#false} #77#return; {6297#false} is VALID [2018-11-23 12:17:07,074 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:07,074 INFO L273 TraceCheckUtils]: 75: Hoare triple {6297#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:07,074 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:07,074 INFO L273 TraceCheckUtils]: 77: Hoare triple {6297#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:07,074 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:07,074 INFO L273 TraceCheckUtils]: 79: Hoare triple {6297#false} assume !(~i~2 < 39); {6297#false} is VALID [2018-11-23 12:17:07,074 INFO L273 TraceCheckUtils]: 80: Hoare triple {6297#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {6297#false} is VALID [2018-11-23 12:17:07,074 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:07,074 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:07,075 INFO L273 TraceCheckUtils]: 83: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,075 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:07,075 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:07,075 INFO L273 TraceCheckUtils]: 86: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,075 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:07,075 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:07,075 INFO L273 TraceCheckUtils]: 89: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,075 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:07,076 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:07,076 INFO L273 TraceCheckUtils]: 92: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,076 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:07,076 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:07,076 INFO L273 TraceCheckUtils]: 95: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,076 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:07,076 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:07,076 INFO L273 TraceCheckUtils]: 98: Hoare triple {6296#true} assume !(~i~0 < 40); {6296#true} is VALID [2018-11-23 12:17:07,076 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:07,077 INFO L273 TraceCheckUtils]: 100: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:07,077 INFO L268 TraceCheckUtils]: 101: Hoare quadruple {6296#true} {6297#false} #79#return; {6297#false} is VALID [2018-11-23 12:17:07,077 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:07,077 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:07,077 INFO L273 TraceCheckUtils]: 104: Hoare triple {6297#false} assume !false; {6297#false} is VALID [2018-11-23 12:17:07,082 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:07,082 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:07,082 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:07,092 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:17:07,172 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2018-11-23 12:17:07,172 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:07,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:07,194 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:07,462 INFO L256 TraceCheckUtils]: 0: Hoare triple {6296#true} call ULTIMATE.init(); {6296#true} is VALID [2018-11-23 12:17:07,462 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:07,463 INFO L273 TraceCheckUtils]: 2: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:07,463 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6296#true} {6296#true} #71#return; {6296#true} is VALID [2018-11-23 12:17:07,463 INFO L256 TraceCheckUtils]: 4: Hoare triple {6296#true} call #t~ret14 := main(); {6296#true} is VALID [2018-11-23 12:17:07,463 INFO L273 TraceCheckUtils]: 5: Hoare triple {6296#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {6296#true} is VALID [2018-11-23 12:17:07,463 INFO L273 TraceCheckUtils]: 6: Hoare triple {6296#true} assume !!(~i~1 < 40);assume -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:07,463 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:07,463 INFO L273 TraceCheckUtils]: 8: Hoare triple {6296#true} assume !!(~i~1 < 40);assume -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:07,463 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:07,464 INFO L273 TraceCheckUtils]: 10: Hoare triple {6296#true} assume !!(~i~1 < 40);assume -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:07,464 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:07,464 INFO L273 TraceCheckUtils]: 12: Hoare triple {6296#true} assume !!(~i~1 < 40);assume -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:07,464 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:07,464 INFO L273 TraceCheckUtils]: 14: Hoare triple {6296#true} assume !!(~i~1 < 40);assume -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:07,464 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:07,464 INFO L273 TraceCheckUtils]: 16: Hoare triple {6296#true} assume !!(~i~1 < 40);assume -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:07,464 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:07,464 INFO L273 TraceCheckUtils]: 18: Hoare triple {6296#true} assume !!(~i~1 < 40);assume -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:07,465 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:07,465 INFO L273 TraceCheckUtils]: 20: Hoare triple {6296#true} assume !!(~i~1 < 40);assume -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:07,465 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:07,465 INFO L273 TraceCheckUtils]: 22: Hoare triple {6296#true} assume !!(~i~1 < 40);assume -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:07,465 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:07,465 INFO L273 TraceCheckUtils]: 24: Hoare triple {6296#true} assume !!(~i~1 < 40);assume -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:07,465 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:07,465 INFO L273 TraceCheckUtils]: 26: Hoare triple {6296#true} assume !!(~i~1 < 40);assume -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:07,466 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:07,466 INFO L273 TraceCheckUtils]: 28: Hoare triple {6296#true} assume !!(~i~1 < 40);assume -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:07,466 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:07,466 INFO L273 TraceCheckUtils]: 30: Hoare triple {6296#true} assume !(~i~1 < 40); {6296#true} is VALID [2018-11-23 12:17:07,466 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:07,466 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:07,466 INFO L273 TraceCheckUtils]: 33: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,466 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:07,466 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:07,467 INFO L273 TraceCheckUtils]: 36: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,467 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:07,467 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:07,467 INFO L273 TraceCheckUtils]: 39: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,467 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:07,467 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:07,467 INFO L273 TraceCheckUtils]: 42: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,467 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:07,468 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:07,468 INFO L273 TraceCheckUtils]: 45: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,468 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:07,468 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:07,468 INFO L273 TraceCheckUtils]: 48: Hoare triple {6296#true} assume !(~i~0 < 40); {6296#true} is VALID [2018-11-23 12:17:07,468 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:07,468 INFO L273 TraceCheckUtils]: 50: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:07,468 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {6296#true} {6296#true} #75#return; {6296#true} is VALID [2018-11-23 12:17:07,468 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:07,469 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:07,469 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:07,469 INFO L273 TraceCheckUtils]: 55: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,469 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:07,469 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:07,469 INFO L273 TraceCheckUtils]: 58: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,469 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:07,469 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:07,469 INFO L273 TraceCheckUtils]: 61: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,470 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:07,470 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:07,470 INFO L273 TraceCheckUtils]: 64: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,470 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:07,470 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:07,470 INFO L273 TraceCheckUtils]: 67: Hoare triple {6296#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6296#true} is VALID [2018-11-23 12:17:07,470 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:07,470 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:07,471 INFO L273 TraceCheckUtils]: 70: Hoare triple {6296#true} assume !(~i~0 < 40); {6296#true} is VALID [2018-11-23 12:17:07,471 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:07,471 INFO L273 TraceCheckUtils]: 72: Hoare triple {6296#true} assume true; {6296#true} is VALID [2018-11-23 12:17:07,471 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {6296#true} {6296#true} #77#return; {6296#true} is VALID [2018-11-23 12:17:07,472 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:07,472 INFO L273 TraceCheckUtils]: 75: Hoare triple {6536#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:07,474 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:07,474 INFO L273 TraceCheckUtils]: 77: Hoare triple {6543#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:07,476 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:07,476 INFO L273 TraceCheckUtils]: 79: Hoare triple {6550#(<= main_~i~2 2)} assume !(~i~2 < 39); {6297#false} is VALID [2018-11-23 12:17:07,476 INFO L273 TraceCheckUtils]: 80: Hoare triple {6297#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {6297#false} is VALID [2018-11-23 12:17:07,476 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:07,476 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:07,477 INFO L273 TraceCheckUtils]: 83: Hoare triple {6297#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6297#false} is VALID [2018-11-23 12:17:07,477 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:07,477 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:07,477 INFO L273 TraceCheckUtils]: 86: Hoare triple {6297#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6297#false} is VALID [2018-11-23 12:17:07,477 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:07,477 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:07,477 INFO L273 TraceCheckUtils]: 89: Hoare triple {6297#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6297#false} is VALID [2018-11-23 12:17:07,477 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:07,477 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:07,478 INFO L273 TraceCheckUtils]: 92: Hoare triple {6297#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6297#false} is VALID [2018-11-23 12:17:07,478 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:07,478 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:07,478 INFO L273 TraceCheckUtils]: 95: Hoare triple {6297#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6297#false} is VALID [2018-11-23 12:17:07,478 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:07,478 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:07,478 INFO L273 TraceCheckUtils]: 98: Hoare triple {6297#false} assume !(~i~0 < 40); {6297#false} is VALID [2018-11-23 12:17:07,478 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:07,479 INFO L273 TraceCheckUtils]: 100: Hoare triple {6297#false} assume true; {6297#false} is VALID [2018-11-23 12:17:07,479 INFO L268 TraceCheckUtils]: 101: Hoare quadruple {6297#false} {6297#false} #79#return; {6297#false} is VALID [2018-11-23 12:17:07,479 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:07,479 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:07,479 INFO L273 TraceCheckUtils]: 104: Hoare triple {6297#false} assume !false; {6297#false} is VALID [2018-11-23 12:17:07,484 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:07,503 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:07,503 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 5] total 18 [2018-11-23 12:17:07,504 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 105 [2018-11-23 12:17:07,504 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:07,504 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:17:07,579 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:07,580 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:17:07,580 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:17:07,581 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=114, Invalid=192, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:17:07,581 INFO L87 Difference]: Start difference. First operand 66 states and 75 transitions. Second operand 18 states. [2018-11-23 12:17:08,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:08,301 INFO L93 Difference]: Finished difference Result 107 states and 126 transitions. [2018-11-23 12:17:08,301 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 12:17:08,301 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 105 [2018-11-23 12:17:08,301 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:08,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:17:08,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 89 transitions. [2018-11-23 12:17:08,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:17:08,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 89 transitions. [2018-11-23 12:17:08,305 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 89 transitions. [2018-11-23 12:17:08,748 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:08,750 INFO L225 Difference]: With dead ends: 107 [2018-11-23 12:17:08,750 INFO L226 Difference]: Without dead ends: 72 [2018-11-23 12:17:08,751 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:08,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2018-11-23 12:17:09,186 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 70. [2018-11-23 12:17:09,186 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:09,186 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand 70 states. [2018-11-23 12:17:09,186 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 70 states. [2018-11-23 12:17:09,186 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 70 states. [2018-11-23 12:17:09,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:09,189 INFO L93 Difference]: Finished difference Result 72 states and 81 transitions. [2018-11-23 12:17:09,189 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 81 transitions. [2018-11-23 12:17:09,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:09,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:09,189 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 72 states. [2018-11-23 12:17:09,190 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 72 states. [2018-11-23 12:17:09,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:09,191 INFO L93 Difference]: Finished difference Result 72 states and 81 transitions. [2018-11-23 12:17:09,192 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 81 transitions. [2018-11-23 12:17:09,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:09,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:09,192 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:09,192 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:09,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 70 states. [2018-11-23 12:17:09,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 79 transitions. [2018-11-23 12:17:09,194 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 79 transitions. Word has length 105 [2018-11-23 12:17:09,194 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:09,195 INFO L480 AbstractCegarLoop]: Abstraction has 70 states and 79 transitions. [2018-11-23 12:17:09,195 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:17:09,195 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 79 transitions. [2018-11-23 12:17:09,196 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2018-11-23 12:17:09,196 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:09,196 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:09,196 INFO L423 AbstractCegarLoop]: === Iteration 17 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:09,196 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:09,197 INFO L82 PathProgramCache]: Analyzing trace with hash -929187861, now seen corresponding path program 13 times [2018-11-23 12:17:09,197 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:09,197 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:09,198 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:09,198 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:09,198 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:09,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:10,042 INFO L256 TraceCheckUtils]: 0: Hoare triple {7026#true} call ULTIMATE.init(); {7026#true} is VALID [2018-11-23 12:17:10,043 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:10,043 INFO L273 TraceCheckUtils]: 2: Hoare triple {7026#true} assume true; {7026#true} is VALID [2018-11-23 12:17:10,044 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7026#true} {7026#true} #71#return; {7026#true} is VALID [2018-11-23 12:17:10,044 INFO L256 TraceCheckUtils]: 4: Hoare triple {7026#true} call #t~ret14 := main(); {7026#true} is VALID [2018-11-23 12:17:10,059 INFO L273 TraceCheckUtils]: 5: Hoare triple {7026#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:10,067 INFO L273 TraceCheckUtils]: 6: Hoare triple {7028#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:10,068 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:10,068 INFO L273 TraceCheckUtils]: 8: Hoare triple {7029#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:10,068 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:10,069 INFO L273 TraceCheckUtils]: 10: Hoare triple {7030#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:10,069 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:10,070 INFO L273 TraceCheckUtils]: 12: Hoare triple {7031#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:10,070 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:10,070 INFO L273 TraceCheckUtils]: 14: Hoare triple {7032#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:10,071 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:10,071 INFO L273 TraceCheckUtils]: 16: Hoare triple {7033#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:10,072 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:10,073 INFO L273 TraceCheckUtils]: 18: Hoare triple {7034#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:10,073 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:10,074 INFO L273 TraceCheckUtils]: 20: Hoare triple {7035#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:10,075 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:10,075 INFO L273 TraceCheckUtils]: 22: Hoare triple {7036#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:10,076 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:10,076 INFO L273 TraceCheckUtils]: 24: Hoare triple {7037#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:10,077 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:10,078 INFO L273 TraceCheckUtils]: 26: Hoare triple {7038#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -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:10,079 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:10,079 INFO L273 TraceCheckUtils]: 28: Hoare triple {7039#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -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:10,080 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:10,080 INFO L273 TraceCheckUtils]: 30: Hoare triple {7040#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -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:10,081 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:10,082 INFO L273 TraceCheckUtils]: 32: Hoare triple {7041#(<= main_~i~1 13)} assume !(~i~1 < 40); {7027#false} is VALID [2018-11-23 12:17:10,082 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:10,082 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:10,082 INFO L273 TraceCheckUtils]: 35: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,083 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:10,083 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:10,083 INFO L273 TraceCheckUtils]: 38: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,083 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:10,083 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:10,084 INFO L273 TraceCheckUtils]: 41: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,084 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:10,084 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:10,084 INFO L273 TraceCheckUtils]: 44: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,084 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:10,085 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:10,085 INFO L273 TraceCheckUtils]: 47: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,085 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:10,085 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:10,085 INFO L273 TraceCheckUtils]: 50: Hoare triple {7026#true} assume !(~i~0 < 40); {7026#true} is VALID [2018-11-23 12:17:10,086 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:10,086 INFO L273 TraceCheckUtils]: 52: Hoare triple {7026#true} assume true; {7026#true} is VALID [2018-11-23 12:17:10,086 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {7026#true} {7027#false} #75#return; {7027#false} is VALID [2018-11-23 12:17:10,086 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:10,086 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:10,086 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:10,086 INFO L273 TraceCheckUtils]: 57: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,086 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:10,087 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:10,087 INFO L273 TraceCheckUtils]: 60: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,087 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:10,087 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:10,087 INFO L273 TraceCheckUtils]: 63: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,087 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:10,087 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:10,087 INFO L273 TraceCheckUtils]: 66: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,088 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:10,088 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:10,088 INFO L273 TraceCheckUtils]: 69: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,088 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:10,088 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:10,088 INFO L273 TraceCheckUtils]: 72: Hoare triple {7026#true} assume !(~i~0 < 40); {7026#true} is VALID [2018-11-23 12:17:10,088 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:10,088 INFO L273 TraceCheckUtils]: 74: Hoare triple {7026#true} assume true; {7026#true} is VALID [2018-11-23 12:17:10,088 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {7026#true} {7027#false} #77#return; {7027#false} is VALID [2018-11-23 12:17:10,089 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:10,089 INFO L273 TraceCheckUtils]: 77: Hoare triple {7027#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:10,089 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:10,089 INFO L273 TraceCheckUtils]: 79: Hoare triple {7027#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:10,089 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:10,089 INFO L273 TraceCheckUtils]: 81: Hoare triple {7027#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:10,089 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:10,089 INFO L273 TraceCheckUtils]: 83: Hoare triple {7027#false} assume !(~i~2 < 39); {7027#false} is VALID [2018-11-23 12:17:10,089 INFO L273 TraceCheckUtils]: 84: Hoare triple {7027#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {7027#false} is VALID [2018-11-23 12:17:10,090 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:10,090 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:10,090 INFO L273 TraceCheckUtils]: 87: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,090 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:10,090 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:10,090 INFO L273 TraceCheckUtils]: 90: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,090 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:10,090 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:10,090 INFO L273 TraceCheckUtils]: 93: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,091 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:10,091 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:10,091 INFO L273 TraceCheckUtils]: 96: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,091 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:10,091 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:10,091 INFO L273 TraceCheckUtils]: 99: Hoare triple {7026#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7026#true} is VALID [2018-11-23 12:17:10,091 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:10,091 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:10,092 INFO L273 TraceCheckUtils]: 102: Hoare triple {7026#true} assume !(~i~0 < 40); {7026#true} is VALID [2018-11-23 12:17:10,092 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:10,092 INFO L273 TraceCheckUtils]: 104: Hoare triple {7026#true} assume true; {7026#true} is VALID [2018-11-23 12:17:10,092 INFO L268 TraceCheckUtils]: 105: Hoare quadruple {7026#true} {7027#false} #79#return; {7027#false} is VALID [2018-11-23 12:17:10,092 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:10,092 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:10,092 INFO L273 TraceCheckUtils]: 108: Hoare triple {7027#false} assume !false; {7027#false} is VALID [2018-11-23 12:17:10,097 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:10,097 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:10,097 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:10,107 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:10,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:10,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:10,211 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:10,392 INFO L256 TraceCheckUtils]: 0: Hoare triple {7026#true} call ULTIMATE.init(); {7026#true} is VALID [2018-11-23 12:17:10,393 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:10,393 INFO L273 TraceCheckUtils]: 2: Hoare triple {7026#true} assume true; {7026#true} is VALID [2018-11-23 12:17:10,393 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7026#true} {7026#true} #71#return; {7026#true} is VALID [2018-11-23 12:17:10,394 INFO L256 TraceCheckUtils]: 4: Hoare triple {7026#true} call #t~ret14 := main(); {7026#true} is VALID [2018-11-23 12:17:10,395 INFO L273 TraceCheckUtils]: 5: Hoare triple {7026#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:10,395 INFO L273 TraceCheckUtils]: 6: Hoare triple {7060#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:10,396 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:10,396 INFO L273 TraceCheckUtils]: 8: Hoare triple {7029#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:10,396 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:10,397 INFO L273 TraceCheckUtils]: 10: Hoare triple {7030#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:10,398 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:10,399 INFO L273 TraceCheckUtils]: 12: Hoare triple {7031#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:10,399 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:10,400 INFO L273 TraceCheckUtils]: 14: Hoare triple {7032#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:10,401 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:10,402 INFO L273 TraceCheckUtils]: 16: Hoare triple {7033#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:10,402 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:10,403 INFO L273 TraceCheckUtils]: 18: Hoare triple {7034#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:10,404 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:10,405 INFO L273 TraceCheckUtils]: 20: Hoare triple {7035#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:10,405 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:10,406 INFO L273 TraceCheckUtils]: 22: Hoare triple {7036#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:10,407 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:10,408 INFO L273 TraceCheckUtils]: 24: Hoare triple {7037#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:10,408 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:10,409 INFO L273 TraceCheckUtils]: 26: Hoare triple {7038#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -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:10,410 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:10,411 INFO L273 TraceCheckUtils]: 28: Hoare triple {7039#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -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:10,411 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:10,412 INFO L273 TraceCheckUtils]: 30: Hoare triple {7040#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -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:10,413 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:10,414 INFO L273 TraceCheckUtils]: 32: Hoare triple {7041#(<= main_~i~1 13)} assume !(~i~1 < 40); {7027#false} is VALID [2018-11-23 12:17:10,414 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:10,414 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:10,415 INFO L273 TraceCheckUtils]: 35: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,415 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:10,415 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:10,415 INFO L273 TraceCheckUtils]: 38: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,416 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:10,416 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:10,416 INFO L273 TraceCheckUtils]: 41: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,416 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:10,416 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:10,417 INFO L273 TraceCheckUtils]: 44: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,417 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:10,417 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:10,417 INFO L273 TraceCheckUtils]: 47: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,417 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:10,417 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:10,418 INFO L273 TraceCheckUtils]: 50: Hoare triple {7027#false} assume !(~i~0 < 40); {7027#false} is VALID [2018-11-23 12:17:10,418 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:10,418 INFO L273 TraceCheckUtils]: 52: Hoare triple {7027#false} assume true; {7027#false} is VALID [2018-11-23 12:17:10,418 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {7027#false} {7027#false} #75#return; {7027#false} is VALID [2018-11-23 12:17:10,418 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:10,418 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:10,418 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:10,419 INFO L273 TraceCheckUtils]: 57: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,419 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:10,419 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:10,419 INFO L273 TraceCheckUtils]: 60: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,419 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:10,419 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:10,419 INFO L273 TraceCheckUtils]: 63: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,420 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:10,420 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:10,420 INFO L273 TraceCheckUtils]: 66: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,420 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:10,420 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:10,420 INFO L273 TraceCheckUtils]: 69: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,421 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:10,421 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:10,421 INFO L273 TraceCheckUtils]: 72: Hoare triple {7027#false} assume !(~i~0 < 40); {7027#false} is VALID [2018-11-23 12:17:10,421 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:10,421 INFO L273 TraceCheckUtils]: 74: Hoare triple {7027#false} assume true; {7027#false} is VALID [2018-11-23 12:17:10,421 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {7027#false} {7027#false} #77#return; {7027#false} is VALID [2018-11-23 12:17:10,421 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:10,422 INFO L273 TraceCheckUtils]: 77: Hoare triple {7027#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:10,422 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:10,422 INFO L273 TraceCheckUtils]: 79: Hoare triple {7027#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:10,422 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:10,422 INFO L273 TraceCheckUtils]: 81: Hoare triple {7027#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:10,422 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:10,422 INFO L273 TraceCheckUtils]: 83: Hoare triple {7027#false} assume !(~i~2 < 39); {7027#false} is VALID [2018-11-23 12:17:10,422 INFO L273 TraceCheckUtils]: 84: Hoare triple {7027#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {7027#false} is VALID [2018-11-23 12:17:10,423 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:10,423 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:10,423 INFO L273 TraceCheckUtils]: 87: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,423 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:10,423 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:10,423 INFO L273 TraceCheckUtils]: 90: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,423 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:10,424 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:10,424 INFO L273 TraceCheckUtils]: 93: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,424 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:10,424 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:10,424 INFO L273 TraceCheckUtils]: 96: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,424 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:10,424 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:10,424 INFO L273 TraceCheckUtils]: 99: Hoare triple {7027#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7027#false} is VALID [2018-11-23 12:17:10,425 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:10,425 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:10,425 INFO L273 TraceCheckUtils]: 102: Hoare triple {7027#false} assume !(~i~0 < 40); {7027#false} is VALID [2018-11-23 12:17:10,425 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:10,425 INFO L273 TraceCheckUtils]: 104: Hoare triple {7027#false} assume true; {7027#false} is VALID [2018-11-23 12:17:10,425 INFO L268 TraceCheckUtils]: 105: Hoare quadruple {7027#false} {7027#false} #79#return; {7027#false} is VALID [2018-11-23 12:17:10,425 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:10,426 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:10,426 INFO L273 TraceCheckUtils]: 108: Hoare triple {7027#false} assume !false; {7027#false} is VALID [2018-11-23 12:17:10,436 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:10,455 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:10,455 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 17 [2018-11-23 12:17:10,456 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 109 [2018-11-23 12:17:10,457 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:10,457 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 12:17:10,574 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:10,574 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 12:17:10,574 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 12:17:10,575 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:17:10,575 INFO L87 Difference]: Start difference. First operand 70 states and 79 transitions. Second operand 17 states. [2018-11-23 12:17:10,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:10,777 INFO L93 Difference]: Finished difference Result 110 states and 128 transitions. [2018-11-23 12:17:10,778 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:17:10,778 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 109 [2018-11-23 12:17:10,778 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:10,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:17:10,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 84 transitions. [2018-11-23 12:17:10,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:17:10,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 84 transitions. [2018-11-23 12:17:10,782 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 84 transitions. [2018-11-23 12:17:11,780 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:11,782 INFO L225 Difference]: With dead ends: 110 [2018-11-23 12:17:11,782 INFO L226 Difference]: Without dead ends: 73 [2018-11-23 12:17:11,782 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 109 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:17:11,783 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2018-11-23 12:17:11,812 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 72. [2018-11-23 12:17:11,812 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:11,812 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 72 states. [2018-11-23 12:17:11,813 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 72 states. [2018-11-23 12:17:11,813 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 72 states. [2018-11-23 12:17:11,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:11,816 INFO L93 Difference]: Finished difference Result 73 states and 82 transitions. [2018-11-23 12:17:11,817 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 82 transitions. [2018-11-23 12:17:11,817 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:11,817 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:11,817 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 73 states. [2018-11-23 12:17:11,817 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 73 states. [2018-11-23 12:17:11,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:11,819 INFO L93 Difference]: Finished difference Result 73 states and 82 transitions. [2018-11-23 12:17:11,819 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 82 transitions. [2018-11-23 12:17:11,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:11,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:11,820 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:11,820 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:11,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2018-11-23 12:17:11,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 81 transitions. [2018-11-23 12:17:11,822 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 81 transitions. Word has length 109 [2018-11-23 12:17:11,823 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:11,823 INFO L480 AbstractCegarLoop]: Abstraction has 72 states and 81 transitions. [2018-11-23 12:17:11,823 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 12:17:11,823 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 81 transitions. [2018-11-23 12:17:11,824 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2018-11-23 12:17:11,824 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:11,824 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:11,824 INFO L423 AbstractCegarLoop]: === Iteration 18 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:11,825 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:11,825 INFO L82 PathProgramCache]: Analyzing trace with hash -1783127159, now seen corresponding path program 14 times [2018-11-23 12:17:11,825 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:11,825 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:11,826 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:11,826 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:11,826 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:11,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:12,708 INFO L256 TraceCheckUtils]: 0: Hoare triple {7777#true} call ULTIMATE.init(); {7777#true} is VALID [2018-11-23 12:17:12,708 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:12,708 INFO L273 TraceCheckUtils]: 2: Hoare triple {7777#true} assume true; {7777#true} is VALID [2018-11-23 12:17:12,709 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7777#true} {7777#true} #71#return; {7777#true} is VALID [2018-11-23 12:17:12,709 INFO L256 TraceCheckUtils]: 4: Hoare triple {7777#true} call #t~ret14 := main(); {7777#true} is VALID [2018-11-23 12:17:12,709 INFO L273 TraceCheckUtils]: 5: Hoare triple {7777#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:12,709 INFO L273 TraceCheckUtils]: 6: Hoare triple {7779#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:12,728 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:12,732 INFO L273 TraceCheckUtils]: 8: Hoare triple {7780#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:12,733 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:12,733 INFO L273 TraceCheckUtils]: 10: Hoare triple {7781#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:12,733 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:12,734 INFO L273 TraceCheckUtils]: 12: Hoare triple {7782#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:12,734 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:12,735 INFO L273 TraceCheckUtils]: 14: Hoare triple {7783#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:12,735 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:12,735 INFO L273 TraceCheckUtils]: 16: Hoare triple {7784#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:12,736 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:12,736 INFO L273 TraceCheckUtils]: 18: Hoare triple {7785#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:12,737 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:12,738 INFO L273 TraceCheckUtils]: 20: Hoare triple {7786#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:12,738 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:12,739 INFO L273 TraceCheckUtils]: 22: Hoare triple {7787#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:12,740 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:12,740 INFO L273 TraceCheckUtils]: 24: Hoare triple {7788#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:12,741 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:12,742 INFO L273 TraceCheckUtils]: 26: Hoare triple {7789#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -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:12,742 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:12,743 INFO L273 TraceCheckUtils]: 28: Hoare triple {7790#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -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:12,744 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:12,744 INFO L273 TraceCheckUtils]: 30: Hoare triple {7791#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -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:12,745 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:12,745 INFO L273 TraceCheckUtils]: 32: Hoare triple {7792#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -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:12,746 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:12,747 INFO L273 TraceCheckUtils]: 34: Hoare triple {7793#(<= main_~i~1 14)} assume !(~i~1 < 40); {7778#false} is VALID [2018-11-23 12:17:12,747 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:12,747 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:12,748 INFO L273 TraceCheckUtils]: 37: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,748 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:12,748 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:12,748 INFO L273 TraceCheckUtils]: 40: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,748 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:12,749 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:12,749 INFO L273 TraceCheckUtils]: 43: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,749 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:12,749 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:12,749 INFO L273 TraceCheckUtils]: 46: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,750 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:12,750 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:12,750 INFO L273 TraceCheckUtils]: 49: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,750 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:12,750 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:12,750 INFO L273 TraceCheckUtils]: 52: Hoare triple {7777#true} assume !(~i~0 < 40); {7777#true} is VALID [2018-11-23 12:17:12,750 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:12,750 INFO L273 TraceCheckUtils]: 54: Hoare triple {7777#true} assume true; {7777#true} is VALID [2018-11-23 12:17:12,751 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {7777#true} {7778#false} #75#return; {7778#false} is VALID [2018-11-23 12:17:12,751 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:12,751 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:12,751 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:12,751 INFO L273 TraceCheckUtils]: 59: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,751 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:12,751 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:12,751 INFO L273 TraceCheckUtils]: 62: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,752 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:12,752 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:12,752 INFO L273 TraceCheckUtils]: 65: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,752 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:12,752 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:12,752 INFO L273 TraceCheckUtils]: 68: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,752 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:12,752 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:12,752 INFO L273 TraceCheckUtils]: 71: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,753 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:12,753 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:12,753 INFO L273 TraceCheckUtils]: 74: Hoare triple {7777#true} assume !(~i~0 < 40); {7777#true} is VALID [2018-11-23 12:17:12,753 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:12,753 INFO L273 TraceCheckUtils]: 76: Hoare triple {7777#true} assume true; {7777#true} is VALID [2018-11-23 12:17:12,753 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {7777#true} {7778#false} #77#return; {7778#false} is VALID [2018-11-23 12:17:12,753 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:12,753 INFO L273 TraceCheckUtils]: 79: Hoare triple {7778#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:12,753 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:12,754 INFO L273 TraceCheckUtils]: 81: Hoare triple {7778#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:12,754 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:12,754 INFO L273 TraceCheckUtils]: 83: Hoare triple {7778#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:12,754 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:12,754 INFO L273 TraceCheckUtils]: 85: Hoare triple {7778#false} assume !(~i~2 < 39); {7778#false} is VALID [2018-11-23 12:17:12,754 INFO L273 TraceCheckUtils]: 86: Hoare triple {7778#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {7778#false} is VALID [2018-11-23 12:17:12,754 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:12,754 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:12,755 INFO L273 TraceCheckUtils]: 89: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,755 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:12,755 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:12,755 INFO L273 TraceCheckUtils]: 92: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,755 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:12,755 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:12,755 INFO L273 TraceCheckUtils]: 95: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,755 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:12,755 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:12,756 INFO L273 TraceCheckUtils]: 98: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,756 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:12,756 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:12,756 INFO L273 TraceCheckUtils]: 101: Hoare triple {7777#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7777#true} is VALID [2018-11-23 12:17:12,756 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:12,756 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:12,756 INFO L273 TraceCheckUtils]: 104: Hoare triple {7777#true} assume !(~i~0 < 40); {7777#true} is VALID [2018-11-23 12:17:12,756 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:12,756 INFO L273 TraceCheckUtils]: 106: Hoare triple {7777#true} assume true; {7777#true} is VALID [2018-11-23 12:17:12,757 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {7777#true} {7778#false} #79#return; {7778#false} is VALID [2018-11-23 12:17:12,757 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:12,757 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:12,757 INFO L273 TraceCheckUtils]: 110: Hoare triple {7778#false} assume !false; {7778#false} is VALID [2018-11-23 12:17:12,762 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:12,762 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:12,763 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:12,771 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:17:12,837 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:17:12,837 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:12,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:12,875 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:13,033 INFO L256 TraceCheckUtils]: 0: Hoare triple {7777#true} call ULTIMATE.init(); {7777#true} is VALID [2018-11-23 12:17:13,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:13,033 INFO L273 TraceCheckUtils]: 2: Hoare triple {7777#true} assume true; {7777#true} is VALID [2018-11-23 12:17:13,034 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7777#true} {7777#true} #71#return; {7777#true} is VALID [2018-11-23 12:17:13,034 INFO L256 TraceCheckUtils]: 4: Hoare triple {7777#true} call #t~ret14 := main(); {7777#true} is VALID [2018-11-23 12:17:13,035 INFO L273 TraceCheckUtils]: 5: Hoare triple {7777#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:13,035 INFO L273 TraceCheckUtils]: 6: Hoare triple {7812#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:13,036 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:13,036 INFO L273 TraceCheckUtils]: 8: Hoare triple {7780#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:13,037 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:13,037 INFO L273 TraceCheckUtils]: 10: Hoare triple {7781#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:13,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:13,038 INFO L273 TraceCheckUtils]: 12: Hoare triple {7782#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:13,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:13,039 INFO L273 TraceCheckUtils]: 14: Hoare triple {7783#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:13,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:13,041 INFO L273 TraceCheckUtils]: 16: Hoare triple {7784#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:13,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:13,042 INFO L273 TraceCheckUtils]: 18: Hoare triple {7785#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:13,043 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:13,043 INFO L273 TraceCheckUtils]: 20: Hoare triple {7786#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:13,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:13,044 INFO L273 TraceCheckUtils]: 22: Hoare triple {7787#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:13,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:13,046 INFO L273 TraceCheckUtils]: 24: Hoare triple {7788#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:13,047 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:13,047 INFO L273 TraceCheckUtils]: 26: Hoare triple {7789#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -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:13,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:13,048 INFO L273 TraceCheckUtils]: 28: Hoare triple {7790#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -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:13,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:13,050 INFO L273 TraceCheckUtils]: 30: Hoare triple {7791#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -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:13,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:13,051 INFO L273 TraceCheckUtils]: 32: Hoare triple {7792#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -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:13,052 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:13,052 INFO L273 TraceCheckUtils]: 34: Hoare triple {7793#(<= main_~i~1 14)} assume !(~i~1 < 40); {7778#false} is VALID [2018-11-23 12:17:13,053 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:13,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:13,053 INFO L273 TraceCheckUtils]: 37: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,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:13,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:13,054 INFO L273 TraceCheckUtils]: 40: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,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:13,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:13,054 INFO L273 TraceCheckUtils]: 43: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,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:13,055 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:13,055 INFO L273 TraceCheckUtils]: 46: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,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:13,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:13,055 INFO L273 TraceCheckUtils]: 49: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,056 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:13,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:13,056 INFO L273 TraceCheckUtils]: 52: Hoare triple {7778#false} assume !(~i~0 < 40); {7778#false} is VALID [2018-11-23 12:17:13,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:13,056 INFO L273 TraceCheckUtils]: 54: Hoare triple {7778#false} assume true; {7778#false} is VALID [2018-11-23 12:17:13,056 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {7778#false} {7778#false} #75#return; {7778#false} is VALID [2018-11-23 12:17:13,057 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:13,057 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:13,057 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:13,057 INFO L273 TraceCheckUtils]: 59: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,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:13,058 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:13,058 INFO L273 TraceCheckUtils]: 62: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,058 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:13,058 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:13,058 INFO L273 TraceCheckUtils]: 65: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,058 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:13,058 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:13,058 INFO L273 TraceCheckUtils]: 68: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,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:13,059 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:13,059 INFO L273 TraceCheckUtils]: 71: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,059 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:13,059 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:13,059 INFO L273 TraceCheckUtils]: 74: Hoare triple {7778#false} assume !(~i~0 < 40); {7778#false} is VALID [2018-11-23 12:17:13,059 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:13,059 INFO L273 TraceCheckUtils]: 76: Hoare triple {7778#false} assume true; {7778#false} is VALID [2018-11-23 12:17:13,059 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {7778#false} {7778#false} #77#return; {7778#false} is VALID [2018-11-23 12:17:13,060 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:13,060 INFO L273 TraceCheckUtils]: 79: Hoare triple {7778#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:13,060 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:13,060 INFO L273 TraceCheckUtils]: 81: Hoare triple {7778#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:13,060 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:13,060 INFO L273 TraceCheckUtils]: 83: Hoare triple {7778#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:13,060 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:13,060 INFO L273 TraceCheckUtils]: 85: Hoare triple {7778#false} assume !(~i~2 < 39); {7778#false} is VALID [2018-11-23 12:17:13,060 INFO L273 TraceCheckUtils]: 86: Hoare triple {7778#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {7778#false} is VALID [2018-11-23 12:17:13,061 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:13,061 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:13,061 INFO L273 TraceCheckUtils]: 89: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,061 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:13,061 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:13,061 INFO L273 TraceCheckUtils]: 92: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,061 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:13,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:13,062 INFO L273 TraceCheckUtils]: 95: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,062 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:13,062 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:13,062 INFO L273 TraceCheckUtils]: 98: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,062 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:13,062 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:13,062 INFO L273 TraceCheckUtils]: 101: Hoare triple {7778#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7778#false} is VALID [2018-11-23 12:17:13,063 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:13,063 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:13,063 INFO L273 TraceCheckUtils]: 104: Hoare triple {7778#false} assume !(~i~0 < 40); {7778#false} is VALID [2018-11-23 12:17:13,063 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:13,063 INFO L273 TraceCheckUtils]: 106: Hoare triple {7778#false} assume true; {7778#false} is VALID [2018-11-23 12:17:13,063 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {7778#false} {7778#false} #79#return; {7778#false} is VALID [2018-11-23 12:17:13,063 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:13,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:13,063 INFO L273 TraceCheckUtils]: 110: Hoare triple {7778#false} assume !false; {7778#false} is VALID [2018-11-23 12:17:13,069 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:13,088 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:13,088 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 18 [2018-11-23 12:17:13,088 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 111 [2018-11-23 12:17:13,089 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:13,089 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:17:13,159 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:13,159 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:17:13,159 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:17:13,160 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:17:13,160 INFO L87 Difference]: Start difference. First operand 72 states and 81 transitions. Second operand 18 states. [2018-11-23 12:17:13,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:13,794 INFO L93 Difference]: Finished difference Result 112 states and 130 transitions. [2018-11-23 12:17:13,794 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:17:13,795 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 111 [2018-11-23 12:17:13,795 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:13,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:17:13,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 86 transitions. [2018-11-23 12:17:13,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:17:13,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 86 transitions. [2018-11-23 12:17:13,798 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 86 transitions. [2018-11-23 12:17:13,902 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:13,904 INFO L225 Difference]: With dead ends: 112 [2018-11-23 12:17:13,904 INFO L226 Difference]: Without dead ends: 75 [2018-11-23 12:17:13,905 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 111 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:17:13,905 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2018-11-23 12:17:13,933 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 74. [2018-11-23 12:17:13,933 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:13,934 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 74 states. [2018-11-23 12:17:13,934 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 74 states. [2018-11-23 12:17:13,934 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 74 states. [2018-11-23 12:17:13,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:13,936 INFO L93 Difference]: Finished difference Result 75 states and 84 transitions. [2018-11-23 12:17:13,936 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 84 transitions. [2018-11-23 12:17:13,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:13,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:13,937 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 75 states. [2018-11-23 12:17:13,937 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 75 states. [2018-11-23 12:17:13,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:13,939 INFO L93 Difference]: Finished difference Result 75 states and 84 transitions. [2018-11-23 12:17:13,939 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 84 transitions. [2018-11-23 12:17:13,940 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:13,940 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:13,940 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:13,940 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:13,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-11-23 12:17:13,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 83 transitions. [2018-11-23 12:17:13,942 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 83 transitions. Word has length 111 [2018-11-23 12:17:13,942 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:13,942 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 83 transitions. [2018-11-23 12:17:13,942 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:17:13,943 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 83 transitions. [2018-11-23 12:17:13,943 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2018-11-23 12:17:13,943 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:13,944 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:13,944 INFO L423 AbstractCegarLoop]: === Iteration 19 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:13,944 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:13,944 INFO L82 PathProgramCache]: Analyzing trace with hash -2080039001, now seen corresponding path program 15 times [2018-11-23 12:17:13,944 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:13,944 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:13,945 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:13,945 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:13,945 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:13,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:14,614 INFO L256 TraceCheckUtils]: 0: Hoare triple {8545#true} call ULTIMATE.init(); {8545#true} is VALID [2018-11-23 12:17:14,615 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:14,615 INFO L273 TraceCheckUtils]: 2: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:14,615 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8545#true} {8545#true} #71#return; {8545#true} is VALID [2018-11-23 12:17:14,615 INFO L256 TraceCheckUtils]: 4: Hoare triple {8545#true} call #t~ret14 := main(); {8545#true} is VALID [2018-11-23 12:17:14,616 INFO L273 TraceCheckUtils]: 5: Hoare triple {8545#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:14,616 INFO L273 TraceCheckUtils]: 6: Hoare triple {8547#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:14,617 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:14,617 INFO L273 TraceCheckUtils]: 8: Hoare triple {8548#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:14,618 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:14,618 INFO L273 TraceCheckUtils]: 10: Hoare triple {8549#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:14,619 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:14,619 INFO L273 TraceCheckUtils]: 12: Hoare triple {8550#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:14,619 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:14,620 INFO L273 TraceCheckUtils]: 14: Hoare triple {8551#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:14,621 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:14,621 INFO L273 TraceCheckUtils]: 16: Hoare triple {8552#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:14,622 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:14,622 INFO L273 TraceCheckUtils]: 18: Hoare triple {8553#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:14,623 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:14,624 INFO L273 TraceCheckUtils]: 20: Hoare triple {8554#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:14,625 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:14,625 INFO L273 TraceCheckUtils]: 22: Hoare triple {8555#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:14,626 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:14,626 INFO L273 TraceCheckUtils]: 24: Hoare triple {8556#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:14,627 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:14,628 INFO L273 TraceCheckUtils]: 26: Hoare triple {8557#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -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:14,628 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:14,629 INFO L273 TraceCheckUtils]: 28: Hoare triple {8558#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -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:14,630 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:14,630 INFO L273 TraceCheckUtils]: 30: Hoare triple {8559#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -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:14,631 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:14,632 INFO L273 TraceCheckUtils]: 32: Hoare triple {8560#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -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:14,632 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:14,633 INFO L273 TraceCheckUtils]: 34: Hoare triple {8561#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -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:14,634 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:14,634 INFO L273 TraceCheckUtils]: 36: Hoare triple {8562#(<= main_~i~1 15)} assume !(~i~1 < 40); {8546#false} is VALID [2018-11-23 12:17:14,634 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:14,635 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:14,635 INFO L273 TraceCheckUtils]: 39: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,635 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:14,635 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:14,635 INFO L273 TraceCheckUtils]: 42: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,636 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:14,636 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:14,636 INFO L273 TraceCheckUtils]: 45: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,636 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:14,636 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:14,637 INFO L273 TraceCheckUtils]: 48: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,637 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:14,637 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:14,637 INFO L273 TraceCheckUtils]: 51: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,637 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:14,638 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:14,638 INFO L273 TraceCheckUtils]: 54: Hoare triple {8545#true} assume !(~i~0 < 40); {8545#true} is VALID [2018-11-23 12:17:14,638 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:14,638 INFO L273 TraceCheckUtils]: 56: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:14,638 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {8545#true} {8546#false} #75#return; {8546#false} is VALID [2018-11-23 12:17:14,639 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:14,639 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:14,639 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:14,639 INFO L273 TraceCheckUtils]: 61: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,639 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:14,640 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:14,640 INFO L273 TraceCheckUtils]: 64: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,640 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:14,640 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:14,640 INFO L273 TraceCheckUtils]: 67: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,640 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:14,640 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:14,640 INFO L273 TraceCheckUtils]: 70: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,640 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:14,641 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:14,641 INFO L273 TraceCheckUtils]: 73: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,641 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:14,641 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:14,641 INFO L273 TraceCheckUtils]: 76: Hoare triple {8545#true} assume !(~i~0 < 40); {8545#true} is VALID [2018-11-23 12:17:14,641 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:14,641 INFO L273 TraceCheckUtils]: 78: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:14,641 INFO L268 TraceCheckUtils]: 79: Hoare quadruple {8545#true} {8546#false} #77#return; {8546#false} is VALID [2018-11-23 12:17:14,641 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:14,642 INFO L273 TraceCheckUtils]: 81: Hoare triple {8546#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:14,642 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:14,642 INFO L273 TraceCheckUtils]: 83: Hoare triple {8546#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:14,642 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:14,642 INFO L273 TraceCheckUtils]: 85: Hoare triple {8546#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:14,642 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:14,642 INFO L273 TraceCheckUtils]: 87: Hoare triple {8546#false} assume !(~i~2 < 39); {8546#false} is VALID [2018-11-23 12:17:14,642 INFO L273 TraceCheckUtils]: 88: Hoare triple {8546#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {8546#false} is VALID [2018-11-23 12:17:14,642 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:14,643 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:14,643 INFO L273 TraceCheckUtils]: 91: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,643 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:14,643 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:14,643 INFO L273 TraceCheckUtils]: 94: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,643 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:14,643 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:14,643 INFO L273 TraceCheckUtils]: 97: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,644 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:14,644 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:14,644 INFO L273 TraceCheckUtils]: 100: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,644 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:14,644 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:14,644 INFO L273 TraceCheckUtils]: 103: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,644 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:14,644 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:14,644 INFO L273 TraceCheckUtils]: 106: Hoare triple {8545#true} assume !(~i~0 < 40); {8545#true} is VALID [2018-11-23 12:17:14,645 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:14,645 INFO L273 TraceCheckUtils]: 108: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:14,645 INFO L268 TraceCheckUtils]: 109: Hoare quadruple {8545#true} {8546#false} #79#return; {8546#false} is VALID [2018-11-23 12:17:14,645 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:14,645 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:14,645 INFO L273 TraceCheckUtils]: 112: Hoare triple {8546#false} assume !false; {8546#false} is VALID [2018-11-23 12:17:14,651 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:14,651 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:14,651 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:14,660 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:17:14,708 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2018-11-23 12:17:14,708 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:14,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:14,732 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:14,872 INFO L256 TraceCheckUtils]: 0: Hoare triple {8545#true} call ULTIMATE.init(); {8545#true} is VALID [2018-11-23 12:17:14,872 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:14,872 INFO L273 TraceCheckUtils]: 2: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:14,873 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8545#true} {8545#true} #71#return; {8545#true} is VALID [2018-11-23 12:17:14,873 INFO L256 TraceCheckUtils]: 4: Hoare triple {8545#true} call #t~ret14 := main(); {8545#true} is VALID [2018-11-23 12:17:14,873 INFO L273 TraceCheckUtils]: 5: Hoare triple {8545#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {8545#true} is VALID [2018-11-23 12:17:14,873 INFO L273 TraceCheckUtils]: 6: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,873 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:14,874 INFO L273 TraceCheckUtils]: 8: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,874 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:14,874 INFO L273 TraceCheckUtils]: 10: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,874 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:14,874 INFO L273 TraceCheckUtils]: 12: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,874 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:14,874 INFO L273 TraceCheckUtils]: 14: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,874 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:14,875 INFO L273 TraceCheckUtils]: 16: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,875 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:14,875 INFO L273 TraceCheckUtils]: 18: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,875 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:14,875 INFO L273 TraceCheckUtils]: 20: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,875 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:14,875 INFO L273 TraceCheckUtils]: 22: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,875 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:14,875 INFO L273 TraceCheckUtils]: 24: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,876 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:14,876 INFO L273 TraceCheckUtils]: 26: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,876 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:14,876 INFO L273 TraceCheckUtils]: 28: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,876 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:14,876 INFO L273 TraceCheckUtils]: 30: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,876 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:14,876 INFO L273 TraceCheckUtils]: 32: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,877 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:14,877 INFO L273 TraceCheckUtils]: 34: Hoare triple {8545#true} assume !!(~i~1 < 40);assume -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:14,877 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:14,877 INFO L273 TraceCheckUtils]: 36: Hoare triple {8545#true} assume !(~i~1 < 40); {8545#true} is VALID [2018-11-23 12:17:14,877 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:14,877 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:14,877 INFO L273 TraceCheckUtils]: 39: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,877 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:14,877 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:14,878 INFO L273 TraceCheckUtils]: 42: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,878 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:14,878 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:14,878 INFO L273 TraceCheckUtils]: 45: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,878 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:14,878 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:14,878 INFO L273 TraceCheckUtils]: 48: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,878 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:14,878 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:14,879 INFO L273 TraceCheckUtils]: 51: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,879 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:14,879 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:14,879 INFO L273 TraceCheckUtils]: 54: Hoare triple {8545#true} assume !(~i~0 < 40); {8545#true} is VALID [2018-11-23 12:17:14,879 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:14,879 INFO L273 TraceCheckUtils]: 56: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:14,879 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {8545#true} {8545#true} #75#return; {8545#true} is VALID [2018-11-23 12:17:14,879 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:14,879 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:14,880 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:14,880 INFO L273 TraceCheckUtils]: 61: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,880 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:14,880 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:14,880 INFO L273 TraceCheckUtils]: 64: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,880 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:14,880 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:14,880 INFO L273 TraceCheckUtils]: 67: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,881 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:14,881 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:14,881 INFO L273 TraceCheckUtils]: 70: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,881 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:14,881 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:14,881 INFO L273 TraceCheckUtils]: 73: Hoare triple {8545#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8545#true} is VALID [2018-11-23 12:17:14,881 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:14,881 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:14,881 INFO L273 TraceCheckUtils]: 76: Hoare triple {8545#true} assume !(~i~0 < 40); {8545#true} is VALID [2018-11-23 12:17:14,882 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:14,882 INFO L273 TraceCheckUtils]: 78: Hoare triple {8545#true} assume true; {8545#true} is VALID [2018-11-23 12:17:14,882 INFO L268 TraceCheckUtils]: 79: Hoare quadruple {8545#true} {8545#true} #77#return; {8545#true} is VALID [2018-11-23 12:17:14,882 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:14,883 INFO L273 TraceCheckUtils]: 81: Hoare triple {8806#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:14,883 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:14,884 INFO L273 TraceCheckUtils]: 83: Hoare triple {8813#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:14,884 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:14,884 INFO L273 TraceCheckUtils]: 85: Hoare triple {8820#(<= main_~i~2 2)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:14,885 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:14,885 INFO L273 TraceCheckUtils]: 87: Hoare triple {8827#(<= main_~i~2 3)} assume !(~i~2 < 39); {8546#false} is VALID [2018-11-23 12:17:14,886 INFO L273 TraceCheckUtils]: 88: Hoare triple {8546#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {8546#false} is VALID [2018-11-23 12:17:14,886 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:14,886 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:14,886 INFO L273 TraceCheckUtils]: 91: Hoare triple {8546#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8546#false} is VALID [2018-11-23 12:17:14,887 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:14,887 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:14,887 INFO L273 TraceCheckUtils]: 94: Hoare triple {8546#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8546#false} is VALID [2018-11-23 12:17:14,887 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:14,887 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:14,887 INFO L273 TraceCheckUtils]: 97: Hoare triple {8546#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8546#false} is VALID [2018-11-23 12:17:14,888 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:14,888 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:14,888 INFO L273 TraceCheckUtils]: 100: Hoare triple {8546#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8546#false} is VALID [2018-11-23 12:17:14,888 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:14,888 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:14,889 INFO L273 TraceCheckUtils]: 103: Hoare triple {8546#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8546#false} is VALID [2018-11-23 12:17:14,889 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:14,889 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:14,889 INFO L273 TraceCheckUtils]: 106: Hoare triple {8546#false} assume !(~i~0 < 40); {8546#false} is VALID [2018-11-23 12:17:14,889 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:14,890 INFO L273 TraceCheckUtils]: 108: Hoare triple {8546#false} assume true; {8546#false} is VALID [2018-11-23 12:17:14,890 INFO L268 TraceCheckUtils]: 109: Hoare quadruple {8546#false} {8546#false} #79#return; {8546#false} is VALID [2018-11-23 12:17:14,890 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:14,890 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:14,890 INFO L273 TraceCheckUtils]: 112: Hoare triple {8546#false} assume !false; {8546#false} is VALID [2018-11-23 12:17:14,895 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:14,914 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:14,914 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 6] total 22 [2018-11-23 12:17:14,915 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 113 [2018-11-23 12:17:14,915 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:14,915 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 12:17:15,026 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:15,026 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 12:17:15,027 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 12:17:15,027 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=167, Invalid=295, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:17:15,028 INFO L87 Difference]: Start difference. First operand 74 states and 83 transitions. Second operand 22 states. [2018-11-23 12:17:15,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:15,808 INFO L93 Difference]: Finished difference Result 117 states and 136 transitions. [2018-11-23 12:17:15,808 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 12:17:15,808 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 113 [2018-11-23 12:17:15,808 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:15,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:17:15,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 97 transitions. [2018-11-23 12:17:15,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:17:15,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 97 transitions. [2018-11-23 12:17:15,811 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 97 transitions. [2018-11-23 12:17:15,911 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:15,913 INFO L225 Difference]: With dead ends: 117 [2018-11-23 12:17:15,913 INFO L226 Difference]: Without dead ends: 80 [2018-11-23 12:17:15,913 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 110 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=167, Invalid=295, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:17:15,914 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2018-11-23 12:17:15,951 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 78. [2018-11-23 12:17:15,952 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:15,952 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 78 states. [2018-11-23 12:17:15,952 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 78 states. [2018-11-23 12:17:15,952 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 78 states. [2018-11-23 12:17:15,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:15,954 INFO L93 Difference]: Finished difference Result 80 states and 89 transitions. [2018-11-23 12:17:15,955 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 89 transitions. [2018-11-23 12:17:15,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:15,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:15,955 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 80 states. [2018-11-23 12:17:15,956 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 80 states. [2018-11-23 12:17:15,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:15,957 INFO L93 Difference]: Finished difference Result 80 states and 89 transitions. [2018-11-23 12:17:15,958 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 89 transitions. [2018-11-23 12:17:15,958 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:15,958 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:15,958 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:15,958 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:15,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2018-11-23 12:17:15,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 87 transitions. [2018-11-23 12:17:15,960 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 87 transitions. Word has length 113 [2018-11-23 12:17:15,960 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:15,961 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 87 transitions. [2018-11-23 12:17:15,961 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 12:17:15,961 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 87 transitions. [2018-11-23 12:17:15,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 118 [2018-11-23 12:17:15,962 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:15,962 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:15,962 INFO L423 AbstractCegarLoop]: === Iteration 20 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:15,962 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:15,962 INFO L82 PathProgramCache]: Analyzing trace with hash -901827641, now seen corresponding path program 16 times [2018-11-23 12:17:15,963 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:15,963 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:15,963 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:15,964 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:15,964 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:15,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:16,371 INFO L256 TraceCheckUtils]: 0: Hoare triple {9346#true} call ULTIMATE.init(); {9346#true} is VALID [2018-11-23 12:17:16,372 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:16,372 INFO L273 TraceCheckUtils]: 2: Hoare triple {9346#true} assume true; {9346#true} is VALID [2018-11-23 12:17:16,372 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9346#true} {9346#true} #71#return; {9346#true} is VALID [2018-11-23 12:17:16,373 INFO L256 TraceCheckUtils]: 4: Hoare triple {9346#true} call #t~ret14 := main(); {9346#true} is VALID [2018-11-23 12:17:16,373 INFO L273 TraceCheckUtils]: 5: Hoare triple {9346#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:16,374 INFO L273 TraceCheckUtils]: 6: Hoare triple {9348#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:16,374 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:16,375 INFO L273 TraceCheckUtils]: 8: Hoare triple {9349#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:16,375 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:16,376 INFO L273 TraceCheckUtils]: 10: Hoare triple {9350#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:16,376 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:16,376 INFO L273 TraceCheckUtils]: 12: Hoare triple {9351#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:16,377 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:16,377 INFO L273 TraceCheckUtils]: 14: Hoare triple {9352#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:16,378 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:16,379 INFO L273 TraceCheckUtils]: 16: Hoare triple {9353#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:16,380 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:16,380 INFO L273 TraceCheckUtils]: 18: Hoare triple {9354#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:16,381 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:16,381 INFO L273 TraceCheckUtils]: 20: Hoare triple {9355#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:16,382 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:16,383 INFO L273 TraceCheckUtils]: 22: Hoare triple {9356#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:16,383 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:16,384 INFO L273 TraceCheckUtils]: 24: Hoare triple {9357#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:16,385 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:16,385 INFO L273 TraceCheckUtils]: 26: Hoare triple {9358#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -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:16,386 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:16,387 INFO L273 TraceCheckUtils]: 28: Hoare triple {9359#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -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:16,387 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:16,388 INFO L273 TraceCheckUtils]: 30: Hoare triple {9360#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -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:16,389 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:16,389 INFO L273 TraceCheckUtils]: 32: Hoare triple {9361#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -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:16,390 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:16,390 INFO L273 TraceCheckUtils]: 34: Hoare triple {9362#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -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:16,391 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:16,392 INFO L273 TraceCheckUtils]: 36: Hoare triple {9363#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -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:16,393 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:16,393 INFO L273 TraceCheckUtils]: 38: Hoare triple {9364#(<= main_~i~1 16)} assume !(~i~1 < 40); {9347#false} is VALID [2018-11-23 12:17:16,393 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:16,394 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:16,394 INFO L273 TraceCheckUtils]: 41: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,394 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:16,394 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:16,394 INFO L273 TraceCheckUtils]: 44: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,395 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:16,395 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:16,395 INFO L273 TraceCheckUtils]: 47: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,395 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:16,396 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:16,396 INFO L273 TraceCheckUtils]: 50: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,396 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:16,396 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:16,396 INFO L273 TraceCheckUtils]: 53: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,396 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:16,397 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:16,397 INFO L273 TraceCheckUtils]: 56: Hoare triple {9346#true} assume !(~i~0 < 40); {9346#true} is VALID [2018-11-23 12:17:16,397 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:16,397 INFO L273 TraceCheckUtils]: 58: Hoare triple {9346#true} assume true; {9346#true} is VALID [2018-11-23 12:17:16,397 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {9346#true} {9347#false} #75#return; {9347#false} is VALID [2018-11-23 12:17:16,398 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:16,398 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:16,398 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:16,399 INFO L273 TraceCheckUtils]: 63: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,399 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:16,399 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:16,399 INFO L273 TraceCheckUtils]: 66: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,399 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:16,400 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:16,400 INFO L273 TraceCheckUtils]: 69: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,400 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:16,400 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:16,400 INFO L273 TraceCheckUtils]: 72: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,400 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:16,401 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:16,401 INFO L273 TraceCheckUtils]: 75: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,401 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:16,401 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:16,401 INFO L273 TraceCheckUtils]: 78: Hoare triple {9346#true} assume !(~i~0 < 40); {9346#true} is VALID [2018-11-23 12:17:16,402 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:16,402 INFO L273 TraceCheckUtils]: 80: Hoare triple {9346#true} assume true; {9346#true} is VALID [2018-11-23 12:17:16,402 INFO L268 TraceCheckUtils]: 81: Hoare quadruple {9346#true} {9347#false} #77#return; {9347#false} is VALID [2018-11-23 12:17:16,402 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:16,402 INFO L273 TraceCheckUtils]: 83: Hoare triple {9347#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:16,402 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:16,403 INFO L273 TraceCheckUtils]: 85: Hoare triple {9347#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:16,403 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:16,403 INFO L273 TraceCheckUtils]: 87: Hoare triple {9347#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:16,403 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:16,403 INFO L273 TraceCheckUtils]: 89: Hoare triple {9347#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:16,403 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:16,404 INFO L273 TraceCheckUtils]: 91: Hoare triple {9347#false} assume !(~i~2 < 39); {9347#false} is VALID [2018-11-23 12:17:16,404 INFO L273 TraceCheckUtils]: 92: Hoare triple {9347#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {9347#false} is VALID [2018-11-23 12:17:16,404 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:16,404 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:16,404 INFO L273 TraceCheckUtils]: 95: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,404 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:16,405 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:16,405 INFO L273 TraceCheckUtils]: 98: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,405 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:16,405 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:16,405 INFO L273 TraceCheckUtils]: 101: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,405 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:16,406 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:16,406 INFO L273 TraceCheckUtils]: 104: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,406 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:16,406 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:16,406 INFO L273 TraceCheckUtils]: 107: Hoare triple {9346#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9346#true} is VALID [2018-11-23 12:17:16,406 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:16,407 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:16,407 INFO L273 TraceCheckUtils]: 110: Hoare triple {9346#true} assume !(~i~0 < 40); {9346#true} is VALID [2018-11-23 12:17:16,407 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:16,407 INFO L273 TraceCheckUtils]: 112: Hoare triple {9346#true} assume true; {9346#true} is VALID [2018-11-23 12:17:16,407 INFO L268 TraceCheckUtils]: 113: Hoare quadruple {9346#true} {9347#false} #79#return; {9347#false} is VALID [2018-11-23 12:17:16,407 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:16,408 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:16,408 INFO L273 TraceCheckUtils]: 116: Hoare triple {9347#false} assume !false; {9347#false} is VALID [2018-11-23 12:17:16,416 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:16,416 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:16,416 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:16,432 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:17:16,505 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:17:16,505 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:16,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:16,531 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:16,754 INFO L256 TraceCheckUtils]: 0: Hoare triple {9346#true} call ULTIMATE.init(); {9346#true} is VALID [2018-11-23 12:17:16,754 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:16,754 INFO L273 TraceCheckUtils]: 2: Hoare triple {9346#true} assume true; {9346#true} is VALID [2018-11-23 12:17:16,755 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9346#true} {9346#true} #71#return; {9346#true} is VALID [2018-11-23 12:17:16,755 INFO L256 TraceCheckUtils]: 4: Hoare triple {9346#true} call #t~ret14 := main(); {9346#true} is VALID [2018-11-23 12:17:16,756 INFO L273 TraceCheckUtils]: 5: Hoare triple {9346#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:16,756 INFO L273 TraceCheckUtils]: 6: Hoare triple {9383#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:16,757 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:16,757 INFO L273 TraceCheckUtils]: 8: Hoare triple {9349#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:16,757 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:16,758 INFO L273 TraceCheckUtils]: 10: Hoare triple {9350#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:16,758 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:16,759 INFO L273 TraceCheckUtils]: 12: Hoare triple {9351#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:16,759 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:16,760 INFO L273 TraceCheckUtils]: 14: Hoare triple {9352#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:16,761 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:16,761 INFO L273 TraceCheckUtils]: 16: Hoare triple {9353#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:16,762 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:16,763 INFO L273 TraceCheckUtils]: 18: Hoare triple {9354#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:16,763 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:16,764 INFO L273 TraceCheckUtils]: 20: Hoare triple {9355#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:16,765 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:16,765 INFO L273 TraceCheckUtils]: 22: Hoare triple {9356#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:16,766 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:16,766 INFO L273 TraceCheckUtils]: 24: Hoare triple {9357#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:16,767 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:16,768 INFO L273 TraceCheckUtils]: 26: Hoare triple {9358#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -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:16,769 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:16,769 INFO L273 TraceCheckUtils]: 28: Hoare triple {9359#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -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:16,770 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:16,770 INFO L273 TraceCheckUtils]: 30: Hoare triple {9360#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -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:16,771 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:16,772 INFO L273 TraceCheckUtils]: 32: Hoare triple {9361#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -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:16,772 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:16,773 INFO L273 TraceCheckUtils]: 34: Hoare triple {9362#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -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:16,774 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:16,774 INFO L273 TraceCheckUtils]: 36: Hoare triple {9363#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -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:16,775 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:16,776 INFO L273 TraceCheckUtils]: 38: Hoare triple {9364#(<= main_~i~1 16)} assume !(~i~1 < 40); {9347#false} is VALID [2018-11-23 12:17:16,776 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:16,776 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:16,776 INFO L273 TraceCheckUtils]: 41: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,777 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:16,777 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:16,777 INFO L273 TraceCheckUtils]: 44: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,777 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:16,777 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:16,778 INFO L273 TraceCheckUtils]: 47: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,778 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:16,778 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:16,778 INFO L273 TraceCheckUtils]: 50: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,778 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:16,779 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:16,779 INFO L273 TraceCheckUtils]: 53: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,779 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:16,779 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:16,779 INFO L273 TraceCheckUtils]: 56: Hoare triple {9347#false} assume !(~i~0 < 40); {9347#false} is VALID [2018-11-23 12:17:16,779 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:16,779 INFO L273 TraceCheckUtils]: 58: Hoare triple {9347#false} assume true; {9347#false} is VALID [2018-11-23 12:17:16,779 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {9347#false} {9347#false} #75#return; {9347#false} is VALID [2018-11-23 12:17:16,779 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:16,780 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:16,780 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:16,780 INFO L273 TraceCheckUtils]: 63: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,780 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:16,780 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:16,780 INFO L273 TraceCheckUtils]: 66: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,780 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:16,781 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:16,781 INFO L273 TraceCheckUtils]: 69: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,781 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:16,781 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:16,781 INFO L273 TraceCheckUtils]: 72: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,781 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:16,781 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:16,782 INFO L273 TraceCheckUtils]: 75: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,782 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:16,782 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:16,782 INFO L273 TraceCheckUtils]: 78: Hoare triple {9347#false} assume !(~i~0 < 40); {9347#false} is VALID [2018-11-23 12:17:16,782 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:16,783 INFO L273 TraceCheckUtils]: 80: Hoare triple {9347#false} assume true; {9347#false} is VALID [2018-11-23 12:17:16,783 INFO L268 TraceCheckUtils]: 81: Hoare quadruple {9347#false} {9347#false} #77#return; {9347#false} is VALID [2018-11-23 12:17:16,783 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:16,783 INFO L273 TraceCheckUtils]: 83: Hoare triple {9347#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:16,783 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:16,783 INFO L273 TraceCheckUtils]: 85: Hoare triple {9347#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:16,784 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:16,784 INFO L273 TraceCheckUtils]: 87: Hoare triple {9347#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:16,784 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:16,784 INFO L273 TraceCheckUtils]: 89: Hoare triple {9347#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:16,784 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:16,784 INFO L273 TraceCheckUtils]: 91: Hoare triple {9347#false} assume !(~i~2 < 39); {9347#false} is VALID [2018-11-23 12:17:16,785 INFO L273 TraceCheckUtils]: 92: Hoare triple {9347#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {9347#false} is VALID [2018-11-23 12:17:16,785 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:16,785 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:16,785 INFO L273 TraceCheckUtils]: 95: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,785 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:16,785 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:16,785 INFO L273 TraceCheckUtils]: 98: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,786 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:16,786 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:16,786 INFO L273 TraceCheckUtils]: 101: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,786 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:16,786 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:16,786 INFO L273 TraceCheckUtils]: 104: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,786 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:16,786 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:16,786 INFO L273 TraceCheckUtils]: 107: Hoare triple {9347#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9347#false} is VALID [2018-11-23 12:17:16,787 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:16,787 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:16,787 INFO L273 TraceCheckUtils]: 110: Hoare triple {9347#false} assume !(~i~0 < 40); {9347#false} is VALID [2018-11-23 12:17:16,787 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:16,787 INFO L273 TraceCheckUtils]: 112: Hoare triple {9347#false} assume true; {9347#false} is VALID [2018-11-23 12:17:16,787 INFO L268 TraceCheckUtils]: 113: Hoare quadruple {9347#false} {9347#false} #79#return; {9347#false} is VALID [2018-11-23 12:17:16,787 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:16,787 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:16,787 INFO L273 TraceCheckUtils]: 116: Hoare triple {9347#false} assume !false; {9347#false} is VALID [2018-11-23 12:17:16,794 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:16,813 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:16,813 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 20 [2018-11-23 12:17:16,814 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 117 [2018-11-23 12:17:16,814 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:16,814 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 12:17:16,889 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:16,889 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 12:17:16,889 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 12:17:16,889 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:17:16,890 INFO L87 Difference]: Start difference. First operand 78 states and 87 transitions. Second operand 20 states. [2018-11-23 12:17:18,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:18,017 INFO L93 Difference]: Finished difference Result 120 states and 138 transitions. [2018-11-23 12:17:18,017 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 12:17:18,017 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 117 [2018-11-23 12:17:18,018 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:18,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:17:18,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 90 transitions. [2018-11-23 12:17:18,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:17:18,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 90 transitions. [2018-11-23 12:17:18,020 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 90 transitions. [2018-11-23 12:17:18,169 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:18,170 INFO L225 Difference]: With dead ends: 120 [2018-11-23 12:17:18,173 INFO L226 Difference]: Without dead ends: 81 [2018-11-23 12:17:18,173 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 117 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:17:18,174 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-23 12:17:18,197 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 80. [2018-11-23 12:17:18,197 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:18,197 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 80 states. [2018-11-23 12:17:18,197 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 80 states. [2018-11-23 12:17:18,197 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 80 states. [2018-11-23 12:17:18,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:18,199 INFO L93 Difference]: Finished difference Result 81 states and 90 transitions. [2018-11-23 12:17:18,199 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 90 transitions. [2018-11-23 12:17:18,199 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:18,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:18,199 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 81 states. [2018-11-23 12:17:18,200 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 81 states. [2018-11-23 12:17:18,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:18,201 INFO L93 Difference]: Finished difference Result 81 states and 90 transitions. [2018-11-23 12:17:18,201 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 90 transitions. [2018-11-23 12:17:18,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:18,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:18,201 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:18,202 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:18,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 80 states. [2018-11-23 12:17:18,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 89 transitions. [2018-11-23 12:17:18,203 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 89 transitions. Word has length 117 [2018-11-23 12:17:18,203 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:18,203 INFO L480 AbstractCegarLoop]: Abstraction has 80 states and 89 transitions. [2018-11-23 12:17:18,203 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 12:17:18,204 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 89 transitions. [2018-11-23 12:17:18,204 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 120 [2018-11-23 12:17:18,204 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:18,204 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:18,204 INFO L423 AbstractCegarLoop]: === Iteration 21 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:18,205 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:18,205 INFO L82 PathProgramCache]: Analyzing trace with hash -1032150683, now seen corresponding path program 17 times [2018-11-23 12:17:18,205 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:18,205 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:18,206 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:18,206 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:18,206 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:18,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:19,016 INFO L256 TraceCheckUtils]: 0: Hoare triple {10167#true} call ULTIMATE.init(); {10167#true} is VALID [2018-11-23 12:17:19,016 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:19,016 INFO L273 TraceCheckUtils]: 2: Hoare triple {10167#true} assume true; {10167#true} is VALID [2018-11-23 12:17:19,016 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10167#true} {10167#true} #71#return; {10167#true} is VALID [2018-11-23 12:17:19,016 INFO L256 TraceCheckUtils]: 4: Hoare triple {10167#true} call #t~ret14 := main(); {10167#true} is VALID [2018-11-23 12:17:19,017 INFO L273 TraceCheckUtils]: 5: Hoare triple {10167#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:19,017 INFO L273 TraceCheckUtils]: 6: Hoare triple {10169#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:19,018 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:19,018 INFO L273 TraceCheckUtils]: 8: Hoare triple {10170#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:19,018 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:19,019 INFO L273 TraceCheckUtils]: 10: Hoare triple {10171#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:19,019 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:19,019 INFO L273 TraceCheckUtils]: 12: Hoare triple {10172#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:19,020 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:19,020 INFO L273 TraceCheckUtils]: 14: Hoare triple {10173#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:19,021 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:19,022 INFO L273 TraceCheckUtils]: 16: Hoare triple {10174#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:19,023 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:19,023 INFO L273 TraceCheckUtils]: 18: Hoare triple {10175#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:19,024 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:19,024 INFO L273 TraceCheckUtils]: 20: Hoare triple {10176#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:19,025 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:19,026 INFO L273 TraceCheckUtils]: 22: Hoare triple {10177#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:19,026 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:19,027 INFO L273 TraceCheckUtils]: 24: Hoare triple {10178#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:19,028 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:19,028 INFO L273 TraceCheckUtils]: 26: Hoare triple {10179#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -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:19,029 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:19,029 INFO L273 TraceCheckUtils]: 28: Hoare triple {10180#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -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:19,030 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:19,031 INFO L273 TraceCheckUtils]: 30: Hoare triple {10181#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -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:19,032 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:19,032 INFO L273 TraceCheckUtils]: 32: Hoare triple {10182#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -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:19,033 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:19,033 INFO L273 TraceCheckUtils]: 34: Hoare triple {10183#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -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:19,034 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:19,035 INFO L273 TraceCheckUtils]: 36: Hoare triple {10184#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -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:19,035 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:19,036 INFO L273 TraceCheckUtils]: 38: Hoare triple {10185#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -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:19,037 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:19,037 INFO L273 TraceCheckUtils]: 40: Hoare triple {10186#(<= main_~i~1 17)} assume !(~i~1 < 40); {10168#false} is VALID [2018-11-23 12:17:19,038 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:19,038 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:19,038 INFO L273 TraceCheckUtils]: 43: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,038 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:19,038 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:19,039 INFO L273 TraceCheckUtils]: 46: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,039 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:19,039 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:19,039 INFO L273 TraceCheckUtils]: 49: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,039 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:19,040 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:19,040 INFO L273 TraceCheckUtils]: 52: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,040 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:19,040 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:19,040 INFO L273 TraceCheckUtils]: 55: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,041 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:19,041 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:19,041 INFO L273 TraceCheckUtils]: 58: Hoare triple {10167#true} assume !(~i~0 < 40); {10167#true} is VALID [2018-11-23 12:17:19,041 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:19,041 INFO L273 TraceCheckUtils]: 60: Hoare triple {10167#true} assume true; {10167#true} is VALID [2018-11-23 12:17:19,042 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {10167#true} {10168#false} #75#return; {10168#false} is VALID [2018-11-23 12:17:19,042 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:19,042 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:19,042 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:19,042 INFO L273 TraceCheckUtils]: 65: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,043 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:19,043 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:19,043 INFO L273 TraceCheckUtils]: 68: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,043 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:19,043 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:19,043 INFO L273 TraceCheckUtils]: 71: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,043 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:19,043 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:19,044 INFO L273 TraceCheckUtils]: 74: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,044 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:19,044 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:19,044 INFO L273 TraceCheckUtils]: 77: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,044 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:19,044 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:19,044 INFO L273 TraceCheckUtils]: 80: Hoare triple {10167#true} assume !(~i~0 < 40); {10167#true} is VALID [2018-11-23 12:17:19,044 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:19,044 INFO L273 TraceCheckUtils]: 82: Hoare triple {10167#true} assume true; {10167#true} is VALID [2018-11-23 12:17:19,045 INFO L268 TraceCheckUtils]: 83: Hoare quadruple {10167#true} {10168#false} #77#return; {10168#false} is VALID [2018-11-23 12:17:19,045 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:19,045 INFO L273 TraceCheckUtils]: 85: Hoare triple {10168#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:19,045 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:19,045 INFO L273 TraceCheckUtils]: 87: Hoare triple {10168#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:19,045 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:19,045 INFO L273 TraceCheckUtils]: 89: Hoare triple {10168#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:19,045 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:19,045 INFO L273 TraceCheckUtils]: 91: Hoare triple {10168#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:19,046 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:19,046 INFO L273 TraceCheckUtils]: 93: Hoare triple {10168#false} assume !(~i~2 < 39); {10168#false} is VALID [2018-11-23 12:17:19,046 INFO L273 TraceCheckUtils]: 94: Hoare triple {10168#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {10168#false} is VALID [2018-11-23 12:17:19,046 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:19,046 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:19,046 INFO L273 TraceCheckUtils]: 97: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,046 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:19,046 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:19,047 INFO L273 TraceCheckUtils]: 100: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,047 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:19,047 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:19,047 INFO L273 TraceCheckUtils]: 103: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,047 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:19,047 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:19,047 INFO L273 TraceCheckUtils]: 106: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,047 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:19,047 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:19,048 INFO L273 TraceCheckUtils]: 109: Hoare triple {10167#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10167#true} is VALID [2018-11-23 12:17:19,048 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:19,048 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:19,048 INFO L273 TraceCheckUtils]: 112: Hoare triple {10167#true} assume !(~i~0 < 40); {10167#true} is VALID [2018-11-23 12:17:19,048 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:19,048 INFO L273 TraceCheckUtils]: 114: Hoare triple {10167#true} assume true; {10167#true} is VALID [2018-11-23 12:17:19,048 INFO L268 TraceCheckUtils]: 115: Hoare quadruple {10167#true} {10168#false} #79#return; {10168#false} is VALID [2018-11-23 12:17:19,048 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:19,049 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:19,049 INFO L273 TraceCheckUtils]: 118: Hoare triple {10168#false} assume !false; {10168#false} is VALID [2018-11-23 12:17:19,055 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:19,055 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:19,055 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:19,064 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:17:21,078 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 17 check-sat command(s) [2018-11-23 12:17:21,078 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:21,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:21,105 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:21,320 INFO L256 TraceCheckUtils]: 0: Hoare triple {10167#true} call ULTIMATE.init(); {10167#true} is VALID [2018-11-23 12:17:21,320 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:21,320 INFO L273 TraceCheckUtils]: 2: Hoare triple {10167#true} assume true; {10167#true} is VALID [2018-11-23 12:17:21,320 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10167#true} {10167#true} #71#return; {10167#true} is VALID [2018-11-23 12:17:21,321 INFO L256 TraceCheckUtils]: 4: Hoare triple {10167#true} call #t~ret14 := main(); {10167#true} is VALID [2018-11-23 12:17:21,321 INFO L273 TraceCheckUtils]: 5: Hoare triple {10167#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {10167#true} is VALID [2018-11-23 12:17:21,321 INFO L273 TraceCheckUtils]: 6: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,321 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:21,321 INFO L273 TraceCheckUtils]: 8: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,322 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:21,322 INFO L273 TraceCheckUtils]: 10: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,322 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:21,322 INFO L273 TraceCheckUtils]: 12: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,323 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:21,323 INFO L273 TraceCheckUtils]: 14: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,323 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:21,323 INFO L273 TraceCheckUtils]: 16: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,323 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:21,323 INFO L273 TraceCheckUtils]: 18: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,323 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:21,324 INFO L273 TraceCheckUtils]: 20: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,324 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:21,324 INFO L273 TraceCheckUtils]: 22: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,324 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:21,324 INFO L273 TraceCheckUtils]: 24: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,324 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:21,324 INFO L273 TraceCheckUtils]: 26: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,324 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:21,324 INFO L273 TraceCheckUtils]: 28: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,325 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:21,325 INFO L273 TraceCheckUtils]: 30: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,325 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:21,325 INFO L273 TraceCheckUtils]: 32: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,325 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:21,325 INFO L273 TraceCheckUtils]: 34: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,325 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:21,325 INFO L273 TraceCheckUtils]: 36: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,325 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:21,326 INFO L273 TraceCheckUtils]: 38: Hoare triple {10167#true} assume !!(~i~1 < 40);assume -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:21,326 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:21,326 INFO L273 TraceCheckUtils]: 40: Hoare triple {10167#true} assume !(~i~1 < 40); {10167#true} is VALID [2018-11-23 12:17:21,326 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:21,326 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:21,327 INFO L273 TraceCheckUtils]: 43: Hoare triple {10316#(<= sep_~i~0 0)} assume !!(~i~0 < 40);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:21,327 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:21,328 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:21,328 INFO L273 TraceCheckUtils]: 46: Hoare triple {10326#(<= sep_~i~0 1)} assume !!(~i~0 < 40);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:21,328 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:21,329 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:21,329 INFO L273 TraceCheckUtils]: 49: Hoare triple {10336#(<= sep_~i~0 2)} assume !!(~i~0 < 40);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:21,329 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:21,330 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:21,330 INFO L273 TraceCheckUtils]: 52: Hoare triple {10346#(<= sep_~i~0 3)} assume !!(~i~0 < 40);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:21,331 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:21,331 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:21,332 INFO L273 TraceCheckUtils]: 55: Hoare triple {10356#(<= sep_~i~0 4)} assume !!(~i~0 < 40);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:21,332 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:21,333 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:21,334 INFO L273 TraceCheckUtils]: 58: Hoare triple {10366#(<= sep_~i~0 5)} assume !(~i~0 < 40); {10168#false} is VALID [2018-11-23 12:17:21,334 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:21,334 INFO L273 TraceCheckUtils]: 60: Hoare triple {10168#false} assume true; {10168#false} is VALID [2018-11-23 12:17:21,335 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {10168#false} {10167#true} #75#return; {10168#false} is VALID [2018-11-23 12:17:21,335 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:21,335 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:21,335 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:21,335 INFO L273 TraceCheckUtils]: 65: Hoare triple {10168#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:21,336 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:21,336 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:21,336 INFO L273 TraceCheckUtils]: 68: Hoare triple {10168#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:21,336 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:21,336 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:21,336 INFO L273 TraceCheckUtils]: 71: Hoare triple {10168#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:21,336 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:21,337 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:21,337 INFO L273 TraceCheckUtils]: 74: Hoare triple {10168#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:21,337 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:21,337 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:21,337 INFO L273 TraceCheckUtils]: 77: Hoare triple {10168#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:21,337 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:21,337 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:21,337 INFO L273 TraceCheckUtils]: 80: Hoare triple {10168#false} assume !(~i~0 < 40); {10168#false} is VALID [2018-11-23 12:17:21,337 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:21,338 INFO L273 TraceCheckUtils]: 82: Hoare triple {10168#false} assume true; {10168#false} is VALID [2018-11-23 12:17:21,338 INFO L268 TraceCheckUtils]: 83: Hoare quadruple {10168#false} {10168#false} #77#return; {10168#false} is VALID [2018-11-23 12:17:21,338 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:21,338 INFO L273 TraceCheckUtils]: 85: Hoare triple {10168#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:21,338 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:21,338 INFO L273 TraceCheckUtils]: 87: Hoare triple {10168#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:21,338 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:21,338 INFO L273 TraceCheckUtils]: 89: Hoare triple {10168#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:21,339 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:21,339 INFO L273 TraceCheckUtils]: 91: Hoare triple {10168#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:21,339 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:21,339 INFO L273 TraceCheckUtils]: 93: Hoare triple {10168#false} assume !(~i~2 < 39); {10168#false} is VALID [2018-11-23 12:17:21,339 INFO L273 TraceCheckUtils]: 94: Hoare triple {10168#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {10168#false} is VALID [2018-11-23 12:17:21,339 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:21,339 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:21,339 INFO L273 TraceCheckUtils]: 97: Hoare triple {10168#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:21,339 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:21,340 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:21,340 INFO L273 TraceCheckUtils]: 100: Hoare triple {10168#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:21,340 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:21,340 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:21,340 INFO L273 TraceCheckUtils]: 103: Hoare triple {10168#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:21,340 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:21,340 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:21,340 INFO L273 TraceCheckUtils]: 106: Hoare triple {10168#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:21,340 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:21,341 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:21,341 INFO L273 TraceCheckUtils]: 109: Hoare triple {10168#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10168#false} is VALID [2018-11-23 12:17:21,341 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:21,341 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:21,341 INFO L273 TraceCheckUtils]: 112: Hoare triple {10168#false} assume !(~i~0 < 40); {10168#false} is VALID [2018-11-23 12:17:21,341 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:21,341 INFO L273 TraceCheckUtils]: 114: Hoare triple {10168#false} assume true; {10168#false} is VALID [2018-11-23 12:17:21,341 INFO L268 TraceCheckUtils]: 115: Hoare quadruple {10168#false} {10168#false} #79#return; {10168#false} is VALID [2018-11-23 12:17:21,342 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:21,342 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:21,342 INFO L273 TraceCheckUtils]: 118: Hoare triple {10168#false} assume !false; {10168#false} is VALID [2018-11-23 12:17:21,347 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:21,368 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:21,368 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 8] total 26 [2018-11-23 12:17:21,369 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 119 [2018-11-23 12:17:21,369 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:21,369 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-23 12:17:21,465 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:21,465 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 12:17:21,465 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 12:17:21,466 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=217, Invalid=433, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:17:21,466 INFO L87 Difference]: Start difference. First operand 80 states and 89 transitions. Second operand 26 states. [2018-11-23 12:17:22,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:22,690 INFO L93 Difference]: Finished difference Result 127 states and 151 transitions. [2018-11-23 12:17:22,691 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2018-11-23 12:17:22,691 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 119 [2018-11-23 12:17:22,691 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:22,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:17:22,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 120 transitions. [2018-11-23 12:17:22,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:17:22,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 120 transitions. [2018-11-23 12:17:22,693 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 120 transitions. [2018-11-23 12:17:22,833 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:22,835 INFO L225 Difference]: With dead ends: 127 [2018-11-23 12:17:22,835 INFO L226 Difference]: Without dead ends: 88 [2018-11-23 12:17:22,836 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 114 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=217, Invalid=433, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:17:22,837 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2018-11-23 12:17:22,889 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 85. [2018-11-23 12:17:22,889 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:22,889 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand 85 states. [2018-11-23 12:17:22,889 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand 85 states. [2018-11-23 12:17:22,889 INFO L87 Difference]: Start difference. First operand 88 states. Second operand 85 states. [2018-11-23 12:17:22,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:22,892 INFO L93 Difference]: Finished difference Result 88 states and 99 transitions. [2018-11-23 12:17:22,892 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 99 transitions. [2018-11-23 12:17:22,892 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:22,893 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:22,893 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 88 states. [2018-11-23 12:17:22,893 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 88 states. [2018-11-23 12:17:22,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:22,895 INFO L93 Difference]: Finished difference Result 88 states and 99 transitions. [2018-11-23 12:17:22,895 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 99 transitions. [2018-11-23 12:17:22,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:22,896 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:22,896 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:22,896 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:22,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 85 states. [2018-11-23 12:17:22,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 95 transitions. [2018-11-23 12:17:22,898 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 95 transitions. Word has length 119 [2018-11-23 12:17:22,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:22,898 INFO L480 AbstractCegarLoop]: Abstraction has 85 states and 95 transitions. [2018-11-23 12:17:22,898 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 12:17:22,898 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 95 transitions. [2018-11-23 12:17:22,899 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 131 [2018-11-23 12:17:22,899 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:22,899 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:22,900 INFO L423 AbstractCegarLoop]: === Iteration 22 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:22,900 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:22,900 INFO L82 PathProgramCache]: Analyzing trace with hash -576331982, now seen corresponding path program 18 times [2018-11-23 12:17:22,900 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:22,900 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:22,901 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:22,901 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:22,901 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:22,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:23,500 INFO L256 TraceCheckUtils]: 0: Hoare triple {11030#true} call ULTIMATE.init(); {11030#true} is VALID [2018-11-23 12:17:23,500 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:23,500 INFO L273 TraceCheckUtils]: 2: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:23,500 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11030#true} {11030#true} #71#return; {11030#true} is VALID [2018-11-23 12:17:23,501 INFO L256 TraceCheckUtils]: 4: Hoare triple {11030#true} call #t~ret14 := main(); {11030#true} is VALID [2018-11-23 12:17:23,501 INFO L273 TraceCheckUtils]: 5: Hoare triple {11030#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:23,502 INFO L273 TraceCheckUtils]: 6: Hoare triple {11032#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:23,502 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:23,503 INFO L273 TraceCheckUtils]: 8: Hoare triple {11033#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:23,503 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:23,503 INFO L273 TraceCheckUtils]: 10: Hoare triple {11034#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:23,504 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:23,504 INFO L273 TraceCheckUtils]: 12: Hoare triple {11035#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:23,505 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:23,505 INFO L273 TraceCheckUtils]: 14: Hoare triple {11036#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:23,506 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:23,507 INFO L273 TraceCheckUtils]: 16: Hoare triple {11037#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:23,507 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:23,508 INFO L273 TraceCheckUtils]: 18: Hoare triple {11038#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:23,509 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:23,509 INFO L273 TraceCheckUtils]: 20: Hoare triple {11039#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:23,510 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:23,511 INFO L273 TraceCheckUtils]: 22: Hoare triple {11040#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:23,511 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:23,512 INFO L273 TraceCheckUtils]: 24: Hoare triple {11041#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:23,513 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:23,513 INFO L273 TraceCheckUtils]: 26: Hoare triple {11042#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -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:23,514 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:23,514 INFO L273 TraceCheckUtils]: 28: Hoare triple {11043#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -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:23,515 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:23,516 INFO L273 TraceCheckUtils]: 30: Hoare triple {11044#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -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:23,516 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:23,517 INFO L273 TraceCheckUtils]: 32: Hoare triple {11045#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -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:23,518 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:23,518 INFO L273 TraceCheckUtils]: 34: Hoare triple {11046#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -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:23,519 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:23,520 INFO L273 TraceCheckUtils]: 36: Hoare triple {11047#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -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:23,520 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:23,521 INFO L273 TraceCheckUtils]: 38: Hoare triple {11048#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -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:23,522 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:23,522 INFO L273 TraceCheckUtils]: 40: Hoare triple {11049#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -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:23,523 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:23,524 INFO L273 TraceCheckUtils]: 42: Hoare triple {11050#(<= main_~i~1 18)} assume !(~i~1 < 40); {11031#false} is VALID [2018-11-23 12:17:23,524 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:23,524 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:23,524 INFO L273 TraceCheckUtils]: 45: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,524 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:23,525 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:23,525 INFO L273 TraceCheckUtils]: 48: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,525 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:23,525 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:23,525 INFO L273 TraceCheckUtils]: 51: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,526 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:23,526 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:23,526 INFO L273 TraceCheckUtils]: 54: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,526 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:23,526 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:23,526 INFO L273 TraceCheckUtils]: 57: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,527 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:23,527 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:23,527 INFO L273 TraceCheckUtils]: 60: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,527 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:23,527 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:23,527 INFO L273 TraceCheckUtils]: 63: Hoare triple {11030#true} assume !(~i~0 < 40); {11030#true} is VALID [2018-11-23 12:17:23,527 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:23,527 INFO L273 TraceCheckUtils]: 65: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:23,528 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {11030#true} {11031#false} #75#return; {11031#false} is VALID [2018-11-23 12:17:23,528 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:23,528 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:23,528 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:23,528 INFO L273 TraceCheckUtils]: 70: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,528 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:23,528 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:23,528 INFO L273 TraceCheckUtils]: 73: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,528 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:23,529 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:23,529 INFO L273 TraceCheckUtils]: 76: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,529 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:23,529 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:23,529 INFO L273 TraceCheckUtils]: 79: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,529 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:23,529 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:23,529 INFO L273 TraceCheckUtils]: 82: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,529 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:23,530 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:23,530 INFO L273 TraceCheckUtils]: 85: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,530 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:23,530 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:23,530 INFO L273 TraceCheckUtils]: 88: Hoare triple {11030#true} assume !(~i~0 < 40); {11030#true} is VALID [2018-11-23 12:17:23,530 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:23,530 INFO L273 TraceCheckUtils]: 90: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:23,530 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {11030#true} {11031#false} #77#return; {11031#false} is VALID [2018-11-23 12:17:23,530 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:23,531 INFO L273 TraceCheckUtils]: 93: Hoare triple {11031#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:23,531 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:23,531 INFO L273 TraceCheckUtils]: 95: Hoare triple {11031#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:23,531 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:23,531 INFO L273 TraceCheckUtils]: 97: Hoare triple {11031#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:23,531 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:23,531 INFO L273 TraceCheckUtils]: 99: Hoare triple {11031#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:23,531 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:23,532 INFO L273 TraceCheckUtils]: 101: Hoare triple {11031#false} assume !(~i~2 < 39); {11031#false} is VALID [2018-11-23 12:17:23,532 INFO L273 TraceCheckUtils]: 102: Hoare triple {11031#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {11031#false} is VALID [2018-11-23 12:17:23,532 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:23,532 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:23,532 INFO L273 TraceCheckUtils]: 105: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,532 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:23,532 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:23,532 INFO L273 TraceCheckUtils]: 108: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,532 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:23,533 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:23,533 INFO L273 TraceCheckUtils]: 111: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,533 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:23,533 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:23,533 INFO L273 TraceCheckUtils]: 114: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,533 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:23,533 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:23,533 INFO L273 TraceCheckUtils]: 117: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,533 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:23,534 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:23,534 INFO L273 TraceCheckUtils]: 120: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:23,534 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:23,534 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:23,534 INFO L273 TraceCheckUtils]: 123: Hoare triple {11030#true} assume !(~i~0 < 40); {11030#true} is VALID [2018-11-23 12:17:23,534 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:23,534 INFO L273 TraceCheckUtils]: 125: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:23,534 INFO L268 TraceCheckUtils]: 126: Hoare quadruple {11030#true} {11031#false} #79#return; {11031#false} is VALID [2018-11-23 12:17:23,534 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:23,535 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:23,535 INFO L273 TraceCheckUtils]: 129: Hoare triple {11031#false} assume !false; {11031#false} is VALID [2018-11-23 12:17:23,542 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:23,542 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:23,542 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:23,552 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:17:23,700 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2018-11-23 12:17:23,700 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:23,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:23,740 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:24,143 INFO L256 TraceCheckUtils]: 0: Hoare triple {11030#true} call ULTIMATE.init(); {11030#true} is VALID [2018-11-23 12:17:24,143 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:24,143 INFO L273 TraceCheckUtils]: 2: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:24,144 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11030#true} {11030#true} #71#return; {11030#true} is VALID [2018-11-23 12:17:24,144 INFO L256 TraceCheckUtils]: 4: Hoare triple {11030#true} call #t~ret14 := main(); {11030#true} is VALID [2018-11-23 12:17:24,144 INFO L273 TraceCheckUtils]: 5: Hoare triple {11030#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {11030#true} is VALID [2018-11-23 12:17:24,144 INFO L273 TraceCheckUtils]: 6: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,145 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:24,145 INFO L273 TraceCheckUtils]: 8: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,145 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:24,145 INFO L273 TraceCheckUtils]: 10: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,145 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:24,145 INFO L273 TraceCheckUtils]: 12: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,146 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:24,146 INFO L273 TraceCheckUtils]: 14: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,146 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:24,146 INFO L273 TraceCheckUtils]: 16: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,146 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:24,146 INFO L273 TraceCheckUtils]: 18: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,146 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:24,146 INFO L273 TraceCheckUtils]: 20: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,146 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:24,147 INFO L273 TraceCheckUtils]: 22: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,147 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:24,147 INFO L273 TraceCheckUtils]: 24: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,147 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:24,147 INFO L273 TraceCheckUtils]: 26: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,147 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:24,147 INFO L273 TraceCheckUtils]: 28: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,147 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:24,147 INFO L273 TraceCheckUtils]: 30: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,148 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:24,148 INFO L273 TraceCheckUtils]: 32: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,148 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:24,148 INFO L273 TraceCheckUtils]: 34: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,148 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:24,148 INFO L273 TraceCheckUtils]: 36: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,148 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:24,148 INFO L273 TraceCheckUtils]: 38: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,149 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:24,149 INFO L273 TraceCheckUtils]: 40: Hoare triple {11030#true} assume !!(~i~1 < 40);assume -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:24,149 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:24,149 INFO L273 TraceCheckUtils]: 42: Hoare triple {11030#true} assume !(~i~1 < 40); {11030#true} is VALID [2018-11-23 12:17:24,149 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:24,149 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:24,149 INFO L273 TraceCheckUtils]: 45: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:24,149 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:24,149 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:24,150 INFO L273 TraceCheckUtils]: 48: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:24,150 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:24,150 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:24,150 INFO L273 TraceCheckUtils]: 51: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:24,150 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:24,150 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:24,150 INFO L273 TraceCheckUtils]: 54: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:24,150 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:24,150 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:24,151 INFO L273 TraceCheckUtils]: 57: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:24,151 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:24,151 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:24,151 INFO L273 TraceCheckUtils]: 60: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:24,151 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:24,151 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:24,151 INFO L273 TraceCheckUtils]: 63: Hoare triple {11030#true} assume !(~i~0 < 40); {11030#true} is VALID [2018-11-23 12:17:24,151 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:24,152 INFO L273 TraceCheckUtils]: 65: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:24,152 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {11030#true} {11030#true} #75#return; {11030#true} is VALID [2018-11-23 12:17:24,152 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:24,152 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:24,152 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:24,152 INFO L273 TraceCheckUtils]: 70: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:24,152 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:24,152 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:24,152 INFO L273 TraceCheckUtils]: 73: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:24,153 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:24,153 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:24,153 INFO L273 TraceCheckUtils]: 76: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:24,153 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:24,153 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:24,153 INFO L273 TraceCheckUtils]: 79: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:24,153 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:24,153 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:24,153 INFO L273 TraceCheckUtils]: 82: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:24,154 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:24,154 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:24,154 INFO L273 TraceCheckUtils]: 85: Hoare triple {11030#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11030#true} is VALID [2018-11-23 12:17:24,154 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:24,154 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:24,154 INFO L273 TraceCheckUtils]: 88: Hoare triple {11030#true} assume !(~i~0 < 40); {11030#true} is VALID [2018-11-23 12:17:24,154 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:24,154 INFO L273 TraceCheckUtils]: 90: Hoare triple {11030#true} assume true; {11030#true} is VALID [2018-11-23 12:17:24,154 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {11030#true} {11030#true} #77#return; {11030#true} is VALID [2018-11-23 12:17:24,155 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:24,155 INFO L273 TraceCheckUtils]: 93: Hoare triple {11330#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:24,156 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:24,156 INFO L273 TraceCheckUtils]: 95: Hoare triple {11337#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:24,157 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:24,157 INFO L273 TraceCheckUtils]: 97: Hoare triple {11344#(<= main_~i~2 2)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:24,158 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:24,158 INFO L273 TraceCheckUtils]: 99: Hoare triple {11351#(<= main_~i~2 3)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:24,158 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:24,159 INFO L273 TraceCheckUtils]: 101: Hoare triple {11358#(<= main_~i~2 4)} assume !(~i~2 < 39); {11031#false} is VALID [2018-11-23 12:17:24,159 INFO L273 TraceCheckUtils]: 102: Hoare triple {11031#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {11031#false} is VALID [2018-11-23 12:17:24,159 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:24,160 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:24,160 INFO L273 TraceCheckUtils]: 105: Hoare triple {11031#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11031#false} is VALID [2018-11-23 12:17:24,160 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:24,160 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:24,160 INFO L273 TraceCheckUtils]: 108: Hoare triple {11031#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11031#false} is VALID [2018-11-23 12:17:24,161 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:24,161 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:24,161 INFO L273 TraceCheckUtils]: 111: Hoare triple {11031#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11031#false} is VALID [2018-11-23 12:17:24,161 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:24,161 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:24,162 INFO L273 TraceCheckUtils]: 114: Hoare triple {11031#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11031#false} is VALID [2018-11-23 12:17:24,162 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:24,162 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:24,162 INFO L273 TraceCheckUtils]: 117: Hoare triple {11031#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11031#false} is VALID [2018-11-23 12:17:24,162 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:24,162 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:24,163 INFO L273 TraceCheckUtils]: 120: Hoare triple {11031#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11031#false} is VALID [2018-11-23 12:17:24,163 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:24,163 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:24,163 INFO L273 TraceCheckUtils]: 123: Hoare triple {11031#false} assume !(~i~0 < 40); {11031#false} is VALID [2018-11-23 12:17:24,163 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:24,164 INFO L273 TraceCheckUtils]: 125: Hoare triple {11031#false} assume true; {11031#false} is VALID [2018-11-23 12:17:24,164 INFO L268 TraceCheckUtils]: 126: Hoare quadruple {11031#false} {11031#false} #79#return; {11031#false} is VALID [2018-11-23 12:17:24,164 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:24,164 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:24,164 INFO L273 TraceCheckUtils]: 129: Hoare triple {11031#false} assume !false; {11031#false} is VALID [2018-11-23 12:17:24,170 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:24,191 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:24,191 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 7] total 26 [2018-11-23 12:17:24,191 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 130 [2018-11-23 12:17:24,192 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:24,192 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-23 12:17:24,299 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:24,300 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 12:17:24,300 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 12:17:24,300 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=230, Invalid=420, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:17:24,301 INFO L87 Difference]: Start difference. First operand 85 states and 95 transitions. Second operand 26 states. [2018-11-23 12:17:24,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:24,907 INFO L93 Difference]: Finished difference Result 133 states and 154 transitions. [2018-11-23 12:17:24,907 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2018-11-23 12:17:24,907 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 130 [2018-11-23 12:17:24,907 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:24,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:17:24,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 105 transitions. [2018-11-23 12:17:24,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:17:24,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 105 transitions. [2018-11-23 12:17:24,910 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 105 transitions. [2018-11-23 12:17:25,011 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:25,013 INFO L225 Difference]: With dead ends: 133 [2018-11-23 12:17:25,013 INFO L226 Difference]: Without dead ends: 91 [2018-11-23 12:17:25,014 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:25,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2018-11-23 12:17:25,044 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 89. [2018-11-23 12:17:25,045 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:25,045 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand 89 states. [2018-11-23 12:17:25,045 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 89 states. [2018-11-23 12:17:25,045 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 89 states. [2018-11-23 12:17:25,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:25,047 INFO L93 Difference]: Finished difference Result 91 states and 101 transitions. [2018-11-23 12:17:25,047 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 101 transitions. [2018-11-23 12:17:25,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:25,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:25,047 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 91 states. [2018-11-23 12:17:25,048 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 91 states. [2018-11-23 12:17:25,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:25,049 INFO L93 Difference]: Finished difference Result 91 states and 101 transitions. [2018-11-23 12:17:25,049 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 101 transitions. [2018-11-23 12:17:25,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:25,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:25,050 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:25,050 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:25,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 89 states. [2018-11-23 12:17:25,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 99 transitions. [2018-11-23 12:17:25,051 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 99 transitions. Word has length 130 [2018-11-23 12:17:25,052 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:25,052 INFO L480 AbstractCegarLoop]: Abstraction has 89 states and 99 transitions. [2018-11-23 12:17:25,052 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 12:17:25,052 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 99 transitions. [2018-11-23 12:17:25,053 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 135 [2018-11-23 12:17:25,053 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:25,053 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:25,053 INFO L423 AbstractCegarLoop]: === Iteration 23 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:25,053 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:25,054 INFO L82 PathProgramCache]: Analyzing trace with hash 2079637010, now seen corresponding path program 19 times [2018-11-23 12:17:25,054 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:25,054 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:25,054 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:25,055 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:25,055 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:25,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:25,433 INFO L256 TraceCheckUtils]: 0: Hoare triple {11947#true} call ULTIMATE.init(); {11947#true} is VALID [2018-11-23 12:17:25,434 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:25,434 INFO L273 TraceCheckUtils]: 2: Hoare triple {11947#true} assume true; {11947#true} is VALID [2018-11-23 12:17:25,434 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11947#true} {11947#true} #71#return; {11947#true} is VALID [2018-11-23 12:17:25,434 INFO L256 TraceCheckUtils]: 4: Hoare triple {11947#true} call #t~ret14 := main(); {11947#true} is VALID [2018-11-23 12:17:25,436 INFO L273 TraceCheckUtils]: 5: Hoare triple {11947#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:25,436 INFO L273 TraceCheckUtils]: 6: Hoare triple {11949#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:25,437 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:25,437 INFO L273 TraceCheckUtils]: 8: Hoare triple {11950#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:25,438 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:25,438 INFO L273 TraceCheckUtils]: 10: Hoare triple {11951#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:25,438 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:25,439 INFO L273 TraceCheckUtils]: 12: Hoare triple {11952#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:25,439 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:25,439 INFO L273 TraceCheckUtils]: 14: Hoare triple {11953#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:25,440 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:25,440 INFO L273 TraceCheckUtils]: 16: Hoare triple {11954#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:25,441 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:25,442 INFO L273 TraceCheckUtils]: 18: Hoare triple {11955#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:25,442 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:25,443 INFO L273 TraceCheckUtils]: 20: Hoare triple {11956#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:25,444 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:25,444 INFO L273 TraceCheckUtils]: 22: Hoare triple {11957#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:25,445 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:25,445 INFO L273 TraceCheckUtils]: 24: Hoare triple {11958#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:25,446 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:25,447 INFO L273 TraceCheckUtils]: 26: Hoare triple {11959#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -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:25,447 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:25,448 INFO L273 TraceCheckUtils]: 28: Hoare triple {11960#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -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:25,449 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:25,449 INFO L273 TraceCheckUtils]: 30: Hoare triple {11961#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -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:25,450 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:25,450 INFO L273 TraceCheckUtils]: 32: Hoare triple {11962#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -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:25,451 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:25,452 INFO L273 TraceCheckUtils]: 34: Hoare triple {11963#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -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:25,452 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:25,453 INFO L273 TraceCheckUtils]: 36: Hoare triple {11964#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -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:25,454 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:25,454 INFO L273 TraceCheckUtils]: 38: Hoare triple {11965#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -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:25,455 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:25,456 INFO L273 TraceCheckUtils]: 40: Hoare triple {11966#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -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:25,456 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:25,457 INFO L273 TraceCheckUtils]: 42: Hoare triple {11967#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -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:25,458 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:25,458 INFO L273 TraceCheckUtils]: 44: Hoare triple {11968#(<= main_~i~1 19)} assume !(~i~1 < 40); {11948#false} is VALID [2018-11-23 12:17:25,458 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:25,459 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:25,459 INFO L273 TraceCheckUtils]: 47: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,459 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:25,459 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:25,459 INFO L273 TraceCheckUtils]: 50: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,460 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:25,460 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:25,460 INFO L273 TraceCheckUtils]: 53: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,460 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:25,460 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:25,461 INFO L273 TraceCheckUtils]: 56: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,461 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:25,461 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:25,461 INFO L273 TraceCheckUtils]: 59: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,461 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:25,462 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:25,462 INFO L273 TraceCheckUtils]: 62: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,462 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:25,462 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:25,462 INFO L273 TraceCheckUtils]: 65: Hoare triple {11947#true} assume !(~i~0 < 40); {11947#true} is VALID [2018-11-23 12:17:25,462 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:25,462 INFO L273 TraceCheckUtils]: 67: Hoare triple {11947#true} assume true; {11947#true} is VALID [2018-11-23 12:17:25,463 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {11947#true} {11948#false} #75#return; {11948#false} is VALID [2018-11-23 12:17:25,463 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:25,463 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:25,463 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:25,463 INFO L273 TraceCheckUtils]: 72: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,463 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:25,463 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:25,463 INFO L273 TraceCheckUtils]: 75: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,463 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:25,464 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:25,464 INFO L273 TraceCheckUtils]: 78: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,464 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:25,464 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:25,464 INFO L273 TraceCheckUtils]: 81: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,464 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:25,464 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:25,464 INFO L273 TraceCheckUtils]: 84: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,464 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:25,465 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:25,465 INFO L273 TraceCheckUtils]: 87: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,465 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:25,465 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:25,465 INFO L273 TraceCheckUtils]: 90: Hoare triple {11947#true} assume !(~i~0 < 40); {11947#true} is VALID [2018-11-23 12:17:25,465 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:25,465 INFO L273 TraceCheckUtils]: 92: Hoare triple {11947#true} assume true; {11947#true} is VALID [2018-11-23 12:17:25,465 INFO L268 TraceCheckUtils]: 93: Hoare quadruple {11947#true} {11948#false} #77#return; {11948#false} is VALID [2018-11-23 12:17:25,466 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:25,466 INFO L273 TraceCheckUtils]: 95: Hoare triple {11948#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:25,466 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:25,466 INFO L273 TraceCheckUtils]: 97: Hoare triple {11948#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:25,466 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:25,466 INFO L273 TraceCheckUtils]: 99: Hoare triple {11948#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:25,466 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:25,466 INFO L273 TraceCheckUtils]: 101: Hoare triple {11948#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:25,466 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:25,467 INFO L273 TraceCheckUtils]: 103: Hoare triple {11948#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:25,467 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:25,467 INFO L273 TraceCheckUtils]: 105: Hoare triple {11948#false} assume !(~i~2 < 39); {11948#false} is VALID [2018-11-23 12:17:25,467 INFO L273 TraceCheckUtils]: 106: Hoare triple {11948#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {11948#false} is VALID [2018-11-23 12:17:25,467 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:25,467 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:25,467 INFO L273 TraceCheckUtils]: 109: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,467 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:25,467 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:25,468 INFO L273 TraceCheckUtils]: 112: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,468 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:25,468 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:25,468 INFO L273 TraceCheckUtils]: 115: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,468 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:25,468 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:25,468 INFO L273 TraceCheckUtils]: 118: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,468 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:25,468 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:25,469 INFO L273 TraceCheckUtils]: 121: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,469 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:25,469 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:25,469 INFO L273 TraceCheckUtils]: 124: Hoare triple {11947#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11947#true} is VALID [2018-11-23 12:17:25,469 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:25,469 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:25,469 INFO L273 TraceCheckUtils]: 127: Hoare triple {11947#true} assume !(~i~0 < 40); {11947#true} is VALID [2018-11-23 12:17:25,469 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:25,469 INFO L273 TraceCheckUtils]: 129: Hoare triple {11947#true} assume true; {11947#true} is VALID [2018-11-23 12:17:25,470 INFO L268 TraceCheckUtils]: 130: Hoare quadruple {11947#true} {11948#false} #79#return; {11948#false} is VALID [2018-11-23 12:17:25,470 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:25,470 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:25,470 INFO L273 TraceCheckUtils]: 133: Hoare triple {11948#false} assume !false; {11948#false} is VALID [2018-11-23 12:17:25,478 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:25,478 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:25,478 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:25,488 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:25,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:25,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:25,589 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:25,866 INFO L256 TraceCheckUtils]: 0: Hoare triple {11947#true} call ULTIMATE.init(); {11947#true} is VALID [2018-11-23 12:17:25,866 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:25,866 INFO L273 TraceCheckUtils]: 2: Hoare triple {11947#true} assume true; {11947#true} is VALID [2018-11-23 12:17:25,867 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11947#true} {11947#true} #71#return; {11947#true} is VALID [2018-11-23 12:17:25,867 INFO L256 TraceCheckUtils]: 4: Hoare triple {11947#true} call #t~ret14 := main(); {11947#true} is VALID [2018-11-23 12:17:25,868 INFO L273 TraceCheckUtils]: 5: Hoare triple {11947#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);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:25,868 INFO L273 TraceCheckUtils]: 6: Hoare triple {11987#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -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:25,868 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:25,869 INFO L273 TraceCheckUtils]: 8: Hoare triple {11950#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -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:25,869 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:25,870 INFO L273 TraceCheckUtils]: 10: Hoare triple {11951#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -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:25,870 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:25,871 INFO L273 TraceCheckUtils]: 12: Hoare triple {11952#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -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:25,872 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:25,872 INFO L273 TraceCheckUtils]: 14: Hoare triple {11953#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -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:25,873 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:25,873 INFO L273 TraceCheckUtils]: 16: Hoare triple {11954#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -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:25,874 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:25,875 INFO L273 TraceCheckUtils]: 18: Hoare triple {11955#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -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:25,875 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:25,876 INFO L273 TraceCheckUtils]: 20: Hoare triple {11956#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -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:25,877 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:25,877 INFO L273 TraceCheckUtils]: 22: Hoare triple {11957#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -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:25,878 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:25,878 INFO L273 TraceCheckUtils]: 24: Hoare triple {11958#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -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:25,879 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:25,880 INFO L273 TraceCheckUtils]: 26: Hoare triple {11959#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -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:25,880 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:25,881 INFO L273 TraceCheckUtils]: 28: Hoare triple {11960#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -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:25,882 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:25,903 INFO L273 TraceCheckUtils]: 30: Hoare triple {11961#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -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:25,917 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:25,926 INFO L273 TraceCheckUtils]: 32: Hoare triple {11962#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -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:25,939 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:25,948 INFO L273 TraceCheckUtils]: 34: Hoare triple {11963#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -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:25,962 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:25,971 INFO L273 TraceCheckUtils]: 36: Hoare triple {11964#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -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:25,984 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:25,993 INFO L273 TraceCheckUtils]: 38: Hoare triple {11965#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -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:26,007 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:26,016 INFO L273 TraceCheckUtils]: 40: Hoare triple {11966#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -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:26,029 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:26,040 INFO L273 TraceCheckUtils]: 42: Hoare triple {11967#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -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:26,058 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:26,067 INFO L273 TraceCheckUtils]: 44: Hoare triple {11968#(<= main_~i~1 19)} assume !(~i~1 < 40); {11948#false} is VALID [2018-11-23 12:17:26,067 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:26,067 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:26,068 INFO L273 TraceCheckUtils]: 47: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,068 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:26,068 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:26,068 INFO L273 TraceCheckUtils]: 50: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,068 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:26,068 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:26,069 INFO L273 TraceCheckUtils]: 53: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,069 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:26,069 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:26,069 INFO L273 TraceCheckUtils]: 56: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,069 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:26,069 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:26,070 INFO L273 TraceCheckUtils]: 59: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,070 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:26,070 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:26,070 INFO L273 TraceCheckUtils]: 62: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,070 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:26,070 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:26,070 INFO L273 TraceCheckUtils]: 65: Hoare triple {11948#false} assume !(~i~0 < 40); {11948#false} is VALID [2018-11-23 12:17:26,071 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:26,071 INFO L273 TraceCheckUtils]: 67: Hoare triple {11948#false} assume true; {11948#false} is VALID [2018-11-23 12:17:26,071 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {11948#false} {11948#false} #75#return; {11948#false} is VALID [2018-11-23 12:17:26,071 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:26,071 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:26,071 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:26,072 INFO L273 TraceCheckUtils]: 72: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,072 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:26,072 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:26,072 INFO L273 TraceCheckUtils]: 75: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,072 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:26,072 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:26,073 INFO L273 TraceCheckUtils]: 78: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,073 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:26,073 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:26,073 INFO L273 TraceCheckUtils]: 81: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,073 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:26,073 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:26,074 INFO L273 TraceCheckUtils]: 84: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,074 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:26,074 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:26,074 INFO L273 TraceCheckUtils]: 87: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,074 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:26,074 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:26,074 INFO L273 TraceCheckUtils]: 90: Hoare triple {11948#false} assume !(~i~0 < 40); {11948#false} is VALID [2018-11-23 12:17:26,075 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:26,075 INFO L273 TraceCheckUtils]: 92: Hoare triple {11948#false} assume true; {11948#false} is VALID [2018-11-23 12:17:26,075 INFO L268 TraceCheckUtils]: 93: Hoare quadruple {11948#false} {11948#false} #77#return; {11948#false} is VALID [2018-11-23 12:17:26,075 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:26,075 INFO L273 TraceCheckUtils]: 95: Hoare triple {11948#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:26,075 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:26,076 INFO L273 TraceCheckUtils]: 97: Hoare triple {11948#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:26,076 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:26,076 INFO L273 TraceCheckUtils]: 99: Hoare triple {11948#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:26,076 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:26,076 INFO L273 TraceCheckUtils]: 101: Hoare triple {11948#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:26,076 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:26,077 INFO L273 TraceCheckUtils]: 103: Hoare triple {11948#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:26,077 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:26,077 INFO L273 TraceCheckUtils]: 105: Hoare triple {11948#false} assume !(~i~2 < 39); {11948#false} is VALID [2018-11-23 12:17:26,077 INFO L273 TraceCheckUtils]: 106: Hoare triple {11948#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {11948#false} is VALID [2018-11-23 12:17:26,077 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:26,077 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:26,078 INFO L273 TraceCheckUtils]: 109: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,078 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:26,078 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:26,078 INFO L273 TraceCheckUtils]: 112: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,078 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:26,078 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:26,079 INFO L273 TraceCheckUtils]: 115: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,079 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:26,079 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:26,079 INFO L273 TraceCheckUtils]: 118: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,079 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:26,079 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:26,079 INFO L273 TraceCheckUtils]: 121: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,080 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:26,080 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:26,080 INFO L273 TraceCheckUtils]: 124: Hoare triple {11948#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11948#false} is VALID [2018-11-23 12:17:26,080 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:26,080 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:26,080 INFO L273 TraceCheckUtils]: 127: Hoare triple {11948#false} assume !(~i~0 < 40); {11948#false} is VALID [2018-11-23 12:17:26,081 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:26,081 INFO L273 TraceCheckUtils]: 129: Hoare triple {11948#false} assume true; {11948#false} is VALID [2018-11-23 12:17:26,081 INFO L268 TraceCheckUtils]: 130: Hoare quadruple {11948#false} {11948#false} #79#return; {11948#false} is VALID [2018-11-23 12:17:26,081 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:26,081 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:26,081 INFO L273 TraceCheckUtils]: 133: Hoare triple {11948#false} assume !false; {11948#false} is VALID [2018-11-23 12:17:26,093 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:26,124 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:26,124 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 23 [2018-11-23 12:17:26,125 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 134 [2018-11-23 12:17:26,126 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:26,126 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 12:17:26,299 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:26,300 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 12:17:26,300 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 12:17:26,300 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:17:26,301 INFO L87 Difference]: Start difference. First operand 89 states and 99 transitions. Second operand 23 states. [2018-11-23 12:17:26,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:26,555 INFO L93 Difference]: Finished difference Result 136 states and 156 transitions. [2018-11-23 12:17:26,556 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 12:17:26,556 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 134 [2018-11-23 12:17:26,556 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:26,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:17:26,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 96 transitions. [2018-11-23 12:17:26,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:17:26,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 96 transitions. [2018-11-23 12:17:26,558 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 96 transitions. [2018-11-23 12:17:26,651 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:17:26,653 INFO L225 Difference]: With dead ends: 136 [2018-11-23 12:17:26,653 INFO L226 Difference]: Without dead ends: 92 [2018-11-23 12:17:26,654 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 155 GetRequests, 134 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:17:26,654 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2018-11-23 12:17:26,699 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 91. [2018-11-23 12:17:26,699 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:26,699 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 91 states. [2018-11-23 12:17:26,699 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 91 states. [2018-11-23 12:17:26,699 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 91 states. [2018-11-23 12:17:26,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:26,701 INFO L93 Difference]: Finished difference Result 92 states and 102 transitions. [2018-11-23 12:17:26,701 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 102 transitions. [2018-11-23 12:17:26,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:26,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:26,701 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 92 states. [2018-11-23 12:17:26,702 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 92 states. [2018-11-23 12:17:26,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:26,703 INFO L93 Difference]: Finished difference Result 92 states and 102 transitions. [2018-11-23 12:17:26,704 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 102 transitions. [2018-11-23 12:17:26,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:26,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:26,704 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:26,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:26,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-11-23 12:17:26,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 101 transitions. [2018-11-23 12:17:26,706 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 101 transitions. Word has length 134 [2018-11-23 12:17:26,706 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:26,707 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 101 transitions. [2018-11-23 12:17:26,707 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 12:17:26,707 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 101 transitions. [2018-11-23 12:17:26,708 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 137 [2018-11-23 12:17:26,708 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:26,708 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:26,708 INFO L423 AbstractCegarLoop]: === Iteration 24 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:26,708 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:26,709 INFO L82 PathProgramCache]: Analyzing trace with hash 275415092, now seen corresponding path program 20 times [2018-11-23 12:17:26,709 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:26,709 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:26,709 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:26,709 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:26,710 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:26,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:27,301 INFO L256 TraceCheckUtils]: 0: Hoare triple {12883#true} call ULTIMATE.init(); {12883#true} is VALID [2018-11-23 12:17:27,302 INFO L273 TraceCheckUtils]: 1: Hoare triple {12883#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {12883#true} is VALID [2018-11-23 12:17:27,302 INFO L273 TraceCheckUtils]: 2: Hoare triple {12883#true} assume true; {12883#true} is VALID [2018-11-23 12:17:27,303 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12883#true} {12883#true} #71#return; {12883#true} is VALID [2018-11-23 12:17:27,303 INFO L256 TraceCheckUtils]: 4: Hoare triple {12883#true} call #t~ret14 := main(); {12883#true} is VALID [2018-11-23 12:17:27,303 INFO L273 TraceCheckUtils]: 5: Hoare triple {12883#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {12885#(= main_~i~1 0)} is VALID [2018-11-23 12:17:27,304 INFO L273 TraceCheckUtils]: 6: Hoare triple {12885#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12885#(= main_~i~1 0)} is VALID [2018-11-23 12:17:27,304 INFO L273 TraceCheckUtils]: 7: Hoare triple {12885#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12886#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:27,305 INFO L273 TraceCheckUtils]: 8: Hoare triple {12886#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12886#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:27,305 INFO L273 TraceCheckUtils]: 9: Hoare triple {12886#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12887#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:27,306 INFO L273 TraceCheckUtils]: 10: Hoare triple {12887#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12887#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:27,306 INFO L273 TraceCheckUtils]: 11: Hoare triple {12887#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12888#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:27,307 INFO L273 TraceCheckUtils]: 12: Hoare triple {12888#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12888#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:27,307 INFO L273 TraceCheckUtils]: 13: Hoare triple {12888#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12889#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:27,308 INFO L273 TraceCheckUtils]: 14: Hoare triple {12889#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12889#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:27,309 INFO L273 TraceCheckUtils]: 15: Hoare triple {12889#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12890#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:27,319 INFO L273 TraceCheckUtils]: 16: Hoare triple {12890#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12890#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:27,320 INFO L273 TraceCheckUtils]: 17: Hoare triple {12890#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12891#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:27,320 INFO L273 TraceCheckUtils]: 18: Hoare triple {12891#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12891#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:27,321 INFO L273 TraceCheckUtils]: 19: Hoare triple {12891#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12892#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:27,321 INFO L273 TraceCheckUtils]: 20: Hoare triple {12892#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12892#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:27,322 INFO L273 TraceCheckUtils]: 21: Hoare triple {12892#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12893#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:27,322 INFO L273 TraceCheckUtils]: 22: Hoare triple {12893#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12893#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:27,323 INFO L273 TraceCheckUtils]: 23: Hoare triple {12893#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12894#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:27,323 INFO L273 TraceCheckUtils]: 24: Hoare triple {12894#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12894#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:27,324 INFO L273 TraceCheckUtils]: 25: Hoare triple {12894#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12895#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:27,324 INFO L273 TraceCheckUtils]: 26: Hoare triple {12895#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12895#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:27,325 INFO L273 TraceCheckUtils]: 27: Hoare triple {12895#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12896#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:27,326 INFO L273 TraceCheckUtils]: 28: Hoare triple {12896#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12896#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:27,327 INFO L273 TraceCheckUtils]: 29: Hoare triple {12896#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12897#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:27,327 INFO L273 TraceCheckUtils]: 30: Hoare triple {12897#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12897#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:27,328 INFO L273 TraceCheckUtils]: 31: Hoare triple {12897#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12898#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:27,329 INFO L273 TraceCheckUtils]: 32: Hoare triple {12898#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12898#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:27,330 INFO L273 TraceCheckUtils]: 33: Hoare triple {12898#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12899#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:27,330 INFO L273 TraceCheckUtils]: 34: Hoare triple {12899#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12899#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:27,332 INFO L273 TraceCheckUtils]: 35: Hoare triple {12899#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12900#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:27,333 INFO L273 TraceCheckUtils]: 36: Hoare triple {12900#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12900#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:27,334 INFO L273 TraceCheckUtils]: 37: Hoare triple {12900#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12901#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:27,335 INFO L273 TraceCheckUtils]: 38: Hoare triple {12901#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12901#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:27,335 INFO L273 TraceCheckUtils]: 39: Hoare triple {12901#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12902#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:27,336 INFO L273 TraceCheckUtils]: 40: Hoare triple {12902#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12902#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:27,337 INFO L273 TraceCheckUtils]: 41: Hoare triple {12902#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12903#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:27,337 INFO L273 TraceCheckUtils]: 42: Hoare triple {12903#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12903#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:27,338 INFO L273 TraceCheckUtils]: 43: Hoare triple {12903#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12904#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:27,339 INFO L273 TraceCheckUtils]: 44: Hoare triple {12904#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12904#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:27,340 INFO L273 TraceCheckUtils]: 45: Hoare triple {12904#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12905#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:27,341 INFO L273 TraceCheckUtils]: 46: Hoare triple {12905#(<= main_~i~1 20)} assume !(~i~1 < 40); {12884#false} is VALID [2018-11-23 12:17:27,341 INFO L256 TraceCheckUtils]: 47: Hoare triple {12884#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {12883#true} is VALID [2018-11-23 12:17:27,341 INFO L273 TraceCheckUtils]: 48: Hoare triple {12883#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12883#true} is VALID [2018-11-23 12:17:27,341 INFO L273 TraceCheckUtils]: 49: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,342 INFO L273 TraceCheckUtils]: 50: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,342 INFO L273 TraceCheckUtils]: 51: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,342 INFO L273 TraceCheckUtils]: 52: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,343 INFO L273 TraceCheckUtils]: 53: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,343 INFO L273 TraceCheckUtils]: 54: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,343 INFO L273 TraceCheckUtils]: 55: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,344 INFO L273 TraceCheckUtils]: 56: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,344 INFO L273 TraceCheckUtils]: 57: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,344 INFO L273 TraceCheckUtils]: 58: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,345 INFO L273 TraceCheckUtils]: 59: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,345 INFO L273 TraceCheckUtils]: 60: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,345 INFO L273 TraceCheckUtils]: 61: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,345 INFO L273 TraceCheckUtils]: 62: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,345 INFO L273 TraceCheckUtils]: 63: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,346 INFO L273 TraceCheckUtils]: 64: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,346 INFO L273 TraceCheckUtils]: 65: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,346 INFO L273 TraceCheckUtils]: 66: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,346 INFO L273 TraceCheckUtils]: 67: Hoare triple {12883#true} assume !(~i~0 < 40); {12883#true} is VALID [2018-11-23 12:17:27,346 INFO L273 TraceCheckUtils]: 68: Hoare triple {12883#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12883#true} is VALID [2018-11-23 12:17:27,346 INFO L273 TraceCheckUtils]: 69: Hoare triple {12883#true} assume true; {12883#true} is VALID [2018-11-23 12:17:27,347 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {12883#true} {12884#false} #75#return; {12884#false} is VALID [2018-11-23 12:17:27,347 INFO L273 TraceCheckUtils]: 71: Hoare triple {12884#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); {12884#false} is VALID [2018-11-23 12:17:27,347 INFO L256 TraceCheckUtils]: 72: Hoare triple {12884#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {12883#true} is VALID [2018-11-23 12:17:27,347 INFO L273 TraceCheckUtils]: 73: Hoare triple {12883#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12883#true} is VALID [2018-11-23 12:17:27,348 INFO L273 TraceCheckUtils]: 74: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,348 INFO L273 TraceCheckUtils]: 75: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,348 INFO L273 TraceCheckUtils]: 76: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,348 INFO L273 TraceCheckUtils]: 77: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,348 INFO L273 TraceCheckUtils]: 78: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,348 INFO L273 TraceCheckUtils]: 79: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,349 INFO L273 TraceCheckUtils]: 80: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,349 INFO L273 TraceCheckUtils]: 81: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,349 INFO L273 TraceCheckUtils]: 82: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,349 INFO L273 TraceCheckUtils]: 83: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,349 INFO L273 TraceCheckUtils]: 84: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,349 INFO L273 TraceCheckUtils]: 85: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,349 INFO L273 TraceCheckUtils]: 86: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,350 INFO L273 TraceCheckUtils]: 87: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,350 INFO L273 TraceCheckUtils]: 88: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,350 INFO L273 TraceCheckUtils]: 89: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,350 INFO L273 TraceCheckUtils]: 90: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,350 INFO L273 TraceCheckUtils]: 91: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,350 INFO L273 TraceCheckUtils]: 92: Hoare triple {12883#true} assume !(~i~0 < 40); {12883#true} is VALID [2018-11-23 12:17:27,350 INFO L273 TraceCheckUtils]: 93: Hoare triple {12883#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12883#true} is VALID [2018-11-23 12:17:27,351 INFO L273 TraceCheckUtils]: 94: Hoare triple {12883#true} assume true; {12883#true} is VALID [2018-11-23 12:17:27,351 INFO L268 TraceCheckUtils]: 95: Hoare quadruple {12883#true} {12884#false} #77#return; {12884#false} is VALID [2018-11-23 12:17:27,351 INFO L273 TraceCheckUtils]: 96: Hoare triple {12884#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; {12884#false} is VALID [2018-11-23 12:17:27,351 INFO L273 TraceCheckUtils]: 97: Hoare triple {12884#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12884#false} is VALID [2018-11-23 12:17:27,351 INFO L273 TraceCheckUtils]: 98: Hoare triple {12884#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12884#false} is VALID [2018-11-23 12:17:27,351 INFO L273 TraceCheckUtils]: 99: Hoare triple {12884#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12884#false} is VALID [2018-11-23 12:17:27,351 INFO L273 TraceCheckUtils]: 100: Hoare triple {12884#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12884#false} is VALID [2018-11-23 12:17:27,352 INFO L273 TraceCheckUtils]: 101: Hoare triple {12884#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12884#false} is VALID [2018-11-23 12:17:27,352 INFO L273 TraceCheckUtils]: 102: Hoare triple {12884#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12884#false} is VALID [2018-11-23 12:17:27,352 INFO L273 TraceCheckUtils]: 103: Hoare triple {12884#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12884#false} is VALID [2018-11-23 12:17:27,352 INFO L273 TraceCheckUtils]: 104: Hoare triple {12884#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12884#false} is VALID [2018-11-23 12:17:27,352 INFO L273 TraceCheckUtils]: 105: Hoare triple {12884#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12884#false} is VALID [2018-11-23 12:17:27,352 INFO L273 TraceCheckUtils]: 106: Hoare triple {12884#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12884#false} is VALID [2018-11-23 12:17:27,352 INFO L273 TraceCheckUtils]: 107: Hoare triple {12884#false} assume !(~i~2 < 39); {12884#false} is VALID [2018-11-23 12:17:27,353 INFO L273 TraceCheckUtils]: 108: Hoare triple {12884#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {12884#false} is VALID [2018-11-23 12:17:27,353 INFO L256 TraceCheckUtils]: 109: Hoare triple {12884#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {12883#true} is VALID [2018-11-23 12:17:27,353 INFO L273 TraceCheckUtils]: 110: Hoare triple {12883#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12883#true} is VALID [2018-11-23 12:17:27,353 INFO L273 TraceCheckUtils]: 111: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,353 INFO L273 TraceCheckUtils]: 112: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,353 INFO L273 TraceCheckUtils]: 113: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,353 INFO L273 TraceCheckUtils]: 114: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,354 INFO L273 TraceCheckUtils]: 115: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,354 INFO L273 TraceCheckUtils]: 116: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,354 INFO L273 TraceCheckUtils]: 117: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,354 INFO L273 TraceCheckUtils]: 118: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,354 INFO L273 TraceCheckUtils]: 119: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,355 INFO L273 TraceCheckUtils]: 120: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,355 INFO L273 TraceCheckUtils]: 121: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,355 INFO L273 TraceCheckUtils]: 122: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,355 INFO L273 TraceCheckUtils]: 123: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,355 INFO L273 TraceCheckUtils]: 124: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,356 INFO L273 TraceCheckUtils]: 125: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,356 INFO L273 TraceCheckUtils]: 126: Hoare triple {12883#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12883#true} is VALID [2018-11-23 12:17:27,356 INFO L273 TraceCheckUtils]: 127: Hoare triple {12883#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:27,356 INFO L273 TraceCheckUtils]: 128: Hoare triple {12883#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12883#true} is VALID [2018-11-23 12:17:27,356 INFO L273 TraceCheckUtils]: 129: Hoare triple {12883#true} assume !(~i~0 < 40); {12883#true} is VALID [2018-11-23 12:17:27,357 INFO L273 TraceCheckUtils]: 130: Hoare triple {12883#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12883#true} is VALID [2018-11-23 12:17:27,357 INFO L273 TraceCheckUtils]: 131: Hoare triple {12883#true} assume true; {12883#true} is VALID [2018-11-23 12:17:27,357 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {12883#true} {12884#false} #79#return; {12884#false} is VALID [2018-11-23 12:17:27,357 INFO L273 TraceCheckUtils]: 133: Hoare triple {12884#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {12884#false} is VALID [2018-11-23 12:17:27,358 INFO L273 TraceCheckUtils]: 134: Hoare triple {12884#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {12884#false} is VALID [2018-11-23 12:17:27,358 INFO L273 TraceCheckUtils]: 135: Hoare triple {12884#false} assume !false; {12884#false} is VALID [2018-11-23 12:17:27,377 INFO L134 CoverageAnalysis]: Checked inductivity of 953 backedges. 0 proven. 400 refuted. 0 times theorem prover too weak. 553 trivial. 0 not checked. [2018-11-23 12:17:27,378 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:27,378 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:27,414 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:17:27,486 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:17:27,486 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:27,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:27,517 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:27,744 INFO L256 TraceCheckUtils]: 0: Hoare triple {12883#true} call ULTIMATE.init(); {12883#true} is VALID [2018-11-23 12:17:27,744 INFO L273 TraceCheckUtils]: 1: Hoare triple {12883#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {12883#true} is VALID [2018-11-23 12:17:27,744 INFO L273 TraceCheckUtils]: 2: Hoare triple {12883#true} assume true; {12883#true} is VALID [2018-11-23 12:17:27,744 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12883#true} {12883#true} #71#return; {12883#true} is VALID [2018-11-23 12:17:27,745 INFO L256 TraceCheckUtils]: 4: Hoare triple {12883#true} call #t~ret14 := main(); {12883#true} is VALID [2018-11-23 12:17:27,745 INFO L273 TraceCheckUtils]: 5: Hoare triple {12883#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {12924#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:27,746 INFO L273 TraceCheckUtils]: 6: Hoare triple {12924#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12924#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:27,746 INFO L273 TraceCheckUtils]: 7: Hoare triple {12924#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12886#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:27,746 INFO L273 TraceCheckUtils]: 8: Hoare triple {12886#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12886#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:27,747 INFO L273 TraceCheckUtils]: 9: Hoare triple {12886#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12887#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:27,747 INFO L273 TraceCheckUtils]: 10: Hoare triple {12887#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12887#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:27,748 INFO L273 TraceCheckUtils]: 11: Hoare triple {12887#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12888#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:27,748 INFO L273 TraceCheckUtils]: 12: Hoare triple {12888#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12888#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:27,749 INFO L273 TraceCheckUtils]: 13: Hoare triple {12888#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12889#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:27,749 INFO L273 TraceCheckUtils]: 14: Hoare triple {12889#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12889#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:27,750 INFO L273 TraceCheckUtils]: 15: Hoare triple {12889#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12890#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:27,750 INFO L273 TraceCheckUtils]: 16: Hoare triple {12890#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12890#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:27,751 INFO L273 TraceCheckUtils]: 17: Hoare triple {12890#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12891#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:27,752 INFO L273 TraceCheckUtils]: 18: Hoare triple {12891#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12891#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:27,752 INFO L273 TraceCheckUtils]: 19: Hoare triple {12891#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12892#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:27,753 INFO L273 TraceCheckUtils]: 20: Hoare triple {12892#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12892#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:27,754 INFO L273 TraceCheckUtils]: 21: Hoare triple {12892#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12893#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:27,754 INFO L273 TraceCheckUtils]: 22: Hoare triple {12893#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12893#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:27,755 INFO L273 TraceCheckUtils]: 23: Hoare triple {12893#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12894#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:27,755 INFO L273 TraceCheckUtils]: 24: Hoare triple {12894#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12894#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:27,756 INFO L273 TraceCheckUtils]: 25: Hoare triple {12894#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12895#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:27,757 INFO L273 TraceCheckUtils]: 26: Hoare triple {12895#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12895#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:27,757 INFO L273 TraceCheckUtils]: 27: Hoare triple {12895#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12896#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:27,758 INFO L273 TraceCheckUtils]: 28: Hoare triple {12896#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12896#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:27,759 INFO L273 TraceCheckUtils]: 29: Hoare triple {12896#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12897#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:27,759 INFO L273 TraceCheckUtils]: 30: Hoare triple {12897#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12897#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:27,760 INFO L273 TraceCheckUtils]: 31: Hoare triple {12897#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12898#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:27,760 INFO L273 TraceCheckUtils]: 32: Hoare triple {12898#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12898#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:27,761 INFO L273 TraceCheckUtils]: 33: Hoare triple {12898#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12899#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:27,762 INFO L273 TraceCheckUtils]: 34: Hoare triple {12899#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12899#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:27,762 INFO L273 TraceCheckUtils]: 35: Hoare triple {12899#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12900#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:27,763 INFO L273 TraceCheckUtils]: 36: Hoare triple {12900#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12900#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:27,764 INFO L273 TraceCheckUtils]: 37: Hoare triple {12900#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12901#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:27,764 INFO L273 TraceCheckUtils]: 38: Hoare triple {12901#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12901#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:27,765 INFO L273 TraceCheckUtils]: 39: Hoare triple {12901#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12902#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:27,765 INFO L273 TraceCheckUtils]: 40: Hoare triple {12902#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12902#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:27,766 INFO L273 TraceCheckUtils]: 41: Hoare triple {12902#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12903#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:27,767 INFO L273 TraceCheckUtils]: 42: Hoare triple {12903#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12903#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:27,767 INFO L273 TraceCheckUtils]: 43: Hoare triple {12903#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12904#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:27,772 INFO L273 TraceCheckUtils]: 44: Hoare triple {12904#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12904#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:27,773 INFO L273 TraceCheckUtils]: 45: Hoare triple {12904#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12905#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:27,773 INFO L273 TraceCheckUtils]: 46: Hoare triple {12905#(<= main_~i~1 20)} assume !(~i~1 < 40); {12884#false} is VALID [2018-11-23 12:17:27,774 INFO L256 TraceCheckUtils]: 47: Hoare triple {12884#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {12884#false} is VALID [2018-11-23 12:17:27,774 INFO L273 TraceCheckUtils]: 48: Hoare triple {12884#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12884#false} is VALID [2018-11-23 12:17:27,774 INFO L273 TraceCheckUtils]: 49: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,774 INFO L273 TraceCheckUtils]: 50: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,774 INFO L273 TraceCheckUtils]: 51: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,774 INFO L273 TraceCheckUtils]: 52: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,774 INFO L273 TraceCheckUtils]: 53: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,774 INFO L273 TraceCheckUtils]: 54: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,774 INFO L273 TraceCheckUtils]: 55: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,775 INFO L273 TraceCheckUtils]: 56: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,775 INFO L273 TraceCheckUtils]: 57: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,775 INFO L273 TraceCheckUtils]: 58: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,775 INFO L273 TraceCheckUtils]: 59: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,775 INFO L273 TraceCheckUtils]: 60: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,775 INFO L273 TraceCheckUtils]: 61: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,775 INFO L273 TraceCheckUtils]: 62: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,775 INFO L273 TraceCheckUtils]: 63: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,775 INFO L273 TraceCheckUtils]: 64: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,776 INFO L273 TraceCheckUtils]: 65: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,776 INFO L273 TraceCheckUtils]: 66: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,776 INFO L273 TraceCheckUtils]: 67: Hoare triple {12884#false} assume !(~i~0 < 40); {12884#false} is VALID [2018-11-23 12:17:27,776 INFO L273 TraceCheckUtils]: 68: Hoare triple {12884#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12884#false} is VALID [2018-11-23 12:17:27,776 INFO L273 TraceCheckUtils]: 69: Hoare triple {12884#false} assume true; {12884#false} is VALID [2018-11-23 12:17:27,776 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {12884#false} {12884#false} #75#return; {12884#false} is VALID [2018-11-23 12:17:27,776 INFO L273 TraceCheckUtils]: 71: Hoare triple {12884#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); {12884#false} is VALID [2018-11-23 12:17:27,776 INFO L256 TraceCheckUtils]: 72: Hoare triple {12884#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {12884#false} is VALID [2018-11-23 12:17:27,776 INFO L273 TraceCheckUtils]: 73: Hoare triple {12884#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12884#false} is VALID [2018-11-23 12:17:27,777 INFO L273 TraceCheckUtils]: 74: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,777 INFO L273 TraceCheckUtils]: 75: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,777 INFO L273 TraceCheckUtils]: 76: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,777 INFO L273 TraceCheckUtils]: 77: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,777 INFO L273 TraceCheckUtils]: 78: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,777 INFO L273 TraceCheckUtils]: 79: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,777 INFO L273 TraceCheckUtils]: 80: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,777 INFO L273 TraceCheckUtils]: 81: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,777 INFO L273 TraceCheckUtils]: 82: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,778 INFO L273 TraceCheckUtils]: 83: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,778 INFO L273 TraceCheckUtils]: 84: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,778 INFO L273 TraceCheckUtils]: 85: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,778 INFO L273 TraceCheckUtils]: 86: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,778 INFO L273 TraceCheckUtils]: 87: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,778 INFO L273 TraceCheckUtils]: 88: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,778 INFO L273 TraceCheckUtils]: 89: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,778 INFO L273 TraceCheckUtils]: 90: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,778 INFO L273 TraceCheckUtils]: 91: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,778 INFO L273 TraceCheckUtils]: 92: Hoare triple {12884#false} assume !(~i~0 < 40); {12884#false} is VALID [2018-11-23 12:17:27,779 INFO L273 TraceCheckUtils]: 93: Hoare triple {12884#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12884#false} is VALID [2018-11-23 12:17:27,779 INFO L273 TraceCheckUtils]: 94: Hoare triple {12884#false} assume true; {12884#false} is VALID [2018-11-23 12:17:27,779 INFO L268 TraceCheckUtils]: 95: Hoare quadruple {12884#false} {12884#false} #77#return; {12884#false} is VALID [2018-11-23 12:17:27,779 INFO L273 TraceCheckUtils]: 96: Hoare triple {12884#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; {12884#false} is VALID [2018-11-23 12:17:27,779 INFO L273 TraceCheckUtils]: 97: Hoare triple {12884#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12884#false} is VALID [2018-11-23 12:17:27,779 INFO L273 TraceCheckUtils]: 98: Hoare triple {12884#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12884#false} is VALID [2018-11-23 12:17:27,779 INFO L273 TraceCheckUtils]: 99: Hoare triple {12884#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12884#false} is VALID [2018-11-23 12:17:27,779 INFO L273 TraceCheckUtils]: 100: Hoare triple {12884#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12884#false} is VALID [2018-11-23 12:17:27,779 INFO L273 TraceCheckUtils]: 101: Hoare triple {12884#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12884#false} is VALID [2018-11-23 12:17:27,780 INFO L273 TraceCheckUtils]: 102: Hoare triple {12884#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12884#false} is VALID [2018-11-23 12:17:27,780 INFO L273 TraceCheckUtils]: 103: Hoare triple {12884#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12884#false} is VALID [2018-11-23 12:17:27,780 INFO L273 TraceCheckUtils]: 104: Hoare triple {12884#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12884#false} is VALID [2018-11-23 12:17:27,780 INFO L273 TraceCheckUtils]: 105: Hoare triple {12884#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12884#false} is VALID [2018-11-23 12:17:27,780 INFO L273 TraceCheckUtils]: 106: Hoare triple {12884#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12884#false} is VALID [2018-11-23 12:17:27,780 INFO L273 TraceCheckUtils]: 107: Hoare triple {12884#false} assume !(~i~2 < 39); {12884#false} is VALID [2018-11-23 12:17:27,780 INFO L273 TraceCheckUtils]: 108: Hoare triple {12884#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {12884#false} is VALID [2018-11-23 12:17:27,780 INFO L256 TraceCheckUtils]: 109: Hoare triple {12884#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {12884#false} is VALID [2018-11-23 12:17:27,780 INFO L273 TraceCheckUtils]: 110: Hoare triple {12884#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12884#false} is VALID [2018-11-23 12:17:27,781 INFO L273 TraceCheckUtils]: 111: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,781 INFO L273 TraceCheckUtils]: 112: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,781 INFO L273 TraceCheckUtils]: 113: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,781 INFO L273 TraceCheckUtils]: 114: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,781 INFO L273 TraceCheckUtils]: 115: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,781 INFO L273 TraceCheckUtils]: 116: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,781 INFO L273 TraceCheckUtils]: 117: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,781 INFO L273 TraceCheckUtils]: 118: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,781 INFO L273 TraceCheckUtils]: 119: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,782 INFO L273 TraceCheckUtils]: 120: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,782 INFO L273 TraceCheckUtils]: 121: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,782 INFO L273 TraceCheckUtils]: 122: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,782 INFO L273 TraceCheckUtils]: 123: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,782 INFO L273 TraceCheckUtils]: 124: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,782 INFO L273 TraceCheckUtils]: 125: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,782 INFO L273 TraceCheckUtils]: 126: Hoare triple {12884#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12884#false} is VALID [2018-11-23 12:17:27,782 INFO L273 TraceCheckUtils]: 127: Hoare triple {12884#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:27,783 INFO L273 TraceCheckUtils]: 128: Hoare triple {12884#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12884#false} is VALID [2018-11-23 12:17:27,783 INFO L273 TraceCheckUtils]: 129: Hoare triple {12884#false} assume !(~i~0 < 40); {12884#false} is VALID [2018-11-23 12:17:27,783 INFO L273 TraceCheckUtils]: 130: Hoare triple {12884#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12884#false} is VALID [2018-11-23 12:17:27,783 INFO L273 TraceCheckUtils]: 131: Hoare triple {12884#false} assume true; {12884#false} is VALID [2018-11-23 12:17:27,783 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {12884#false} {12884#false} #79#return; {12884#false} is VALID [2018-11-23 12:17:27,783 INFO L273 TraceCheckUtils]: 133: Hoare triple {12884#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {12884#false} is VALID [2018-11-23 12:17:27,784 INFO L273 TraceCheckUtils]: 134: Hoare triple {12884#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {12884#false} is VALID [2018-11-23 12:17:27,784 INFO L273 TraceCheckUtils]: 135: Hoare triple {12884#false} assume !false; {12884#false} is VALID [2018-11-23 12:17:27,794 INFO L134 CoverageAnalysis]: Checked inductivity of 953 backedges. 0 proven. 400 refuted. 0 times theorem prover too weak. 553 trivial. 0 not checked. [2018-11-23 12:17:27,823 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:27,823 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 23] total 24 [2018-11-23 12:17:27,824 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 136 [2018-11-23 12:17:27,824 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:27,825 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 12:17:27,965 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:27,965 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 12:17:27,966 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 12:17:27,966 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=276, Invalid=276, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:17:27,966 INFO L87 Difference]: Start difference. First operand 91 states and 101 transitions. Second operand 24 states. [2018-11-23 12:17:28,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:28,564 INFO L93 Difference]: Finished difference Result 138 states and 158 transitions. [2018-11-23 12:17:28,564 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-23 12:17:28,564 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 136 [2018-11-23 12:17:28,564 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:28,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:17:28,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 98 transitions. [2018-11-23 12:17:28,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:17:28,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 98 transitions. [2018-11-23 12:17:28,566 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 98 transitions. [2018-11-23 12:17:28,677 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:28,679 INFO L225 Difference]: With dead ends: 138 [2018-11-23 12:17:28,679 INFO L226 Difference]: Without dead ends: 94 [2018-11-23 12:17:28,679 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 158 GetRequests, 136 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=276, Invalid=276, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:17:28,680 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2018-11-23 12:17:28,806 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 93. [2018-11-23 12:17:28,806 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:28,806 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand 93 states. [2018-11-23 12:17:28,806 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 93 states. [2018-11-23 12:17:28,806 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 93 states. [2018-11-23 12:17:28,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:28,808 INFO L93 Difference]: Finished difference Result 94 states and 104 transitions. [2018-11-23 12:17:28,808 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 104 transitions. [2018-11-23 12:17:28,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:28,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:28,808 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 94 states. [2018-11-23 12:17:28,809 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 94 states. [2018-11-23 12:17:28,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:28,810 INFO L93 Difference]: Finished difference Result 94 states and 104 transitions. [2018-11-23 12:17:28,810 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 104 transitions. [2018-11-23 12:17:28,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:28,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:28,810 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:28,811 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:28,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 93 states. [2018-11-23 12:17:28,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 103 transitions. [2018-11-23 12:17:28,812 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 103 transitions. Word has length 136 [2018-11-23 12:17:28,812 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:28,812 INFO L480 AbstractCegarLoop]: Abstraction has 93 states and 103 transitions. [2018-11-23 12:17:28,812 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 12:17:28,812 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 103 transitions. [2018-11-23 12:17:28,813 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 139 [2018-11-23 12:17:28,813 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:28,814 INFO L402 BasicCegarLoop]: trace histogram [21, 21, 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:28,814 INFO L423 AbstractCegarLoop]: === Iteration 25 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:28,814 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:28,814 INFO L82 PathProgramCache]: Analyzing trace with hash 1584939478, now seen corresponding path program 21 times [2018-11-23 12:17:28,814 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:28,814 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:28,815 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:28,815 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:28,815 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:28,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:29,344 INFO L256 TraceCheckUtils]: 0: Hoare triple {13836#true} call ULTIMATE.init(); {13836#true} is VALID [2018-11-23 12:17:29,345 INFO L273 TraceCheckUtils]: 1: Hoare triple {13836#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {13836#true} is VALID [2018-11-23 12:17:29,345 INFO L273 TraceCheckUtils]: 2: Hoare triple {13836#true} assume true; {13836#true} is VALID [2018-11-23 12:17:29,345 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13836#true} {13836#true} #71#return; {13836#true} is VALID [2018-11-23 12:17:29,345 INFO L256 TraceCheckUtils]: 4: Hoare triple {13836#true} call #t~ret14 := main(); {13836#true} is VALID [2018-11-23 12:17:29,346 INFO L273 TraceCheckUtils]: 5: Hoare triple {13836#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {13838#(= main_~i~1 0)} is VALID [2018-11-23 12:17:29,346 INFO L273 TraceCheckUtils]: 6: Hoare triple {13838#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13838#(= main_~i~1 0)} is VALID [2018-11-23 12:17:29,347 INFO L273 TraceCheckUtils]: 7: Hoare triple {13838#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13839#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:29,347 INFO L273 TraceCheckUtils]: 8: Hoare triple {13839#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13839#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:29,348 INFO L273 TraceCheckUtils]: 9: Hoare triple {13839#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13840#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:29,348 INFO L273 TraceCheckUtils]: 10: Hoare triple {13840#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13840#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:29,349 INFO L273 TraceCheckUtils]: 11: Hoare triple {13840#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13841#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:29,349 INFO L273 TraceCheckUtils]: 12: Hoare triple {13841#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13841#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:29,350 INFO L273 TraceCheckUtils]: 13: Hoare triple {13841#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13842#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:29,350 INFO L273 TraceCheckUtils]: 14: Hoare triple {13842#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13842#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:29,351 INFO L273 TraceCheckUtils]: 15: Hoare triple {13842#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13843#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:29,351 INFO L273 TraceCheckUtils]: 16: Hoare triple {13843#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13843#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:29,352 INFO L273 TraceCheckUtils]: 17: Hoare triple {13843#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13844#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:29,353 INFO L273 TraceCheckUtils]: 18: Hoare triple {13844#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13844#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:29,353 INFO L273 TraceCheckUtils]: 19: Hoare triple {13844#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13845#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:29,354 INFO L273 TraceCheckUtils]: 20: Hoare triple {13845#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13845#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:29,355 INFO L273 TraceCheckUtils]: 21: Hoare triple {13845#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13846#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:29,355 INFO L273 TraceCheckUtils]: 22: Hoare triple {13846#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13846#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:29,356 INFO L273 TraceCheckUtils]: 23: Hoare triple {13846#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13847#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:29,356 INFO L273 TraceCheckUtils]: 24: Hoare triple {13847#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13847#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:29,357 INFO L273 TraceCheckUtils]: 25: Hoare triple {13847#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13848#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:29,358 INFO L273 TraceCheckUtils]: 26: Hoare triple {13848#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13848#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:29,358 INFO L273 TraceCheckUtils]: 27: Hoare triple {13848#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13849#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:29,359 INFO L273 TraceCheckUtils]: 28: Hoare triple {13849#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13849#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:29,360 INFO L273 TraceCheckUtils]: 29: Hoare triple {13849#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13850#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:29,360 INFO L273 TraceCheckUtils]: 30: Hoare triple {13850#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13850#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:29,361 INFO L273 TraceCheckUtils]: 31: Hoare triple {13850#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13851#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:29,361 INFO L273 TraceCheckUtils]: 32: Hoare triple {13851#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13851#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:29,362 INFO L273 TraceCheckUtils]: 33: Hoare triple {13851#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13852#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:29,363 INFO L273 TraceCheckUtils]: 34: Hoare triple {13852#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13852#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:29,363 INFO L273 TraceCheckUtils]: 35: Hoare triple {13852#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13853#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:29,364 INFO L273 TraceCheckUtils]: 36: Hoare triple {13853#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13853#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:29,365 INFO L273 TraceCheckUtils]: 37: Hoare triple {13853#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13854#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:29,365 INFO L273 TraceCheckUtils]: 38: Hoare triple {13854#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13854#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:29,366 INFO L273 TraceCheckUtils]: 39: Hoare triple {13854#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13855#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:29,366 INFO L273 TraceCheckUtils]: 40: Hoare triple {13855#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13855#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:29,367 INFO L273 TraceCheckUtils]: 41: Hoare triple {13855#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13856#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:29,368 INFO L273 TraceCheckUtils]: 42: Hoare triple {13856#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13856#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:29,368 INFO L273 TraceCheckUtils]: 43: Hoare triple {13856#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13857#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:29,369 INFO L273 TraceCheckUtils]: 44: Hoare triple {13857#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13857#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:29,370 INFO L273 TraceCheckUtils]: 45: Hoare triple {13857#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13858#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:29,370 INFO L273 TraceCheckUtils]: 46: Hoare triple {13858#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13858#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:29,371 INFO L273 TraceCheckUtils]: 47: Hoare triple {13858#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13859#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:29,372 INFO L273 TraceCheckUtils]: 48: Hoare triple {13859#(<= main_~i~1 21)} assume !(~i~1 < 40); {13837#false} is VALID [2018-11-23 12:17:29,372 INFO L256 TraceCheckUtils]: 49: Hoare triple {13837#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {13836#true} is VALID [2018-11-23 12:17:29,372 INFO L273 TraceCheckUtils]: 50: Hoare triple {13836#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13836#true} is VALID [2018-11-23 12:17:29,372 INFO L273 TraceCheckUtils]: 51: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,372 INFO L273 TraceCheckUtils]: 52: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,373 INFO L273 TraceCheckUtils]: 53: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,373 INFO L273 TraceCheckUtils]: 54: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,373 INFO L273 TraceCheckUtils]: 55: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,373 INFO L273 TraceCheckUtils]: 56: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,373 INFO L273 TraceCheckUtils]: 57: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,374 INFO L273 TraceCheckUtils]: 58: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,374 INFO L273 TraceCheckUtils]: 59: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,374 INFO L273 TraceCheckUtils]: 60: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,374 INFO L273 TraceCheckUtils]: 61: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,374 INFO L273 TraceCheckUtils]: 62: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,374 INFO L273 TraceCheckUtils]: 63: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,374 INFO L273 TraceCheckUtils]: 64: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,375 INFO L273 TraceCheckUtils]: 65: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,375 INFO L273 TraceCheckUtils]: 66: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,375 INFO L273 TraceCheckUtils]: 67: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,375 INFO L273 TraceCheckUtils]: 68: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,375 INFO L273 TraceCheckUtils]: 69: Hoare triple {13836#true} assume !(~i~0 < 40); {13836#true} is VALID [2018-11-23 12:17:29,375 INFO L273 TraceCheckUtils]: 70: Hoare triple {13836#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13836#true} is VALID [2018-11-23 12:17:29,375 INFO L273 TraceCheckUtils]: 71: Hoare triple {13836#true} assume true; {13836#true} is VALID [2018-11-23 12:17:29,375 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {13836#true} {13837#false} #75#return; {13837#false} is VALID [2018-11-23 12:17:29,375 INFO L273 TraceCheckUtils]: 73: Hoare triple {13837#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); {13837#false} is VALID [2018-11-23 12:17:29,376 INFO L256 TraceCheckUtils]: 74: Hoare triple {13837#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {13836#true} is VALID [2018-11-23 12:17:29,376 INFO L273 TraceCheckUtils]: 75: Hoare triple {13836#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13836#true} is VALID [2018-11-23 12:17:29,376 INFO L273 TraceCheckUtils]: 76: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,376 INFO L273 TraceCheckUtils]: 77: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,376 INFO L273 TraceCheckUtils]: 78: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,376 INFO L273 TraceCheckUtils]: 79: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,376 INFO L273 TraceCheckUtils]: 80: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,376 INFO L273 TraceCheckUtils]: 81: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,376 INFO L273 TraceCheckUtils]: 82: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,377 INFO L273 TraceCheckUtils]: 83: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,377 INFO L273 TraceCheckUtils]: 84: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,377 INFO L273 TraceCheckUtils]: 85: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,377 INFO L273 TraceCheckUtils]: 86: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,377 INFO L273 TraceCheckUtils]: 87: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,377 INFO L273 TraceCheckUtils]: 88: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,377 INFO L273 TraceCheckUtils]: 89: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,377 INFO L273 TraceCheckUtils]: 90: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,377 INFO L273 TraceCheckUtils]: 91: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,378 INFO L273 TraceCheckUtils]: 92: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,378 INFO L273 TraceCheckUtils]: 93: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,378 INFO L273 TraceCheckUtils]: 94: Hoare triple {13836#true} assume !(~i~0 < 40); {13836#true} is VALID [2018-11-23 12:17:29,378 INFO L273 TraceCheckUtils]: 95: Hoare triple {13836#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13836#true} is VALID [2018-11-23 12:17:29,378 INFO L273 TraceCheckUtils]: 96: Hoare triple {13836#true} assume true; {13836#true} is VALID [2018-11-23 12:17:29,378 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {13836#true} {13837#false} #77#return; {13837#false} is VALID [2018-11-23 12:17:29,378 INFO L273 TraceCheckUtils]: 98: Hoare triple {13837#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; {13837#false} is VALID [2018-11-23 12:17:29,378 INFO L273 TraceCheckUtils]: 99: Hoare triple {13837#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13837#false} is VALID [2018-11-23 12:17:29,378 INFO L273 TraceCheckUtils]: 100: Hoare triple {13837#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13837#false} is VALID [2018-11-23 12:17:29,378 INFO L273 TraceCheckUtils]: 101: Hoare triple {13837#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13837#false} is VALID [2018-11-23 12:17:29,379 INFO L273 TraceCheckUtils]: 102: Hoare triple {13837#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13837#false} is VALID [2018-11-23 12:17:29,379 INFO L273 TraceCheckUtils]: 103: Hoare triple {13837#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13837#false} is VALID [2018-11-23 12:17:29,379 INFO L273 TraceCheckUtils]: 104: Hoare triple {13837#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13837#false} is VALID [2018-11-23 12:17:29,379 INFO L273 TraceCheckUtils]: 105: Hoare triple {13837#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13837#false} is VALID [2018-11-23 12:17:29,379 INFO L273 TraceCheckUtils]: 106: Hoare triple {13837#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13837#false} is VALID [2018-11-23 12:17:29,379 INFO L273 TraceCheckUtils]: 107: Hoare triple {13837#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13837#false} is VALID [2018-11-23 12:17:29,379 INFO L273 TraceCheckUtils]: 108: Hoare triple {13837#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13837#false} is VALID [2018-11-23 12:17:29,379 INFO L273 TraceCheckUtils]: 109: Hoare triple {13837#false} assume !(~i~2 < 39); {13837#false} is VALID [2018-11-23 12:17:29,379 INFO L273 TraceCheckUtils]: 110: Hoare triple {13837#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {13837#false} is VALID [2018-11-23 12:17:29,380 INFO L256 TraceCheckUtils]: 111: Hoare triple {13837#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {13836#true} is VALID [2018-11-23 12:17:29,380 INFO L273 TraceCheckUtils]: 112: Hoare triple {13836#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13836#true} is VALID [2018-11-23 12:17:29,380 INFO L273 TraceCheckUtils]: 113: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,380 INFO L273 TraceCheckUtils]: 114: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,380 INFO L273 TraceCheckUtils]: 115: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,380 INFO L273 TraceCheckUtils]: 116: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,380 INFO L273 TraceCheckUtils]: 117: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,380 INFO L273 TraceCheckUtils]: 118: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,380 INFO L273 TraceCheckUtils]: 119: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,381 INFO L273 TraceCheckUtils]: 120: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,381 INFO L273 TraceCheckUtils]: 121: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,381 INFO L273 TraceCheckUtils]: 122: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,381 INFO L273 TraceCheckUtils]: 123: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,381 INFO L273 TraceCheckUtils]: 124: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,381 INFO L273 TraceCheckUtils]: 125: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,381 INFO L273 TraceCheckUtils]: 126: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,381 INFO L273 TraceCheckUtils]: 127: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,381 INFO L273 TraceCheckUtils]: 128: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,382 INFO L273 TraceCheckUtils]: 129: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,382 INFO L273 TraceCheckUtils]: 130: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,382 INFO L273 TraceCheckUtils]: 131: Hoare triple {13836#true} assume !(~i~0 < 40); {13836#true} is VALID [2018-11-23 12:17:29,382 INFO L273 TraceCheckUtils]: 132: Hoare triple {13836#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13836#true} is VALID [2018-11-23 12:17:29,382 INFO L273 TraceCheckUtils]: 133: Hoare triple {13836#true} assume true; {13836#true} is VALID [2018-11-23 12:17:29,382 INFO L268 TraceCheckUtils]: 134: Hoare quadruple {13836#true} {13837#false} #79#return; {13837#false} is VALID [2018-11-23 12:17:29,382 INFO L273 TraceCheckUtils]: 135: Hoare triple {13837#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {13837#false} is VALID [2018-11-23 12:17:29,382 INFO L273 TraceCheckUtils]: 136: Hoare triple {13837#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {13837#false} is VALID [2018-11-23 12:17:29,382 INFO L273 TraceCheckUtils]: 137: Hoare triple {13837#false} assume !false; {13837#false} is VALID [2018-11-23 12:17:29,391 INFO L134 CoverageAnalysis]: Checked inductivity of 994 backedges. 0 proven. 441 refuted. 0 times theorem prover too weak. 553 trivial. 0 not checked. [2018-11-23 12:17:29,391 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:29,391 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:29,404 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:17:29,524 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2018-11-23 12:17:29,524 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:29,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:29,558 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:29,810 INFO L256 TraceCheckUtils]: 0: Hoare triple {13836#true} call ULTIMATE.init(); {13836#true} is VALID [2018-11-23 12:17:29,811 INFO L273 TraceCheckUtils]: 1: Hoare triple {13836#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {13836#true} is VALID [2018-11-23 12:17:29,811 INFO L273 TraceCheckUtils]: 2: Hoare triple {13836#true} assume true; {13836#true} is VALID [2018-11-23 12:17:29,811 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13836#true} {13836#true} #71#return; {13836#true} is VALID [2018-11-23 12:17:29,811 INFO L256 TraceCheckUtils]: 4: Hoare triple {13836#true} call #t~ret14 := main(); {13836#true} is VALID [2018-11-23 12:17:29,812 INFO L273 TraceCheckUtils]: 5: Hoare triple {13836#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {13836#true} is VALID [2018-11-23 12:17:29,812 INFO L273 TraceCheckUtils]: 6: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,812 INFO L273 TraceCheckUtils]: 7: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,812 INFO L273 TraceCheckUtils]: 8: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,812 INFO L273 TraceCheckUtils]: 9: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,812 INFO L273 TraceCheckUtils]: 10: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,812 INFO L273 TraceCheckUtils]: 11: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,813 INFO L273 TraceCheckUtils]: 12: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,813 INFO L273 TraceCheckUtils]: 13: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,813 INFO L273 TraceCheckUtils]: 14: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,813 INFO L273 TraceCheckUtils]: 15: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,813 INFO L273 TraceCheckUtils]: 16: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,813 INFO L273 TraceCheckUtils]: 17: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,813 INFO L273 TraceCheckUtils]: 18: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,813 INFO L273 TraceCheckUtils]: 19: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,813 INFO L273 TraceCheckUtils]: 20: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,814 INFO L273 TraceCheckUtils]: 21: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,814 INFO L273 TraceCheckUtils]: 22: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,814 INFO L273 TraceCheckUtils]: 23: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,814 INFO L273 TraceCheckUtils]: 24: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,814 INFO L273 TraceCheckUtils]: 25: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,814 INFO L273 TraceCheckUtils]: 26: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,814 INFO L273 TraceCheckUtils]: 27: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,814 INFO L273 TraceCheckUtils]: 28: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,814 INFO L273 TraceCheckUtils]: 29: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,815 INFO L273 TraceCheckUtils]: 30: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,815 INFO L273 TraceCheckUtils]: 31: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,815 INFO L273 TraceCheckUtils]: 32: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,815 INFO L273 TraceCheckUtils]: 33: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,815 INFO L273 TraceCheckUtils]: 34: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,815 INFO L273 TraceCheckUtils]: 35: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,815 INFO L273 TraceCheckUtils]: 36: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,815 INFO L273 TraceCheckUtils]: 37: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,815 INFO L273 TraceCheckUtils]: 38: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,815 INFO L273 TraceCheckUtils]: 39: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,816 INFO L273 TraceCheckUtils]: 40: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,816 INFO L273 TraceCheckUtils]: 41: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,816 INFO L273 TraceCheckUtils]: 42: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,816 INFO L273 TraceCheckUtils]: 43: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,816 INFO L273 TraceCheckUtils]: 44: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,816 INFO L273 TraceCheckUtils]: 45: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,816 INFO L273 TraceCheckUtils]: 46: Hoare triple {13836#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13836#true} is VALID [2018-11-23 12:17:29,816 INFO L273 TraceCheckUtils]: 47: Hoare triple {13836#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13836#true} is VALID [2018-11-23 12:17:29,816 INFO L273 TraceCheckUtils]: 48: Hoare triple {13836#true} assume !(~i~1 < 40); {13836#true} is VALID [2018-11-23 12:17:29,817 INFO L256 TraceCheckUtils]: 49: Hoare triple {13836#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {13836#true} is VALID [2018-11-23 12:17:29,817 INFO L273 TraceCheckUtils]: 50: Hoare triple {13836#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13836#true} is VALID [2018-11-23 12:17:29,817 INFO L273 TraceCheckUtils]: 51: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,817 INFO L273 TraceCheckUtils]: 52: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,817 INFO L273 TraceCheckUtils]: 53: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,817 INFO L273 TraceCheckUtils]: 54: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,817 INFO L273 TraceCheckUtils]: 55: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,817 INFO L273 TraceCheckUtils]: 56: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,817 INFO L273 TraceCheckUtils]: 57: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,818 INFO L273 TraceCheckUtils]: 58: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,818 INFO L273 TraceCheckUtils]: 59: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,818 INFO L273 TraceCheckUtils]: 60: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,818 INFO L273 TraceCheckUtils]: 61: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,818 INFO L273 TraceCheckUtils]: 62: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,818 INFO L273 TraceCheckUtils]: 63: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,818 INFO L273 TraceCheckUtils]: 64: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,818 INFO L273 TraceCheckUtils]: 65: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,818 INFO L273 TraceCheckUtils]: 66: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,819 INFO L273 TraceCheckUtils]: 67: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,819 INFO L273 TraceCheckUtils]: 68: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,819 INFO L273 TraceCheckUtils]: 69: Hoare triple {13836#true} assume !(~i~0 < 40); {13836#true} is VALID [2018-11-23 12:17:29,819 INFO L273 TraceCheckUtils]: 70: Hoare triple {13836#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13836#true} is VALID [2018-11-23 12:17:29,819 INFO L273 TraceCheckUtils]: 71: Hoare triple {13836#true} assume true; {13836#true} is VALID [2018-11-23 12:17:29,819 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {13836#true} {13836#true} #75#return; {13836#true} is VALID [2018-11-23 12:17:29,819 INFO L273 TraceCheckUtils]: 73: Hoare triple {13836#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); {13836#true} is VALID [2018-11-23 12:17:29,819 INFO L256 TraceCheckUtils]: 74: Hoare triple {13836#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {13836#true} is VALID [2018-11-23 12:17:29,819 INFO L273 TraceCheckUtils]: 75: Hoare triple {13836#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13836#true} is VALID [2018-11-23 12:17:29,820 INFO L273 TraceCheckUtils]: 76: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,820 INFO L273 TraceCheckUtils]: 77: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,820 INFO L273 TraceCheckUtils]: 78: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,820 INFO L273 TraceCheckUtils]: 79: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,820 INFO L273 TraceCheckUtils]: 80: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,820 INFO L273 TraceCheckUtils]: 81: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,820 INFO L273 TraceCheckUtils]: 82: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,820 INFO L273 TraceCheckUtils]: 83: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,820 INFO L273 TraceCheckUtils]: 84: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,820 INFO L273 TraceCheckUtils]: 85: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,821 INFO L273 TraceCheckUtils]: 86: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,821 INFO L273 TraceCheckUtils]: 87: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,821 INFO L273 TraceCheckUtils]: 88: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,821 INFO L273 TraceCheckUtils]: 89: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,821 INFO L273 TraceCheckUtils]: 90: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,821 INFO L273 TraceCheckUtils]: 91: Hoare triple {13836#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13836#true} is VALID [2018-11-23 12:17:29,821 INFO L273 TraceCheckUtils]: 92: Hoare triple {13836#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {13836#true} is VALID [2018-11-23 12:17:29,821 INFO L273 TraceCheckUtils]: 93: Hoare triple {13836#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13836#true} is VALID [2018-11-23 12:17:29,821 INFO L273 TraceCheckUtils]: 94: Hoare triple {13836#true} assume !(~i~0 < 40); {13836#true} is VALID [2018-11-23 12:17:29,821 INFO L273 TraceCheckUtils]: 95: Hoare triple {13836#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13836#true} is VALID [2018-11-23 12:17:29,822 INFO L273 TraceCheckUtils]: 96: Hoare triple {13836#true} assume true; {13836#true} is VALID [2018-11-23 12:17:29,822 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {13836#true} {13836#true} #77#return; {13836#true} is VALID [2018-11-23 12:17:29,822 INFO L273 TraceCheckUtils]: 98: Hoare triple {13836#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; {13836#true} is VALID [2018-11-23 12:17:29,822 INFO L273 TraceCheckUtils]: 99: Hoare triple {13836#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13836#true} is VALID [2018-11-23 12:17:29,822 INFO L273 TraceCheckUtils]: 100: Hoare triple {13836#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13836#true} is VALID [2018-11-23 12:17:29,822 INFO L273 TraceCheckUtils]: 101: Hoare triple {13836#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13836#true} is VALID [2018-11-23 12:17:29,822 INFO L273 TraceCheckUtils]: 102: Hoare triple {13836#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13836#true} is VALID [2018-11-23 12:17:29,823 INFO L273 TraceCheckUtils]: 103: Hoare triple {13836#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13836#true} is VALID [2018-11-23 12:17:29,823 INFO L273 TraceCheckUtils]: 104: Hoare triple {13836#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13836#true} is VALID [2018-11-23 12:17:29,823 INFO L273 TraceCheckUtils]: 105: Hoare triple {13836#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13836#true} is VALID [2018-11-23 12:17:29,823 INFO L273 TraceCheckUtils]: 106: Hoare triple {13836#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13836#true} is VALID [2018-11-23 12:17:29,823 INFO L273 TraceCheckUtils]: 107: Hoare triple {13836#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13836#true} is VALID [2018-11-23 12:17:29,823 INFO L273 TraceCheckUtils]: 108: Hoare triple {13836#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13836#true} is VALID [2018-11-23 12:17:29,824 INFO L273 TraceCheckUtils]: 109: Hoare triple {13836#true} assume !(~i~2 < 39); {13836#true} is VALID [2018-11-23 12:17:29,824 INFO L273 TraceCheckUtils]: 110: Hoare triple {13836#true} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {13836#true} is VALID [2018-11-23 12:17:29,824 INFO L256 TraceCheckUtils]: 111: Hoare triple {13836#true} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {13836#true} is VALID [2018-11-23 12:17:29,824 INFO L273 TraceCheckUtils]: 112: Hoare triple {13836#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {14199#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:29,825 INFO L273 TraceCheckUtils]: 113: Hoare triple {14199#(<= sep_~i~0 0)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14199#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:29,825 INFO L273 TraceCheckUtils]: 114: Hoare triple {14199#(<= 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; {14199#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:29,826 INFO L273 TraceCheckUtils]: 115: Hoare triple {14199#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14209#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:29,826 INFO L273 TraceCheckUtils]: 116: Hoare triple {14209#(<= sep_~i~0 1)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14209#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:29,827 INFO L273 TraceCheckUtils]: 117: Hoare triple {14209#(<= 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; {14209#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:29,827 INFO L273 TraceCheckUtils]: 118: Hoare triple {14209#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14219#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:29,828 INFO L273 TraceCheckUtils]: 119: Hoare triple {14219#(<= sep_~i~0 2)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14219#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:29,828 INFO L273 TraceCheckUtils]: 120: Hoare triple {14219#(<= 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; {14219#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:29,828 INFO L273 TraceCheckUtils]: 121: Hoare triple {14219#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14229#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:29,829 INFO L273 TraceCheckUtils]: 122: Hoare triple {14229#(<= sep_~i~0 3)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14229#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:29,829 INFO L273 TraceCheckUtils]: 123: Hoare triple {14229#(<= 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; {14229#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:29,830 INFO L273 TraceCheckUtils]: 124: Hoare triple {14229#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14239#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:29,831 INFO L273 TraceCheckUtils]: 125: Hoare triple {14239#(<= sep_~i~0 4)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14239#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:29,831 INFO L273 TraceCheckUtils]: 126: Hoare triple {14239#(<= 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; {14239#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:29,832 INFO L273 TraceCheckUtils]: 127: Hoare triple {14239#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14249#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:29,832 INFO L273 TraceCheckUtils]: 128: Hoare triple {14249#(<= sep_~i~0 5)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14249#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:29,833 INFO L273 TraceCheckUtils]: 129: Hoare triple {14249#(<= 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; {14249#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:29,834 INFO L273 TraceCheckUtils]: 130: Hoare triple {14249#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14259#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:29,834 INFO L273 TraceCheckUtils]: 131: Hoare triple {14259#(<= sep_~i~0 6)} assume !(~i~0 < 40); {13837#false} is VALID [2018-11-23 12:17:29,834 INFO L273 TraceCheckUtils]: 132: Hoare triple {13837#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13837#false} is VALID [2018-11-23 12:17:29,835 INFO L273 TraceCheckUtils]: 133: Hoare triple {13837#false} assume true; {13837#false} is VALID [2018-11-23 12:17:29,835 INFO L268 TraceCheckUtils]: 134: Hoare quadruple {13837#false} {13836#true} #79#return; {13837#false} is VALID [2018-11-23 12:17:29,835 INFO L273 TraceCheckUtils]: 135: Hoare triple {13837#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {13837#false} is VALID [2018-11-23 12:17:29,835 INFO L273 TraceCheckUtils]: 136: Hoare triple {13837#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {13837#false} is VALID [2018-11-23 12:17:29,835 INFO L273 TraceCheckUtils]: 137: Hoare triple {13837#false} assume !false; {13837#false} is VALID [2018-11-23 12:17:29,843 INFO L134 CoverageAnalysis]: Checked inductivity of 994 backedges. 248 proven. 51 refuted. 0 times theorem prover too weak. 695 trivial. 0 not checked. [2018-11-23 12:17:29,862 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:29,862 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [24, 9] total 31 [2018-11-23 12:17:29,862 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 138 [2018-11-23 12:17:29,863 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:29,863 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2018-11-23 12:17:29,979 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:29,979 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2018-11-23 12:17:29,980 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2018-11-23 12:17:29,980 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=311, Invalid=619, Unknown=0, NotChecked=0, Total=930 [2018-11-23 12:17:29,981 INFO L87 Difference]: Start difference. First operand 93 states and 103 transitions. Second operand 31 states. [2018-11-23 12:17:30,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:30,998 INFO L93 Difference]: Finished difference Result 145 states and 171 transitions. [2018-11-23 12:17:30,998 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2018-11-23 12:17:30,998 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 138 [2018-11-23 12:17:30,998 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:30,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:17:30,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 132 transitions. [2018-11-23 12:17:31,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:17:31,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 132 transitions. [2018-11-23 12:17:31,001 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states and 132 transitions. [2018-11-23 12:17:31,151 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:31,153 INFO L225 Difference]: With dead ends: 145 [2018-11-23 12:17:31,153 INFO L226 Difference]: Without dead ends: 101 [2018-11-23 12:17:31,154 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 132 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 147 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=311, Invalid=619, Unknown=0, NotChecked=0, Total=930 [2018-11-23 12:17:31,154 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2018-11-23 12:17:31,197 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 98. [2018-11-23 12:17:31,197 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:31,197 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand 98 states. [2018-11-23 12:17:31,197 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 98 states. [2018-11-23 12:17:31,198 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 98 states. [2018-11-23 12:17:31,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:31,199 INFO L93 Difference]: Finished difference Result 101 states and 113 transitions. [2018-11-23 12:17:31,199 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 113 transitions. [2018-11-23 12:17:31,200 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:31,200 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:31,200 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 101 states. [2018-11-23 12:17:31,200 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 101 states. [2018-11-23 12:17:31,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:31,202 INFO L93 Difference]: Finished difference Result 101 states and 113 transitions. [2018-11-23 12:17:31,202 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 113 transitions. [2018-11-23 12:17:31,202 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:31,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:31,203 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:31,203 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:31,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-23 12:17:31,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 109 transitions. [2018-11-23 12:17:31,205 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 109 transitions. Word has length 138 [2018-11-23 12:17:31,205 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:31,205 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 109 transitions. [2018-11-23 12:17:31,205 INFO L481 AbstractCegarLoop]: Interpolant automaton has 31 states. [2018-11-23 12:17:31,205 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 109 transitions. [2018-11-23 12:17:31,206 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 150 [2018-11-23 12:17:31,206 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:31,207 INFO L402 BasicCegarLoop]: trace histogram [22, 22, 21, 21, 21, 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:31,207 INFO L423 AbstractCegarLoop]: === Iteration 26 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:31,207 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:31,207 INFO L82 PathProgramCache]: Analyzing trace with hash 1061708125, now seen corresponding path program 22 times [2018-11-23 12:17:31,207 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:31,207 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:31,208 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:31,208 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:31,208 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:31,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:32,811 INFO L256 TraceCheckUtils]: 0: Hoare triple {14832#true} call ULTIMATE.init(); {14832#true} is VALID [2018-11-23 12:17:32,811 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:32,812 INFO L273 TraceCheckUtils]: 2: Hoare triple {14832#true} assume true; {14832#true} is VALID [2018-11-23 12:17:32,812 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14832#true} {14832#true} #71#return; {14832#true} is VALID [2018-11-23 12:17:32,812 INFO L256 TraceCheckUtils]: 4: Hoare triple {14832#true} call #t~ret14 := main(); {14832#true} is VALID [2018-11-23 12:17:32,812 INFO L273 TraceCheckUtils]: 5: Hoare triple {14832#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {14834#(= main_~i~1 0)} is VALID [2018-11-23 12:17:32,813 INFO L273 TraceCheckUtils]: 6: Hoare triple {14834#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14834#(= main_~i~1 0)} is VALID [2018-11-23 12:17:32,814 INFO L273 TraceCheckUtils]: 7: Hoare triple {14834#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14835#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:32,814 INFO L273 TraceCheckUtils]: 8: Hoare triple {14835#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14835#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:32,815 INFO L273 TraceCheckUtils]: 9: Hoare triple {14835#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14836#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:32,816 INFO L273 TraceCheckUtils]: 10: Hoare triple {14836#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14836#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:32,816 INFO L273 TraceCheckUtils]: 11: Hoare triple {14836#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14837#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:32,817 INFO L273 TraceCheckUtils]: 12: Hoare triple {14837#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14837#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:32,818 INFO L273 TraceCheckUtils]: 13: Hoare triple {14837#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14838#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:32,818 INFO L273 TraceCheckUtils]: 14: Hoare triple {14838#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14838#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:32,819 INFO L273 TraceCheckUtils]: 15: Hoare triple {14838#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14839#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:32,819 INFO L273 TraceCheckUtils]: 16: Hoare triple {14839#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14839#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:32,820 INFO L273 TraceCheckUtils]: 17: Hoare triple {14839#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14840#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:32,821 INFO L273 TraceCheckUtils]: 18: Hoare triple {14840#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14840#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:32,821 INFO L273 TraceCheckUtils]: 19: Hoare triple {14840#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14841#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:32,822 INFO L273 TraceCheckUtils]: 20: Hoare triple {14841#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14841#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:32,823 INFO L273 TraceCheckUtils]: 21: Hoare triple {14841#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14842#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:32,823 INFO L273 TraceCheckUtils]: 22: Hoare triple {14842#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14842#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:32,824 INFO L273 TraceCheckUtils]: 23: Hoare triple {14842#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14843#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:32,824 INFO L273 TraceCheckUtils]: 24: Hoare triple {14843#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14843#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:32,825 INFO L273 TraceCheckUtils]: 25: Hoare triple {14843#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14844#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:32,826 INFO L273 TraceCheckUtils]: 26: Hoare triple {14844#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14844#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:32,826 INFO L273 TraceCheckUtils]: 27: Hoare triple {14844#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14845#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:32,827 INFO L273 TraceCheckUtils]: 28: Hoare triple {14845#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14845#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:32,828 INFO L273 TraceCheckUtils]: 29: Hoare triple {14845#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14846#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:32,828 INFO L273 TraceCheckUtils]: 30: Hoare triple {14846#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14846#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:32,829 INFO L273 TraceCheckUtils]: 31: Hoare triple {14846#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14847#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:32,829 INFO L273 TraceCheckUtils]: 32: Hoare triple {14847#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14847#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:32,830 INFO L273 TraceCheckUtils]: 33: Hoare triple {14847#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14848#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:32,831 INFO L273 TraceCheckUtils]: 34: Hoare triple {14848#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14848#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:32,831 INFO L273 TraceCheckUtils]: 35: Hoare triple {14848#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14849#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:32,832 INFO L273 TraceCheckUtils]: 36: Hoare triple {14849#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14849#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:32,833 INFO L273 TraceCheckUtils]: 37: Hoare triple {14849#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14850#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:32,833 INFO L273 TraceCheckUtils]: 38: Hoare triple {14850#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14850#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:32,834 INFO L273 TraceCheckUtils]: 39: Hoare triple {14850#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14851#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:32,834 INFO L273 TraceCheckUtils]: 40: Hoare triple {14851#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14851#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:32,835 INFO L273 TraceCheckUtils]: 41: Hoare triple {14851#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14852#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:32,836 INFO L273 TraceCheckUtils]: 42: Hoare triple {14852#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14852#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:32,836 INFO L273 TraceCheckUtils]: 43: Hoare triple {14852#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14853#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:32,837 INFO L273 TraceCheckUtils]: 44: Hoare triple {14853#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14853#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:32,838 INFO L273 TraceCheckUtils]: 45: Hoare triple {14853#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14854#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:32,838 INFO L273 TraceCheckUtils]: 46: Hoare triple {14854#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14854#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:32,839 INFO L273 TraceCheckUtils]: 47: Hoare triple {14854#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14855#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:32,839 INFO L273 TraceCheckUtils]: 48: Hoare triple {14855#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14855#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:32,840 INFO L273 TraceCheckUtils]: 49: Hoare triple {14855#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14856#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:32,841 INFO L273 TraceCheckUtils]: 50: Hoare triple {14856#(<= main_~i~1 22)} assume !(~i~1 < 40); {14833#false} is VALID [2018-11-23 12:17:32,841 INFO L256 TraceCheckUtils]: 51: Hoare triple {14833#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {14832#true} is VALID [2018-11-23 12:17:32,841 INFO L273 TraceCheckUtils]: 52: 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:32,841 INFO L273 TraceCheckUtils]: 53: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,842 INFO L273 TraceCheckUtils]: 54: 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:32,842 INFO L273 TraceCheckUtils]: 55: 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:32,842 INFO L273 TraceCheckUtils]: 56: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,842 INFO L273 TraceCheckUtils]: 57: 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:32,842 INFO L273 TraceCheckUtils]: 58: 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:32,843 INFO L273 TraceCheckUtils]: 59: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,843 INFO L273 TraceCheckUtils]: 60: 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:32,843 INFO L273 TraceCheckUtils]: 61: 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:32,843 INFO L273 TraceCheckUtils]: 62: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,843 INFO L273 TraceCheckUtils]: 63: 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:32,844 INFO L273 TraceCheckUtils]: 64: 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:32,844 INFO L273 TraceCheckUtils]: 65: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,844 INFO L273 TraceCheckUtils]: 66: 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:32,844 INFO L273 TraceCheckUtils]: 67: 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:32,844 INFO L273 TraceCheckUtils]: 68: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,844 INFO L273 TraceCheckUtils]: 69: 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:32,845 INFO L273 TraceCheckUtils]: 70: 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:32,845 INFO L273 TraceCheckUtils]: 71: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,845 INFO L273 TraceCheckUtils]: 72: 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:32,845 INFO L273 TraceCheckUtils]: 73: 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:32,845 INFO L273 TraceCheckUtils]: 74: Hoare triple {14832#true} assume !(~i~0 < 40); {14832#true} is VALID [2018-11-23 12:17:32,846 INFO L273 TraceCheckUtils]: 75: 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:32,846 INFO L273 TraceCheckUtils]: 76: Hoare triple {14832#true} assume true; {14832#true} is VALID [2018-11-23 12:17:32,846 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {14832#true} {14833#false} #75#return; {14833#false} is VALID [2018-11-23 12:17:32,846 INFO L273 TraceCheckUtils]: 78: 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:32,846 INFO L256 TraceCheckUtils]: 79: Hoare triple {14833#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {14832#true} is VALID [2018-11-23 12:17:32,846 INFO L273 TraceCheckUtils]: 80: 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:32,846 INFO L273 TraceCheckUtils]: 81: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,846 INFO L273 TraceCheckUtils]: 82: 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:32,847 INFO L273 TraceCheckUtils]: 83: 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:32,847 INFO L273 TraceCheckUtils]: 84: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,847 INFO L273 TraceCheckUtils]: 85: 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:32,847 INFO L273 TraceCheckUtils]: 86: 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:32,847 INFO L273 TraceCheckUtils]: 87: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,847 INFO L273 TraceCheckUtils]: 88: 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:32,847 INFO L273 TraceCheckUtils]: 89: 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:32,847 INFO L273 TraceCheckUtils]: 90: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,847 INFO L273 TraceCheckUtils]: 91: 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:32,848 INFO L273 TraceCheckUtils]: 92: 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:32,848 INFO L273 TraceCheckUtils]: 93: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,848 INFO L273 TraceCheckUtils]: 94: 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:32,848 INFO L273 TraceCheckUtils]: 95: 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:32,848 INFO L273 TraceCheckUtils]: 96: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,848 INFO L273 TraceCheckUtils]: 97: 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:32,848 INFO L273 TraceCheckUtils]: 98: 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:32,848 INFO L273 TraceCheckUtils]: 99: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,848 INFO L273 TraceCheckUtils]: 100: 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:32,848 INFO L273 TraceCheckUtils]: 101: 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:32,849 INFO L273 TraceCheckUtils]: 102: Hoare triple {14832#true} assume !(~i~0 < 40); {14832#true} is VALID [2018-11-23 12:17:32,849 INFO L273 TraceCheckUtils]: 103: 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:32,849 INFO L273 TraceCheckUtils]: 104: Hoare triple {14832#true} assume true; {14832#true} is VALID [2018-11-23 12:17:32,849 INFO L268 TraceCheckUtils]: 105: Hoare quadruple {14832#true} {14833#false} #77#return; {14833#false} is VALID [2018-11-23 12:17:32,849 INFO L273 TraceCheckUtils]: 106: 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:32,849 INFO L273 TraceCheckUtils]: 107: Hoare triple {14833#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:32,849 INFO L273 TraceCheckUtils]: 108: 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:32,849 INFO L273 TraceCheckUtils]: 109: Hoare triple {14833#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:32,849 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:32,850 INFO L273 TraceCheckUtils]: 111: Hoare triple {14833#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:32,850 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:32,850 INFO L273 TraceCheckUtils]: 113: Hoare triple {14833#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:32,850 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:32,850 INFO L273 TraceCheckUtils]: 115: Hoare triple {14833#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:32,850 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:32,850 INFO L273 TraceCheckUtils]: 117: Hoare triple {14833#false} assume !(~i~2 < 39); {14833#false} is VALID [2018-11-23 12:17:32,850 INFO L273 TraceCheckUtils]: 118: Hoare triple {14833#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {14833#false} is VALID [2018-11-23 12:17:32,850 INFO L256 TraceCheckUtils]: 119: Hoare triple {14833#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {14832#true} is VALID [2018-11-23 12:17:32,851 INFO L273 TraceCheckUtils]: 120: 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:32,851 INFO L273 TraceCheckUtils]: 121: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,851 INFO L273 TraceCheckUtils]: 122: 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:32,851 INFO L273 TraceCheckUtils]: 123: 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:32,851 INFO L273 TraceCheckUtils]: 124: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,851 INFO L273 TraceCheckUtils]: 125: 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:32,851 INFO L273 TraceCheckUtils]: 126: 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:32,851 INFO L273 TraceCheckUtils]: 127: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,851 INFO L273 TraceCheckUtils]: 128: 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:32,852 INFO L273 TraceCheckUtils]: 129: 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:32,852 INFO L273 TraceCheckUtils]: 130: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,852 INFO L273 TraceCheckUtils]: 131: 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:32,852 INFO L273 TraceCheckUtils]: 132: 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:32,852 INFO L273 TraceCheckUtils]: 133: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,852 INFO L273 TraceCheckUtils]: 134: 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:32,852 INFO L273 TraceCheckUtils]: 135: 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:32,852 INFO L273 TraceCheckUtils]: 136: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,852 INFO L273 TraceCheckUtils]: 137: 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:32,852 INFO L273 TraceCheckUtils]: 138: 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:32,853 INFO L273 TraceCheckUtils]: 139: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:32,853 INFO L273 TraceCheckUtils]: 140: 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:32,853 INFO L273 TraceCheckUtils]: 141: 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:32,853 INFO L273 TraceCheckUtils]: 142: Hoare triple {14832#true} assume !(~i~0 < 40); {14832#true} is VALID [2018-11-23 12:17:32,853 INFO L273 TraceCheckUtils]: 143: 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:32,853 INFO L273 TraceCheckUtils]: 144: Hoare triple {14832#true} assume true; {14832#true} is VALID [2018-11-23 12:17:32,853 INFO L268 TraceCheckUtils]: 145: Hoare quadruple {14832#true} {14833#false} #79#return; {14833#false} is VALID [2018-11-23 12:17:32,853 INFO L273 TraceCheckUtils]: 146: 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:32,853 INFO L273 TraceCheckUtils]: 147: Hoare triple {14833#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {14833#false} is VALID [2018-11-23 12:17:32,854 INFO L273 TraceCheckUtils]: 148: Hoare triple {14833#false} assume !false; {14833#false} is VALID [2018-11-23 12:17:32,863 INFO L134 CoverageAnalysis]: Checked inductivity of 1217 backedges. 0 proven. 484 refuted. 0 times theorem prover too weak. 733 trivial. 0 not checked. [2018-11-23 12:17:32,863 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:32,864 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:32,872 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:17:32,950 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:17:32,950 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:32,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:32,998 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:34,687 INFO L256 TraceCheckUtils]: 0: Hoare triple {14832#true} call ULTIMATE.init(); {14832#true} is VALID [2018-11-23 12:17:34,687 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:34,687 INFO L273 TraceCheckUtils]: 2: Hoare triple {14832#true} assume true; {14832#true} is VALID [2018-11-23 12:17:34,687 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14832#true} {14832#true} #71#return; {14832#true} is VALID [2018-11-23 12:17:34,687 INFO L256 TraceCheckUtils]: 4: Hoare triple {14832#true} call #t~ret14 := main(); {14832#true} is VALID [2018-11-23 12:17:34,688 INFO L273 TraceCheckUtils]: 5: Hoare triple {14832#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {14832#true} is VALID [2018-11-23 12:17:34,688 INFO L273 TraceCheckUtils]: 6: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,688 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:34,688 INFO L273 TraceCheckUtils]: 8: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,688 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:34,688 INFO L273 TraceCheckUtils]: 10: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,689 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:34,689 INFO L273 TraceCheckUtils]: 12: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,689 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:34,689 INFO L273 TraceCheckUtils]: 14: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,689 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:34,689 INFO L273 TraceCheckUtils]: 16: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,689 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:34,689 INFO L273 TraceCheckUtils]: 18: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,689 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:34,690 INFO L273 TraceCheckUtils]: 20: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,690 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:34,690 INFO L273 TraceCheckUtils]: 22: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,690 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:34,690 INFO L273 TraceCheckUtils]: 24: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,690 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:34,690 INFO L273 TraceCheckUtils]: 26: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,690 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:34,690 INFO L273 TraceCheckUtils]: 28: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,690 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:34,691 INFO L273 TraceCheckUtils]: 30: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,691 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:34,691 INFO L273 TraceCheckUtils]: 32: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,691 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:34,691 INFO L273 TraceCheckUtils]: 34: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,691 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:34,691 INFO L273 TraceCheckUtils]: 36: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,691 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:34,691 INFO L273 TraceCheckUtils]: 38: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,692 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:34,692 INFO L273 TraceCheckUtils]: 40: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,692 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:34,692 INFO L273 TraceCheckUtils]: 42: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,692 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:34,692 INFO L273 TraceCheckUtils]: 44: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,692 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:34,692 INFO L273 TraceCheckUtils]: 46: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,692 INFO L273 TraceCheckUtils]: 47: 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:34,693 INFO L273 TraceCheckUtils]: 48: Hoare triple {14832#true} assume !!(~i~1 < 40);assume -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:34,693 INFO L273 TraceCheckUtils]: 49: 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:34,693 INFO L273 TraceCheckUtils]: 50: Hoare triple {14832#true} assume !(~i~1 < 40); {14832#true} is VALID [2018-11-23 12:17:34,693 INFO L256 TraceCheckUtils]: 51: Hoare triple {14832#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {14832#true} is VALID [2018-11-23 12:17:34,693 INFO L273 TraceCheckUtils]: 52: 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:34,693 INFO L273 TraceCheckUtils]: 53: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,693 INFO L273 TraceCheckUtils]: 54: 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:34,693 INFO L273 TraceCheckUtils]: 55: 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:34,693 INFO L273 TraceCheckUtils]: 56: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,694 INFO L273 TraceCheckUtils]: 57: 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:34,694 INFO L273 TraceCheckUtils]: 58: 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:34,694 INFO L273 TraceCheckUtils]: 59: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,694 INFO L273 TraceCheckUtils]: 60: 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:34,694 INFO L273 TraceCheckUtils]: 61: 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:34,694 INFO L273 TraceCheckUtils]: 62: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,694 INFO L273 TraceCheckUtils]: 63: 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:34,694 INFO L273 TraceCheckUtils]: 64: 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:34,694 INFO L273 TraceCheckUtils]: 65: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,694 INFO L273 TraceCheckUtils]: 66: 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:34,695 INFO L273 TraceCheckUtils]: 67: 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:34,695 INFO L273 TraceCheckUtils]: 68: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,695 INFO L273 TraceCheckUtils]: 69: 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:34,695 INFO L273 TraceCheckUtils]: 70: 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:34,695 INFO L273 TraceCheckUtils]: 71: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,695 INFO L273 TraceCheckUtils]: 72: 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:34,695 INFO L273 TraceCheckUtils]: 73: 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:34,695 INFO L273 TraceCheckUtils]: 74: Hoare triple {14832#true} assume !(~i~0 < 40); {14832#true} is VALID [2018-11-23 12:17:34,695 INFO L273 TraceCheckUtils]: 75: 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:34,696 INFO L273 TraceCheckUtils]: 76: Hoare triple {14832#true} assume true; {14832#true} is VALID [2018-11-23 12:17:34,696 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {14832#true} {14832#true} #75#return; {14832#true} is VALID [2018-11-23 12:17:34,696 INFO L273 TraceCheckUtils]: 78: 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:34,696 INFO L256 TraceCheckUtils]: 79: Hoare triple {14832#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {14832#true} is VALID [2018-11-23 12:17:34,696 INFO L273 TraceCheckUtils]: 80: 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:34,696 INFO L273 TraceCheckUtils]: 81: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,696 INFO L273 TraceCheckUtils]: 82: 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:34,696 INFO L273 TraceCheckUtils]: 83: 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:34,696 INFO L273 TraceCheckUtils]: 84: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,696 INFO L273 TraceCheckUtils]: 85: 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:34,697 INFO L273 TraceCheckUtils]: 86: 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:34,697 INFO L273 TraceCheckUtils]: 87: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,697 INFO L273 TraceCheckUtils]: 88: 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:34,697 INFO L273 TraceCheckUtils]: 89: 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:34,697 INFO L273 TraceCheckUtils]: 90: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,697 INFO L273 TraceCheckUtils]: 91: 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:34,697 INFO L273 TraceCheckUtils]: 92: 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:34,697 INFO L273 TraceCheckUtils]: 93: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,697 INFO L273 TraceCheckUtils]: 94: 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:34,698 INFO L273 TraceCheckUtils]: 95: 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:34,698 INFO L273 TraceCheckUtils]: 96: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,698 INFO L273 TraceCheckUtils]: 97: 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:34,698 INFO L273 TraceCheckUtils]: 98: 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:34,698 INFO L273 TraceCheckUtils]: 99: Hoare triple {14832#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14832#true} is VALID [2018-11-23 12:17:34,698 INFO L273 TraceCheckUtils]: 100: 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:34,698 INFO L273 TraceCheckUtils]: 101: 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:34,698 INFO L273 TraceCheckUtils]: 102: Hoare triple {14832#true} assume !(~i~0 < 40); {14832#true} is VALID [2018-11-23 12:17:34,698 INFO L273 TraceCheckUtils]: 103: 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:34,699 INFO L273 TraceCheckUtils]: 104: Hoare triple {14832#true} assume true; {14832#true} is VALID [2018-11-23 12:17:34,699 INFO L268 TraceCheckUtils]: 105: Hoare quadruple {14832#true} {14832#true} #77#return; {14832#true} is VALID [2018-11-23 12:17:34,699 INFO L273 TraceCheckUtils]: 106: 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:34,699 INFO L273 TraceCheckUtils]: 107: Hoare triple {14832#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:34,699 INFO L273 TraceCheckUtils]: 108: 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:34,699 INFO L273 TraceCheckUtils]: 109: Hoare triple {14832#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:34,699 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:34,699 INFO L273 TraceCheckUtils]: 111: Hoare triple {14832#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:34,699 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:34,699 INFO L273 TraceCheckUtils]: 113: Hoare triple {14832#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:34,700 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:34,700 INFO L273 TraceCheckUtils]: 115: Hoare triple {14832#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.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:34,700 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:34,700 INFO L273 TraceCheckUtils]: 117: Hoare triple {14832#true} assume !(~i~2 < 39); {14832#true} is VALID [2018-11-23 12:17:34,700 INFO L273 TraceCheckUtils]: 118: Hoare triple {14832#true} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {14832#true} is VALID [2018-11-23 12:17:34,700 INFO L256 TraceCheckUtils]: 119: Hoare triple {14832#true} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {14832#true} is VALID [2018-11-23 12:17:34,701 INFO L273 TraceCheckUtils]: 120: Hoare triple {14832#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {15220#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:34,701 INFO L273 TraceCheckUtils]: 121: Hoare triple {15220#(<= sep_~i~0 0)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15220#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:34,701 INFO L273 TraceCheckUtils]: 122: Hoare triple {15220#(<= 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; {15220#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:34,702 INFO L273 TraceCheckUtils]: 123: Hoare triple {15220#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15230#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:34,702 INFO L273 TraceCheckUtils]: 124: Hoare triple {15230#(<= sep_~i~0 1)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15230#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:34,702 INFO L273 TraceCheckUtils]: 125: Hoare triple {15230#(<= 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; {15230#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:34,703 INFO L273 TraceCheckUtils]: 126: Hoare triple {15230#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15240#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:34,722 INFO L273 TraceCheckUtils]: 127: Hoare triple {15240#(<= sep_~i~0 2)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15240#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:34,730 INFO L273 TraceCheckUtils]: 128: Hoare triple {15240#(<= 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; {15240#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:34,745 INFO L273 TraceCheckUtils]: 129: Hoare triple {15240#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15250#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:34,745 INFO L273 TraceCheckUtils]: 130: Hoare triple {15250#(<= sep_~i~0 3)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15250#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:34,746 INFO L273 TraceCheckUtils]: 131: Hoare triple {15250#(<= 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; {15250#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:34,746 INFO L273 TraceCheckUtils]: 132: Hoare triple {15250#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15260#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:34,749 INFO L273 TraceCheckUtils]: 133: Hoare triple {15260#(<= sep_~i~0 4)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15260#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:34,749 INFO L273 TraceCheckUtils]: 134: Hoare triple {15260#(<= 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; {15260#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:34,749 INFO L273 TraceCheckUtils]: 135: Hoare triple {15260#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15270#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:34,750 INFO L273 TraceCheckUtils]: 136: Hoare triple {15270#(<= sep_~i~0 5)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15270#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:34,750 INFO L273 TraceCheckUtils]: 137: Hoare triple {15270#(<= 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; {15270#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:34,750 INFO L273 TraceCheckUtils]: 138: Hoare triple {15270#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15280#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:34,751 INFO L273 TraceCheckUtils]: 139: Hoare triple {15280#(<= sep_~i~0 6)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15280#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:34,751 INFO L273 TraceCheckUtils]: 140: Hoare triple {15280#(<= 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; {15280#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:34,751 INFO L273 TraceCheckUtils]: 141: Hoare triple {15280#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15290#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:34,752 INFO L273 TraceCheckUtils]: 142: Hoare triple {15290#(<= sep_~i~0 7)} assume !(~i~0 < 40); {14833#false} is VALID [2018-11-23 12:17:34,752 INFO L273 TraceCheckUtils]: 143: 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:34,752 INFO L273 TraceCheckUtils]: 144: Hoare triple {14833#false} assume true; {14833#false} is VALID [2018-11-23 12:17:34,753 INFO L268 TraceCheckUtils]: 145: Hoare quadruple {14833#false} {14832#true} #79#return; {14833#false} is VALID [2018-11-23 12:17:34,753 INFO L273 TraceCheckUtils]: 146: 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:34,753 INFO L273 TraceCheckUtils]: 147: Hoare triple {14833#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {14833#false} is VALID [2018-11-23 12:17:34,753 INFO L273 TraceCheckUtils]: 148: Hoare triple {14833#false} assume !false; {14833#false} is VALID [2018-11-23 12:17:34,762 INFO L134 CoverageAnalysis]: Checked inductivity of 1217 backedges. 330 proven. 70 refuted. 0 times theorem prover too weak. 817 trivial. 0 not checked. [2018-11-23 12:17:34,781 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:34,781 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 10] total 33 [2018-11-23 12:17:34,781 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 149 [2018-11-23 12:17:34,781 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:34,782 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states. [2018-11-23 12:17:34,887 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:34,887 INFO L459 AbstractCegarLoop]: Interpolant automaton has 33 states [2018-11-23 12:17:34,888 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2018-11-23 12:17:34,889 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=344, Invalid=712, Unknown=0, NotChecked=0, Total=1056 [2018-11-23 12:17:34,889 INFO L87 Difference]: Start difference. First operand 98 states and 109 transitions. Second operand 33 states. [2018-11-23 12:17:35,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:35,499 INFO L93 Difference]: Finished difference Result 153 states and 181 transitions. [2018-11-23 12:17:35,499 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2018-11-23 12:17:35,499 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 149 [2018-11-23 12:17:35,500 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:35,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:17:35,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 138 transitions. [2018-11-23 12:17:35,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:17:35,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 138 transitions. [2018-11-23 12:17:35,502 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states and 138 transitions. [2018-11-23 12:17:35,644 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:35,646 INFO L225 Difference]: With dead ends: 153 [2018-11-23 12:17:35,646 INFO L226 Difference]: Without dead ends: 106 [2018-11-23 12:17:35,647 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 142 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 176 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=344, Invalid=712, Unknown=0, NotChecked=0, Total=1056 [2018-11-23 12:17:35,647 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2018-11-23 12:17:35,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 103. [2018-11-23 12:17:35,702 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:35,702 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand 103 states. [2018-11-23 12:17:35,702 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 103 states. [2018-11-23 12:17:35,703 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 103 states. [2018-11-23 12:17:35,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:35,705 INFO L93 Difference]: Finished difference Result 106 states and 119 transitions. [2018-11-23 12:17:35,705 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 119 transitions. [2018-11-23 12:17:35,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:35,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:35,706 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 106 states. [2018-11-23 12:17:35,706 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 106 states. [2018-11-23 12:17:35,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:35,709 INFO L93 Difference]: Finished difference Result 106 states and 119 transitions. [2018-11-23 12:17:35,709 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 119 transitions. [2018-11-23 12:17:35,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:35,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:35,710 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:35,710 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:35,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2018-11-23 12:17:35,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 115 transitions. [2018-11-23 12:17:35,712 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 115 transitions. Word has length 149 [2018-11-23 12:17:35,712 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:35,712 INFO L480 AbstractCegarLoop]: Abstraction has 103 states and 115 transitions. [2018-11-23 12:17:35,712 INFO L481 AbstractCegarLoop]: Interpolant automaton has 33 states. [2018-11-23 12:17:35,713 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 115 transitions. [2018-11-23 12:17:35,731 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 161 [2018-11-23 12:17:35,731 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:35,732 INFO L402 BasicCegarLoop]: trace histogram [24, 24, 24, 23, 23, 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:35,732 INFO L423 AbstractCegarLoop]: === Iteration 27 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:35,733 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:35,733 INFO L82 PathProgramCache]: Analyzing trace with hash 789597626, now seen corresponding path program 23 times [2018-11-23 12:17:35,734 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:35,734 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:35,735 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:35,735 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:35,735 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:35,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:36,213 INFO L256 TraceCheckUtils]: 0: Hoare triple {15891#true} call ULTIMATE.init(); {15891#true} is VALID [2018-11-23 12:17:36,213 INFO L273 TraceCheckUtils]: 1: Hoare triple {15891#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {15891#true} is VALID [2018-11-23 12:17:36,214 INFO L273 TraceCheckUtils]: 2: Hoare triple {15891#true} assume true; {15891#true} is VALID [2018-11-23 12:17:36,214 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15891#true} {15891#true} #71#return; {15891#true} is VALID [2018-11-23 12:17:36,214 INFO L256 TraceCheckUtils]: 4: Hoare triple {15891#true} call #t~ret14 := main(); {15891#true} is VALID [2018-11-23 12:17:36,214 INFO L273 TraceCheckUtils]: 5: Hoare triple {15891#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {15893#(= main_~i~1 0)} is VALID [2018-11-23 12:17:36,215 INFO L273 TraceCheckUtils]: 6: Hoare triple {15893#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15893#(= main_~i~1 0)} is VALID [2018-11-23 12:17:36,216 INFO L273 TraceCheckUtils]: 7: Hoare triple {15893#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15894#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:36,216 INFO L273 TraceCheckUtils]: 8: Hoare triple {15894#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15894#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:36,217 INFO L273 TraceCheckUtils]: 9: Hoare triple {15894#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15895#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:36,217 INFO L273 TraceCheckUtils]: 10: Hoare triple {15895#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15895#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:36,217 INFO L273 TraceCheckUtils]: 11: Hoare triple {15895#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15896#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:36,218 INFO L273 TraceCheckUtils]: 12: Hoare triple {15896#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15896#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:36,218 INFO L273 TraceCheckUtils]: 13: Hoare triple {15896#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15897#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:36,219 INFO L273 TraceCheckUtils]: 14: Hoare triple {15897#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15897#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:36,219 INFO L273 TraceCheckUtils]: 15: Hoare triple {15897#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15898#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:36,220 INFO L273 TraceCheckUtils]: 16: Hoare triple {15898#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15898#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:36,221 INFO L273 TraceCheckUtils]: 17: Hoare triple {15898#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15899#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:36,221 INFO L273 TraceCheckUtils]: 18: Hoare triple {15899#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15899#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:36,222 INFO L273 TraceCheckUtils]: 19: Hoare triple {15899#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15900#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:36,222 INFO L273 TraceCheckUtils]: 20: Hoare triple {15900#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15900#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:36,223 INFO L273 TraceCheckUtils]: 21: Hoare triple {15900#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15901#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:36,224 INFO L273 TraceCheckUtils]: 22: Hoare triple {15901#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15901#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:36,224 INFO L273 TraceCheckUtils]: 23: Hoare triple {15901#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15902#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:36,225 INFO L273 TraceCheckUtils]: 24: Hoare triple {15902#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15902#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:36,225 INFO L273 TraceCheckUtils]: 25: Hoare triple {15902#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15903#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:36,226 INFO L273 TraceCheckUtils]: 26: Hoare triple {15903#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15903#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:36,227 INFO L273 TraceCheckUtils]: 27: Hoare triple {15903#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15904#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:36,227 INFO L273 TraceCheckUtils]: 28: Hoare triple {15904#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15904#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:36,228 INFO L273 TraceCheckUtils]: 29: Hoare triple {15904#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15905#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:36,228 INFO L273 TraceCheckUtils]: 30: Hoare triple {15905#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15905#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:36,229 INFO L273 TraceCheckUtils]: 31: Hoare triple {15905#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15906#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:36,230 INFO L273 TraceCheckUtils]: 32: Hoare triple {15906#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15906#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:36,230 INFO L273 TraceCheckUtils]: 33: Hoare triple {15906#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15907#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:36,231 INFO L273 TraceCheckUtils]: 34: Hoare triple {15907#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15907#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:36,232 INFO L273 TraceCheckUtils]: 35: Hoare triple {15907#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15908#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:36,232 INFO L273 TraceCheckUtils]: 36: Hoare triple {15908#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15908#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:36,233 INFO L273 TraceCheckUtils]: 37: Hoare triple {15908#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15909#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:36,233 INFO L273 TraceCheckUtils]: 38: Hoare triple {15909#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15909#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:36,234 INFO L273 TraceCheckUtils]: 39: Hoare triple {15909#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15910#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:36,235 INFO L273 TraceCheckUtils]: 40: Hoare triple {15910#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15910#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:36,235 INFO L273 TraceCheckUtils]: 41: Hoare triple {15910#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15911#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:36,236 INFO L273 TraceCheckUtils]: 42: Hoare triple {15911#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15911#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:36,236 INFO L273 TraceCheckUtils]: 43: Hoare triple {15911#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15912#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:36,237 INFO L273 TraceCheckUtils]: 44: Hoare triple {15912#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15912#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:36,238 INFO L273 TraceCheckUtils]: 45: Hoare triple {15912#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15913#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:36,238 INFO L273 TraceCheckUtils]: 46: Hoare triple {15913#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15913#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:36,239 INFO L273 TraceCheckUtils]: 47: Hoare triple {15913#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15914#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:36,239 INFO L273 TraceCheckUtils]: 48: Hoare triple {15914#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15914#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:36,240 INFO L273 TraceCheckUtils]: 49: Hoare triple {15914#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15915#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:36,241 INFO L273 TraceCheckUtils]: 50: Hoare triple {15915#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15915#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:36,241 INFO L273 TraceCheckUtils]: 51: Hoare triple {15915#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15916#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:36,242 INFO L273 TraceCheckUtils]: 52: Hoare triple {15916#(<= main_~i~1 23)} assume !(~i~1 < 40); {15892#false} is VALID [2018-11-23 12:17:36,242 INFO L256 TraceCheckUtils]: 53: Hoare triple {15892#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {15891#true} is VALID [2018-11-23 12:17:36,242 INFO L273 TraceCheckUtils]: 54: Hoare triple {15891#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {15891#true} is VALID [2018-11-23 12:17:36,243 INFO L273 TraceCheckUtils]: 55: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,243 INFO L273 TraceCheckUtils]: 56: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,243 INFO L273 TraceCheckUtils]: 57: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,243 INFO L273 TraceCheckUtils]: 58: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,243 INFO L273 TraceCheckUtils]: 59: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,244 INFO L273 TraceCheckUtils]: 60: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,244 INFO L273 TraceCheckUtils]: 61: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,244 INFO L273 TraceCheckUtils]: 62: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,244 INFO L273 TraceCheckUtils]: 63: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,244 INFO L273 TraceCheckUtils]: 64: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,245 INFO L273 TraceCheckUtils]: 65: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,245 INFO L273 TraceCheckUtils]: 66: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,245 INFO L273 TraceCheckUtils]: 67: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,245 INFO L273 TraceCheckUtils]: 68: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,245 INFO L273 TraceCheckUtils]: 69: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,245 INFO L273 TraceCheckUtils]: 70: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,246 INFO L273 TraceCheckUtils]: 71: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,246 INFO L273 TraceCheckUtils]: 72: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,246 INFO L273 TraceCheckUtils]: 73: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,246 INFO L273 TraceCheckUtils]: 74: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,246 INFO L273 TraceCheckUtils]: 75: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,246 INFO L273 TraceCheckUtils]: 76: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,246 INFO L273 TraceCheckUtils]: 77: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,247 INFO L273 TraceCheckUtils]: 78: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,247 INFO L273 TraceCheckUtils]: 79: Hoare triple {15891#true} assume !(~i~0 < 40); {15891#true} is VALID [2018-11-23 12:17:36,247 INFO L273 TraceCheckUtils]: 80: Hoare triple {15891#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {15891#true} is VALID [2018-11-23 12:17:36,247 INFO L273 TraceCheckUtils]: 81: Hoare triple {15891#true} assume true; {15891#true} is VALID [2018-11-23 12:17:36,247 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {15891#true} {15892#false} #75#return; {15892#false} is VALID [2018-11-23 12:17:36,247 INFO L273 TraceCheckUtils]: 83: Hoare triple {15892#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); {15892#false} is VALID [2018-11-23 12:17:36,247 INFO L256 TraceCheckUtils]: 84: Hoare triple {15892#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {15891#true} is VALID [2018-11-23 12:17:36,247 INFO L273 TraceCheckUtils]: 85: Hoare triple {15891#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {15891#true} is VALID [2018-11-23 12:17:36,247 INFO L273 TraceCheckUtils]: 86: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,248 INFO L273 TraceCheckUtils]: 87: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,248 INFO L273 TraceCheckUtils]: 88: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,248 INFO L273 TraceCheckUtils]: 89: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,248 INFO L273 TraceCheckUtils]: 90: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,248 INFO L273 TraceCheckUtils]: 91: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,248 INFO L273 TraceCheckUtils]: 92: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,248 INFO L273 TraceCheckUtils]: 93: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,248 INFO L273 TraceCheckUtils]: 94: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,248 INFO L273 TraceCheckUtils]: 95: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,248 INFO L273 TraceCheckUtils]: 96: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,249 INFO L273 TraceCheckUtils]: 97: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,249 INFO L273 TraceCheckUtils]: 98: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,249 INFO L273 TraceCheckUtils]: 99: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,249 INFO L273 TraceCheckUtils]: 100: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,249 INFO L273 TraceCheckUtils]: 101: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,249 INFO L273 TraceCheckUtils]: 102: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,249 INFO L273 TraceCheckUtils]: 103: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,249 INFO L273 TraceCheckUtils]: 104: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,249 INFO L273 TraceCheckUtils]: 105: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,250 INFO L273 TraceCheckUtils]: 106: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,250 INFO L273 TraceCheckUtils]: 107: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,250 INFO L273 TraceCheckUtils]: 108: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,250 INFO L273 TraceCheckUtils]: 109: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,250 INFO L273 TraceCheckUtils]: 110: Hoare triple {15891#true} assume !(~i~0 < 40); {15891#true} is VALID [2018-11-23 12:17:36,250 INFO L273 TraceCheckUtils]: 111: Hoare triple {15891#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {15891#true} is VALID [2018-11-23 12:17:36,250 INFO L273 TraceCheckUtils]: 112: Hoare triple {15891#true} assume true; {15891#true} is VALID [2018-11-23 12:17:36,250 INFO L268 TraceCheckUtils]: 113: Hoare quadruple {15891#true} {15892#false} #77#return; {15892#false} is VALID [2018-11-23 12:17:36,250 INFO L273 TraceCheckUtils]: 114: Hoare triple {15892#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; {15892#false} is VALID [2018-11-23 12:17:36,250 INFO L273 TraceCheckUtils]: 115: Hoare triple {15892#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15892#false} is VALID [2018-11-23 12:17:36,251 INFO L273 TraceCheckUtils]: 116: Hoare triple {15892#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15892#false} is VALID [2018-11-23 12:17:36,251 INFO L273 TraceCheckUtils]: 117: Hoare triple {15892#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15892#false} is VALID [2018-11-23 12:17:36,251 INFO L273 TraceCheckUtils]: 118: Hoare triple {15892#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15892#false} is VALID [2018-11-23 12:17:36,251 INFO L273 TraceCheckUtils]: 119: Hoare triple {15892#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15892#false} is VALID [2018-11-23 12:17:36,251 INFO L273 TraceCheckUtils]: 120: Hoare triple {15892#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15892#false} is VALID [2018-11-23 12:17:36,251 INFO L273 TraceCheckUtils]: 121: Hoare triple {15892#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15892#false} is VALID [2018-11-23 12:17:36,251 INFO L273 TraceCheckUtils]: 122: Hoare triple {15892#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15892#false} is VALID [2018-11-23 12:17:36,251 INFO L273 TraceCheckUtils]: 123: Hoare triple {15892#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15892#false} is VALID [2018-11-23 12:17:36,251 INFO L273 TraceCheckUtils]: 124: Hoare triple {15892#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15892#false} is VALID [2018-11-23 12:17:36,252 INFO L273 TraceCheckUtils]: 125: Hoare triple {15892#false} assume !(~i~2 < 39); {15892#false} is VALID [2018-11-23 12:17:36,252 INFO L273 TraceCheckUtils]: 126: Hoare triple {15892#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {15892#false} is VALID [2018-11-23 12:17:36,252 INFO L256 TraceCheckUtils]: 127: Hoare triple {15892#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {15891#true} is VALID [2018-11-23 12:17:36,252 INFO L273 TraceCheckUtils]: 128: Hoare triple {15891#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {15891#true} is VALID [2018-11-23 12:17:36,252 INFO L273 TraceCheckUtils]: 129: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,252 INFO L273 TraceCheckUtils]: 130: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,252 INFO L273 TraceCheckUtils]: 131: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,252 INFO L273 TraceCheckUtils]: 132: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,253 INFO L273 TraceCheckUtils]: 133: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,253 INFO L273 TraceCheckUtils]: 134: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,253 INFO L273 TraceCheckUtils]: 135: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,253 INFO L273 TraceCheckUtils]: 136: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,253 INFO L273 TraceCheckUtils]: 137: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,253 INFO L273 TraceCheckUtils]: 138: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,253 INFO L273 TraceCheckUtils]: 139: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,253 INFO L273 TraceCheckUtils]: 140: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,254 INFO L273 TraceCheckUtils]: 141: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,254 INFO L273 TraceCheckUtils]: 142: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,254 INFO L273 TraceCheckUtils]: 143: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,254 INFO L273 TraceCheckUtils]: 144: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,254 INFO L273 TraceCheckUtils]: 145: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,254 INFO L273 TraceCheckUtils]: 146: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,254 INFO L273 TraceCheckUtils]: 147: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,254 INFO L273 TraceCheckUtils]: 148: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,254 INFO L273 TraceCheckUtils]: 149: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,254 INFO L273 TraceCheckUtils]: 150: Hoare triple {15891#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15891#true} is VALID [2018-11-23 12:17:36,255 INFO L273 TraceCheckUtils]: 151: Hoare triple {15891#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:36,255 INFO L273 TraceCheckUtils]: 152: Hoare triple {15891#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15891#true} is VALID [2018-11-23 12:17:36,255 INFO L273 TraceCheckUtils]: 153: Hoare triple {15891#true} assume !(~i~0 < 40); {15891#true} is VALID [2018-11-23 12:17:36,255 INFO L273 TraceCheckUtils]: 154: Hoare triple {15891#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {15891#true} is VALID [2018-11-23 12:17:36,255 INFO L273 TraceCheckUtils]: 155: Hoare triple {15891#true} assume true; {15891#true} is VALID [2018-11-23 12:17:36,255 INFO L268 TraceCheckUtils]: 156: Hoare quadruple {15891#true} {15892#false} #79#return; {15892#false} is VALID [2018-11-23 12:17:36,255 INFO L273 TraceCheckUtils]: 157: Hoare triple {15892#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {15892#false} is VALID [2018-11-23 12:17:36,255 INFO L273 TraceCheckUtils]: 158: Hoare triple {15892#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {15892#false} is VALID [2018-11-23 12:17:36,255 INFO L273 TraceCheckUtils]: 159: Hoare triple {15892#false} assume !false; {15892#false} is VALID [2018-11-23 12:17:36,267 INFO L134 CoverageAnalysis]: Checked inductivity of 1469 backedges. 0 proven. 529 refuted. 0 times theorem prover too weak. 940 trivial. 0 not checked. [2018-11-23 12:17:36,267 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:36,267 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:36,277 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:17:40,846 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 23 check-sat command(s) [2018-11-23 12:17:40,847 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:40,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:40,884 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:41,951 INFO L256 TraceCheckUtils]: 0: Hoare triple {15891#true} call ULTIMATE.init(); {15891#true} is VALID [2018-11-23 12:17:41,952 INFO L273 TraceCheckUtils]: 1: Hoare triple {15891#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {15891#true} is VALID [2018-11-23 12:17:41,952 INFO L273 TraceCheckUtils]: 2: Hoare triple {15891#true} assume true; {15891#true} is VALID [2018-11-23 12:17:41,952 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15891#true} {15891#true} #71#return; {15891#true} is VALID [2018-11-23 12:17:41,952 INFO L256 TraceCheckUtils]: 4: Hoare triple {15891#true} call #t~ret14 := main(); {15891#true} is VALID [2018-11-23 12:17:41,952 INFO L273 TraceCheckUtils]: 5: Hoare triple {15891#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {15891#true} is VALID [2018-11-23 12:17:41,953 INFO L273 TraceCheckUtils]: 6: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,953 INFO L273 TraceCheckUtils]: 7: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,953 INFO L273 TraceCheckUtils]: 8: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,953 INFO L273 TraceCheckUtils]: 9: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,953 INFO L273 TraceCheckUtils]: 10: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,953 INFO L273 TraceCheckUtils]: 11: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,954 INFO L273 TraceCheckUtils]: 12: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,954 INFO L273 TraceCheckUtils]: 13: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,954 INFO L273 TraceCheckUtils]: 14: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,954 INFO L273 TraceCheckUtils]: 15: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,954 INFO L273 TraceCheckUtils]: 16: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,954 INFO L273 TraceCheckUtils]: 17: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,954 INFO L273 TraceCheckUtils]: 18: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,955 INFO L273 TraceCheckUtils]: 19: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,955 INFO L273 TraceCheckUtils]: 20: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,955 INFO L273 TraceCheckUtils]: 21: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,955 INFO L273 TraceCheckUtils]: 22: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,955 INFO L273 TraceCheckUtils]: 23: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,955 INFO L273 TraceCheckUtils]: 24: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,955 INFO L273 TraceCheckUtils]: 25: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,955 INFO L273 TraceCheckUtils]: 26: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,955 INFO L273 TraceCheckUtils]: 27: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,956 INFO L273 TraceCheckUtils]: 28: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,956 INFO L273 TraceCheckUtils]: 29: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,956 INFO L273 TraceCheckUtils]: 30: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,956 INFO L273 TraceCheckUtils]: 31: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,956 INFO L273 TraceCheckUtils]: 32: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,956 INFO L273 TraceCheckUtils]: 33: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,956 INFO L273 TraceCheckUtils]: 34: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,956 INFO L273 TraceCheckUtils]: 35: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,956 INFO L273 TraceCheckUtils]: 36: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,956 INFO L273 TraceCheckUtils]: 37: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,957 INFO L273 TraceCheckUtils]: 38: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,957 INFO L273 TraceCheckUtils]: 39: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,957 INFO L273 TraceCheckUtils]: 40: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,957 INFO L273 TraceCheckUtils]: 41: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,957 INFO L273 TraceCheckUtils]: 42: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,957 INFO L273 TraceCheckUtils]: 43: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,957 INFO L273 TraceCheckUtils]: 44: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,957 INFO L273 TraceCheckUtils]: 45: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,957 INFO L273 TraceCheckUtils]: 46: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,958 INFO L273 TraceCheckUtils]: 47: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,958 INFO L273 TraceCheckUtils]: 48: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,958 INFO L273 TraceCheckUtils]: 49: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,958 INFO L273 TraceCheckUtils]: 50: Hoare triple {15891#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {15891#true} is VALID [2018-11-23 12:17:41,958 INFO L273 TraceCheckUtils]: 51: Hoare triple {15891#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {15891#true} is VALID [2018-11-23 12:17:41,958 INFO L273 TraceCheckUtils]: 52: Hoare triple {15891#true} assume !(~i~1 < 40); {15891#true} is VALID [2018-11-23 12:17:41,958 INFO L256 TraceCheckUtils]: 53: Hoare triple {15891#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {15891#true} is VALID [2018-11-23 12:17:41,959 INFO L273 TraceCheckUtils]: 54: Hoare triple {15891#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16082#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:41,959 INFO L273 TraceCheckUtils]: 55: Hoare triple {16082#(<= sep_~i~0 0)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16082#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:41,959 INFO L273 TraceCheckUtils]: 56: Hoare triple {16082#(<= 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; {16082#(<= sep_~i~0 0)} is VALID [2018-11-23 12:17:41,960 INFO L273 TraceCheckUtils]: 57: Hoare triple {16082#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16092#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:41,960 INFO L273 TraceCheckUtils]: 58: Hoare triple {16092#(<= sep_~i~0 1)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16092#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:41,960 INFO L273 TraceCheckUtils]: 59: Hoare triple {16092#(<= 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; {16092#(<= sep_~i~0 1)} is VALID [2018-11-23 12:17:41,961 INFO L273 TraceCheckUtils]: 60: Hoare triple {16092#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16102#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:41,961 INFO L273 TraceCheckUtils]: 61: Hoare triple {16102#(<= sep_~i~0 2)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16102#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:41,961 INFO L273 TraceCheckUtils]: 62: Hoare triple {16102#(<= 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; {16102#(<= sep_~i~0 2)} is VALID [2018-11-23 12:17:41,962 INFO L273 TraceCheckUtils]: 63: Hoare triple {16102#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16112#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:41,962 INFO L273 TraceCheckUtils]: 64: Hoare triple {16112#(<= sep_~i~0 3)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16112#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:41,981 INFO L273 TraceCheckUtils]: 65: Hoare triple {16112#(<= 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; {16112#(<= sep_~i~0 3)} is VALID [2018-11-23 12:17:41,982 INFO L273 TraceCheckUtils]: 66: Hoare triple {16112#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16122#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:41,982 INFO L273 TraceCheckUtils]: 67: Hoare triple {16122#(<= sep_~i~0 4)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16122#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:41,983 INFO L273 TraceCheckUtils]: 68: Hoare triple {16122#(<= 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; {16122#(<= sep_~i~0 4)} is VALID [2018-11-23 12:17:41,983 INFO L273 TraceCheckUtils]: 69: Hoare triple {16122#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16132#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:41,983 INFO L273 TraceCheckUtils]: 70: Hoare triple {16132#(<= sep_~i~0 5)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16132#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:41,984 INFO L273 TraceCheckUtils]: 71: Hoare triple {16132#(<= 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; {16132#(<= sep_~i~0 5)} is VALID [2018-11-23 12:17:41,984 INFO L273 TraceCheckUtils]: 72: Hoare triple {16132#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16142#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:41,985 INFO L273 TraceCheckUtils]: 73: Hoare triple {16142#(<= sep_~i~0 6)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16142#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:41,985 INFO L273 TraceCheckUtils]: 74: Hoare triple {16142#(<= 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; {16142#(<= sep_~i~0 6)} is VALID [2018-11-23 12:17:41,985 INFO L273 TraceCheckUtils]: 75: Hoare triple {16142#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16152#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:41,986 INFO L273 TraceCheckUtils]: 76: Hoare triple {16152#(<= sep_~i~0 7)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16152#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:41,986 INFO L273 TraceCheckUtils]: 77: Hoare triple {16152#(<= 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; {16152#(<= sep_~i~0 7)} is VALID [2018-11-23 12:17:41,987 INFO L273 TraceCheckUtils]: 78: Hoare triple {16152#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16162#(<= sep_~i~0 8)} is VALID [2018-11-23 12:17:41,987 INFO L273 TraceCheckUtils]: 79: Hoare triple {16162#(<= sep_~i~0 8)} assume !(~i~0 < 40); {15892#false} is VALID [2018-11-23 12:17:41,987 INFO L273 TraceCheckUtils]: 80: Hoare triple {15892#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {15892#false} is VALID [2018-11-23 12:17:41,988 INFO L273 TraceCheckUtils]: 81: Hoare triple {15892#false} assume true; {15892#false} is VALID [2018-11-23 12:17:41,988 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {15892#false} {15891#true} #75#return; {15892#false} is VALID [2018-11-23 12:17:41,988 INFO L273 TraceCheckUtils]: 83: Hoare triple {15892#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); {15892#false} is VALID [2018-11-23 12:17:41,988 INFO L256 TraceCheckUtils]: 84: Hoare triple {15892#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {15892#false} is VALID [2018-11-23 12:17:41,988 INFO L273 TraceCheckUtils]: 85: Hoare triple {15892#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {15892#false} is VALID [2018-11-23 12:17:41,989 INFO L273 TraceCheckUtils]: 86: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,989 INFO L273 TraceCheckUtils]: 87: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,989 INFO L273 TraceCheckUtils]: 88: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,989 INFO L273 TraceCheckUtils]: 89: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,989 INFO L273 TraceCheckUtils]: 90: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,989 INFO L273 TraceCheckUtils]: 91: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,989 INFO L273 TraceCheckUtils]: 92: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,990 INFO L273 TraceCheckUtils]: 93: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,990 INFO L273 TraceCheckUtils]: 94: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,990 INFO L273 TraceCheckUtils]: 95: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,990 INFO L273 TraceCheckUtils]: 96: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,990 INFO L273 TraceCheckUtils]: 97: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,990 INFO L273 TraceCheckUtils]: 98: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,990 INFO L273 TraceCheckUtils]: 99: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,990 INFO L273 TraceCheckUtils]: 100: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,990 INFO L273 TraceCheckUtils]: 101: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,990 INFO L273 TraceCheckUtils]: 102: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,991 INFO L273 TraceCheckUtils]: 103: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,991 INFO L273 TraceCheckUtils]: 104: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,991 INFO L273 TraceCheckUtils]: 105: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,991 INFO L273 TraceCheckUtils]: 106: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,991 INFO L273 TraceCheckUtils]: 107: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,991 INFO L273 TraceCheckUtils]: 108: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,991 INFO L273 TraceCheckUtils]: 109: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,991 INFO L273 TraceCheckUtils]: 110: Hoare triple {15892#false} assume !(~i~0 < 40); {15892#false} is VALID [2018-11-23 12:17:41,991 INFO L273 TraceCheckUtils]: 111: Hoare triple {15892#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {15892#false} is VALID [2018-11-23 12:17:41,992 INFO L273 TraceCheckUtils]: 112: Hoare triple {15892#false} assume true; {15892#false} is VALID [2018-11-23 12:17:41,992 INFO L268 TraceCheckUtils]: 113: Hoare quadruple {15892#false} {15892#false} #77#return; {15892#false} is VALID [2018-11-23 12:17:41,992 INFO L273 TraceCheckUtils]: 114: Hoare triple {15892#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; {15892#false} is VALID [2018-11-23 12:17:41,992 INFO L273 TraceCheckUtils]: 115: Hoare triple {15892#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15892#false} is VALID [2018-11-23 12:17:41,992 INFO L273 TraceCheckUtils]: 116: Hoare triple {15892#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15892#false} is VALID [2018-11-23 12:17:41,992 INFO L273 TraceCheckUtils]: 117: Hoare triple {15892#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15892#false} is VALID [2018-11-23 12:17:41,992 INFO L273 TraceCheckUtils]: 118: Hoare triple {15892#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15892#false} is VALID [2018-11-23 12:17:41,992 INFO L273 TraceCheckUtils]: 119: Hoare triple {15892#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15892#false} is VALID [2018-11-23 12:17:41,992 INFO L273 TraceCheckUtils]: 120: Hoare triple {15892#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15892#false} is VALID [2018-11-23 12:17:41,993 INFO L273 TraceCheckUtils]: 121: Hoare triple {15892#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15892#false} is VALID [2018-11-23 12:17:41,993 INFO L273 TraceCheckUtils]: 122: Hoare triple {15892#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15892#false} is VALID [2018-11-23 12:17:41,993 INFO L273 TraceCheckUtils]: 123: Hoare triple {15892#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15892#false} is VALID [2018-11-23 12:17:41,993 INFO L273 TraceCheckUtils]: 124: Hoare triple {15892#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {15892#false} is VALID [2018-11-23 12:17:41,993 INFO L273 TraceCheckUtils]: 125: Hoare triple {15892#false} assume !(~i~2 < 39); {15892#false} is VALID [2018-11-23 12:17:41,993 INFO L273 TraceCheckUtils]: 126: Hoare triple {15892#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {15892#false} is VALID [2018-11-23 12:17:41,993 INFO L256 TraceCheckUtils]: 127: Hoare triple {15892#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {15892#false} is VALID [2018-11-23 12:17:41,993 INFO L273 TraceCheckUtils]: 128: Hoare triple {15892#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {15892#false} is VALID [2018-11-23 12:17:41,993 INFO L273 TraceCheckUtils]: 129: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,993 INFO L273 TraceCheckUtils]: 130: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,994 INFO L273 TraceCheckUtils]: 131: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,994 INFO L273 TraceCheckUtils]: 132: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,994 INFO L273 TraceCheckUtils]: 133: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,994 INFO L273 TraceCheckUtils]: 134: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,994 INFO L273 TraceCheckUtils]: 135: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,994 INFO L273 TraceCheckUtils]: 136: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,994 INFO L273 TraceCheckUtils]: 137: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,994 INFO L273 TraceCheckUtils]: 138: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,994 INFO L273 TraceCheckUtils]: 139: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,995 INFO L273 TraceCheckUtils]: 140: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,995 INFO L273 TraceCheckUtils]: 141: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,995 INFO L273 TraceCheckUtils]: 142: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,995 INFO L273 TraceCheckUtils]: 143: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,995 INFO L273 TraceCheckUtils]: 144: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,995 INFO L273 TraceCheckUtils]: 145: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,995 INFO L273 TraceCheckUtils]: 146: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,995 INFO L273 TraceCheckUtils]: 147: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,995 INFO L273 TraceCheckUtils]: 148: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,995 INFO L273 TraceCheckUtils]: 149: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,996 INFO L273 TraceCheckUtils]: 150: Hoare triple {15892#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {15892#false} is VALID [2018-11-23 12:17:41,996 INFO L273 TraceCheckUtils]: 151: Hoare triple {15892#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#false} is VALID [2018-11-23 12:17:41,996 INFO L273 TraceCheckUtils]: 152: Hoare triple {15892#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15892#false} is VALID [2018-11-23 12:17:41,996 INFO L273 TraceCheckUtils]: 153: Hoare triple {15892#false} assume !(~i~0 < 40); {15892#false} is VALID [2018-11-23 12:17:41,996 INFO L273 TraceCheckUtils]: 154: Hoare triple {15892#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {15892#false} is VALID [2018-11-23 12:17:41,996 INFO L273 TraceCheckUtils]: 155: Hoare triple {15892#false} assume true; {15892#false} is VALID [2018-11-23 12:17:41,996 INFO L268 TraceCheckUtils]: 156: Hoare quadruple {15892#false} {15892#false} #79#return; {15892#false} is VALID [2018-11-23 12:17:41,996 INFO L273 TraceCheckUtils]: 157: Hoare triple {15892#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {15892#false} is VALID [2018-11-23 12:17:41,996 INFO L273 TraceCheckUtils]: 158: Hoare triple {15892#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {15892#false} is VALID [2018-11-23 12:17:41,997 INFO L273 TraceCheckUtils]: 159: Hoare triple {15892#false} assume !false; {15892#false} is VALID [2018-11-23 12:17:42,007 INFO L134 CoverageAnalysis]: Checked inductivity of 1469 backedges. 420 proven. 92 refuted. 0 times theorem prover too weak. 957 trivial. 0 not checked. [2018-11-23 12:17:42,029 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:42,029 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 11] total 35 [2018-11-23 12:17:42,029 INFO L78 Accepts]: Start accepts. Automaton has 35 states. Word has length 160 [2018-11-23 12:17:42,030 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:42,030 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states. [2018-11-23 12:17:42,247 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:17:42,247 INFO L459 AbstractCegarLoop]: Interpolant automaton has 35 states [2018-11-23 12:17:42,247 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2018-11-23 12:17:42,248 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=379, Invalid=811, Unknown=0, NotChecked=0, Total=1190 [2018-11-23 12:17:42,248 INFO L87 Difference]: Start difference. First operand 103 states and 115 transitions. Second operand 35 states. [2018-11-23 12:17:44,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:44,137 INFO L93 Difference]: Finished difference Result 161 states and 191 transitions. [2018-11-23 12:17:44,137 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2018-11-23 12:17:44,137 INFO L78 Accepts]: Start accepts. Automaton has 35 states. Word has length 160 [2018-11-23 12:17:44,137 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:44,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-23 12:17:44,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 144 transitions. [2018-11-23 12:17:44,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-23 12:17:44,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 144 transitions. [2018-11-23 12:17:44,140 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states and 144 transitions. [2018-11-23 12:17:44,334 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:44,336 INFO L225 Difference]: With dead ends: 161 [2018-11-23 12:17:44,336 INFO L226 Difference]: Without dead ends: 111 [2018-11-23 12:17:44,337 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 152 SyntacticMatches, 0 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 207 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=379, Invalid=811, Unknown=0, NotChecked=0, Total=1190 [2018-11-23 12:17:44,337 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2018-11-23 12:17:44,446 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 108. [2018-11-23 12:17:44,446 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:44,446 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand 108 states. [2018-11-23 12:17:44,446 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 108 states. [2018-11-23 12:17:44,446 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 108 states. [2018-11-23 12:17:44,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:44,449 INFO L93 Difference]: Finished difference Result 111 states and 125 transitions. [2018-11-23 12:17:44,449 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 125 transitions. [2018-11-23 12:17:44,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:44,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:44,449 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand 111 states. [2018-11-23 12:17:44,449 INFO L87 Difference]: Start difference. First operand 108 states. Second operand 111 states. [2018-11-23 12:17:44,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:44,451 INFO L93 Difference]: Finished difference Result 111 states and 125 transitions. [2018-11-23 12:17:44,451 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 125 transitions. [2018-11-23 12:17:44,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:44,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:44,452 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:44,452 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:44,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 108 states. [2018-11-23 12:17:44,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 121 transitions. [2018-11-23 12:17:44,454 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 121 transitions. Word has length 160 [2018-11-23 12:17:44,454 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:44,454 INFO L480 AbstractCegarLoop]: Abstraction has 108 states and 121 transitions. [2018-11-23 12:17:44,454 INFO L481 AbstractCegarLoop]: Interpolant automaton has 35 states. [2018-11-23 12:17:44,454 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 121 transitions. [2018-11-23 12:17:44,455 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 172 [2018-11-23 12:17:44,455 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:44,456 INFO L402 BasicCegarLoop]: trace histogram [27, 27, 27, 24, 24, 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:44,456 INFO L423 AbstractCegarLoop]: === Iteration 28 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:44,456 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:44,456 INFO L82 PathProgramCache]: Analyzing trace with hash -617570183, now seen corresponding path program 24 times [2018-11-23 12:17:44,456 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:44,456 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:44,457 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:44,457 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:44,457 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:44,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:45,415 INFO L256 TraceCheckUtils]: 0: Hoare triple {17013#true} call ULTIMATE.init(); {17013#true} is VALID [2018-11-23 12:17:45,416 INFO L273 TraceCheckUtils]: 1: Hoare triple {17013#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {17013#true} is VALID [2018-11-23 12:17:45,416 INFO L273 TraceCheckUtils]: 2: Hoare triple {17013#true} assume true; {17013#true} is VALID [2018-11-23 12:17:45,416 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17013#true} {17013#true} #71#return; {17013#true} is VALID [2018-11-23 12:17:45,417 INFO L256 TraceCheckUtils]: 4: Hoare triple {17013#true} call #t~ret14 := main(); {17013#true} is VALID [2018-11-23 12:17:45,417 INFO L273 TraceCheckUtils]: 5: Hoare triple {17013#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {17015#(= main_~i~1 0)} is VALID [2018-11-23 12:17:45,418 INFO L273 TraceCheckUtils]: 6: Hoare triple {17015#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17015#(= main_~i~1 0)} is VALID [2018-11-23 12:17:45,418 INFO L273 TraceCheckUtils]: 7: Hoare triple {17015#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17016#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:45,419 INFO L273 TraceCheckUtils]: 8: Hoare triple {17016#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17016#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:45,419 INFO L273 TraceCheckUtils]: 9: Hoare triple {17016#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17017#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:45,419 INFO L273 TraceCheckUtils]: 10: Hoare triple {17017#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17017#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:45,420 INFO L273 TraceCheckUtils]: 11: Hoare triple {17017#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17018#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:45,420 INFO L273 TraceCheckUtils]: 12: Hoare triple {17018#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17018#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:45,420 INFO L273 TraceCheckUtils]: 13: Hoare triple {17018#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17019#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:45,421 INFO L273 TraceCheckUtils]: 14: Hoare triple {17019#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17019#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:45,422 INFO L273 TraceCheckUtils]: 15: Hoare triple {17019#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17020#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:45,422 INFO L273 TraceCheckUtils]: 16: Hoare triple {17020#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17020#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:45,423 INFO L273 TraceCheckUtils]: 17: Hoare triple {17020#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17021#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:45,423 INFO L273 TraceCheckUtils]: 18: Hoare triple {17021#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17021#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:45,424 INFO L273 TraceCheckUtils]: 19: Hoare triple {17021#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17022#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:45,424 INFO L273 TraceCheckUtils]: 20: Hoare triple {17022#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17022#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:45,425 INFO L273 TraceCheckUtils]: 21: Hoare triple {17022#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17023#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:45,426 INFO L273 TraceCheckUtils]: 22: Hoare triple {17023#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17023#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:45,426 INFO L273 TraceCheckUtils]: 23: Hoare triple {17023#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17024#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:45,427 INFO L273 TraceCheckUtils]: 24: Hoare triple {17024#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17024#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:45,427 INFO L273 TraceCheckUtils]: 25: Hoare triple {17024#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17025#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:45,428 INFO L273 TraceCheckUtils]: 26: Hoare triple {17025#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17025#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:45,429 INFO L273 TraceCheckUtils]: 27: Hoare triple {17025#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17026#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:45,429 INFO L273 TraceCheckUtils]: 28: Hoare triple {17026#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17026#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:45,430 INFO L273 TraceCheckUtils]: 29: Hoare triple {17026#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17027#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:45,430 INFO L273 TraceCheckUtils]: 30: Hoare triple {17027#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17027#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:45,431 INFO L273 TraceCheckUtils]: 31: Hoare triple {17027#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17028#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:45,431 INFO L273 TraceCheckUtils]: 32: Hoare triple {17028#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17028#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:45,432 INFO L273 TraceCheckUtils]: 33: Hoare triple {17028#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17029#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:45,433 INFO L273 TraceCheckUtils]: 34: Hoare triple {17029#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17029#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:45,433 INFO L273 TraceCheckUtils]: 35: Hoare triple {17029#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17030#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:45,434 INFO L273 TraceCheckUtils]: 36: Hoare triple {17030#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17030#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:45,434 INFO L273 TraceCheckUtils]: 37: Hoare triple {17030#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17031#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:45,435 INFO L273 TraceCheckUtils]: 38: Hoare triple {17031#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17031#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:45,436 INFO L273 TraceCheckUtils]: 39: Hoare triple {17031#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17032#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:45,436 INFO L273 TraceCheckUtils]: 40: Hoare triple {17032#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17032#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:45,437 INFO L273 TraceCheckUtils]: 41: Hoare triple {17032#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17033#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:45,437 INFO L273 TraceCheckUtils]: 42: Hoare triple {17033#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17033#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:45,438 INFO L273 TraceCheckUtils]: 43: Hoare triple {17033#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17034#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:45,438 INFO L273 TraceCheckUtils]: 44: Hoare triple {17034#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17034#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:45,439 INFO L273 TraceCheckUtils]: 45: Hoare triple {17034#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17035#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:45,439 INFO L273 TraceCheckUtils]: 46: Hoare triple {17035#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17035#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:45,440 INFO L273 TraceCheckUtils]: 47: Hoare triple {17035#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17036#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:45,441 INFO L273 TraceCheckUtils]: 48: Hoare triple {17036#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17036#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:45,441 INFO L273 TraceCheckUtils]: 49: Hoare triple {17036#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17037#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:45,442 INFO L273 TraceCheckUtils]: 50: Hoare triple {17037#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17037#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:45,442 INFO L273 TraceCheckUtils]: 51: Hoare triple {17037#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17038#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:45,443 INFO L273 TraceCheckUtils]: 52: Hoare triple {17038#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17038#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:45,444 INFO L273 TraceCheckUtils]: 53: Hoare triple {17038#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17039#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:45,444 INFO L273 TraceCheckUtils]: 54: Hoare triple {17039#(<= main_~i~1 24)} assume !(~i~1 < 40); {17014#false} is VALID [2018-11-23 12:17:45,444 INFO L256 TraceCheckUtils]: 55: Hoare triple {17014#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {17013#true} is VALID [2018-11-23 12:17:45,445 INFO L273 TraceCheckUtils]: 56: Hoare triple {17013#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {17013#true} is VALID [2018-11-23 12:17:45,445 INFO L273 TraceCheckUtils]: 57: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,445 INFO L273 TraceCheckUtils]: 58: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,445 INFO L273 TraceCheckUtils]: 59: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,445 INFO L273 TraceCheckUtils]: 60: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,446 INFO L273 TraceCheckUtils]: 61: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,446 INFO L273 TraceCheckUtils]: 62: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,446 INFO L273 TraceCheckUtils]: 63: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,446 INFO L273 TraceCheckUtils]: 64: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,446 INFO L273 TraceCheckUtils]: 65: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,446 INFO L273 TraceCheckUtils]: 66: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,447 INFO L273 TraceCheckUtils]: 67: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,447 INFO L273 TraceCheckUtils]: 68: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,447 INFO L273 TraceCheckUtils]: 69: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,447 INFO L273 TraceCheckUtils]: 70: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,447 INFO L273 TraceCheckUtils]: 71: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,447 INFO L273 TraceCheckUtils]: 72: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,448 INFO L273 TraceCheckUtils]: 73: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,448 INFO L273 TraceCheckUtils]: 74: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,448 INFO L273 TraceCheckUtils]: 75: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,448 INFO L273 TraceCheckUtils]: 76: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,448 INFO L273 TraceCheckUtils]: 77: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,448 INFO L273 TraceCheckUtils]: 78: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,449 INFO L273 TraceCheckUtils]: 79: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,449 INFO L273 TraceCheckUtils]: 80: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,449 INFO L273 TraceCheckUtils]: 81: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,449 INFO L273 TraceCheckUtils]: 82: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,449 INFO L273 TraceCheckUtils]: 83: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,449 INFO L273 TraceCheckUtils]: 84: Hoare triple {17013#true} assume !(~i~0 < 40); {17013#true} is VALID [2018-11-23 12:17:45,449 INFO L273 TraceCheckUtils]: 85: Hoare triple {17013#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {17013#true} is VALID [2018-11-23 12:17:45,449 INFO L273 TraceCheckUtils]: 86: Hoare triple {17013#true} assume true; {17013#true} is VALID [2018-11-23 12:17:45,449 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {17013#true} {17014#false} #75#return; {17014#false} is VALID [2018-11-23 12:17:45,450 INFO L273 TraceCheckUtils]: 88: Hoare triple {17014#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); {17014#false} is VALID [2018-11-23 12:17:45,450 INFO L256 TraceCheckUtils]: 89: Hoare triple {17014#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {17013#true} is VALID [2018-11-23 12:17:45,450 INFO L273 TraceCheckUtils]: 90: Hoare triple {17013#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {17013#true} is VALID [2018-11-23 12:17:45,450 INFO L273 TraceCheckUtils]: 91: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,450 INFO L273 TraceCheckUtils]: 92: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,450 INFO L273 TraceCheckUtils]: 93: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,450 INFO L273 TraceCheckUtils]: 94: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,450 INFO L273 TraceCheckUtils]: 95: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,450 INFO L273 TraceCheckUtils]: 96: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,451 INFO L273 TraceCheckUtils]: 97: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,451 INFO L273 TraceCheckUtils]: 98: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,451 INFO L273 TraceCheckUtils]: 99: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,451 INFO L273 TraceCheckUtils]: 100: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,451 INFO L273 TraceCheckUtils]: 101: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,451 INFO L273 TraceCheckUtils]: 102: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,451 INFO L273 TraceCheckUtils]: 103: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,451 INFO L273 TraceCheckUtils]: 104: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,451 INFO L273 TraceCheckUtils]: 105: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,451 INFO L273 TraceCheckUtils]: 106: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,452 INFO L273 TraceCheckUtils]: 107: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,452 INFO L273 TraceCheckUtils]: 108: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,452 INFO L273 TraceCheckUtils]: 109: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,452 INFO L273 TraceCheckUtils]: 110: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,452 INFO L273 TraceCheckUtils]: 111: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,452 INFO L273 TraceCheckUtils]: 112: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,452 INFO L273 TraceCheckUtils]: 113: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,452 INFO L273 TraceCheckUtils]: 114: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,452 INFO L273 TraceCheckUtils]: 115: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,453 INFO L273 TraceCheckUtils]: 116: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,453 INFO L273 TraceCheckUtils]: 117: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,453 INFO L273 TraceCheckUtils]: 118: Hoare triple {17013#true} assume !(~i~0 < 40); {17013#true} is VALID [2018-11-23 12:17:45,453 INFO L273 TraceCheckUtils]: 119: Hoare triple {17013#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {17013#true} is VALID [2018-11-23 12:17:45,453 INFO L273 TraceCheckUtils]: 120: Hoare triple {17013#true} assume true; {17013#true} is VALID [2018-11-23 12:17:45,453 INFO L268 TraceCheckUtils]: 121: Hoare quadruple {17013#true} {17014#false} #77#return; {17014#false} is VALID [2018-11-23 12:17:45,453 INFO L273 TraceCheckUtils]: 122: Hoare triple {17014#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; {17014#false} is VALID [2018-11-23 12:17:45,453 INFO L273 TraceCheckUtils]: 123: Hoare triple {17014#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17014#false} is VALID [2018-11-23 12:17:45,453 INFO L273 TraceCheckUtils]: 124: Hoare triple {17014#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17014#false} is VALID [2018-11-23 12:17:45,453 INFO L273 TraceCheckUtils]: 125: Hoare triple {17014#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17014#false} is VALID [2018-11-23 12:17:45,454 INFO L273 TraceCheckUtils]: 126: Hoare triple {17014#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17014#false} is VALID [2018-11-23 12:17:45,454 INFO L273 TraceCheckUtils]: 127: Hoare triple {17014#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17014#false} is VALID [2018-11-23 12:17:45,454 INFO L273 TraceCheckUtils]: 128: Hoare triple {17014#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17014#false} is VALID [2018-11-23 12:17:45,454 INFO L273 TraceCheckUtils]: 129: Hoare triple {17014#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17014#false} is VALID [2018-11-23 12:17:45,454 INFO L273 TraceCheckUtils]: 130: Hoare triple {17014#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17014#false} is VALID [2018-11-23 12:17:45,454 INFO L273 TraceCheckUtils]: 131: Hoare triple {17014#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17014#false} is VALID [2018-11-23 12:17:45,454 INFO L273 TraceCheckUtils]: 132: Hoare triple {17014#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17014#false} is VALID [2018-11-23 12:17:45,454 INFO L273 TraceCheckUtils]: 133: Hoare triple {17014#false} assume !(~i~2 < 39); {17014#false} is VALID [2018-11-23 12:17:45,454 INFO L273 TraceCheckUtils]: 134: Hoare triple {17014#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {17014#false} is VALID [2018-11-23 12:17:45,454 INFO L256 TraceCheckUtils]: 135: Hoare triple {17014#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {17013#true} is VALID [2018-11-23 12:17:45,455 INFO L273 TraceCheckUtils]: 136: Hoare triple {17013#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {17013#true} is VALID [2018-11-23 12:17:45,455 INFO L273 TraceCheckUtils]: 137: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,455 INFO L273 TraceCheckUtils]: 138: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,455 INFO L273 TraceCheckUtils]: 139: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,455 INFO L273 TraceCheckUtils]: 140: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,455 INFO L273 TraceCheckUtils]: 141: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,455 INFO L273 TraceCheckUtils]: 142: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,455 INFO L273 TraceCheckUtils]: 143: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,455 INFO L273 TraceCheckUtils]: 144: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,456 INFO L273 TraceCheckUtils]: 145: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,456 INFO L273 TraceCheckUtils]: 146: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,456 INFO L273 TraceCheckUtils]: 147: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,456 INFO L273 TraceCheckUtils]: 148: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,456 INFO L273 TraceCheckUtils]: 149: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,456 INFO L273 TraceCheckUtils]: 150: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,456 INFO L273 TraceCheckUtils]: 151: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,456 INFO L273 TraceCheckUtils]: 152: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,456 INFO L273 TraceCheckUtils]: 153: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,456 INFO L273 TraceCheckUtils]: 154: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,457 INFO L273 TraceCheckUtils]: 155: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,457 INFO L273 TraceCheckUtils]: 156: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,457 INFO L273 TraceCheckUtils]: 157: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,457 INFO L273 TraceCheckUtils]: 158: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,457 INFO L273 TraceCheckUtils]: 159: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,457 INFO L273 TraceCheckUtils]: 160: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,457 INFO L273 TraceCheckUtils]: 161: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:45,457 INFO L273 TraceCheckUtils]: 162: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:45,457 INFO L273 TraceCheckUtils]: 163: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:45,458 INFO L273 TraceCheckUtils]: 164: Hoare triple {17013#true} assume !(~i~0 < 40); {17013#true} is VALID [2018-11-23 12:17:45,458 INFO L273 TraceCheckUtils]: 165: Hoare triple {17013#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {17013#true} is VALID [2018-11-23 12:17:45,458 INFO L273 TraceCheckUtils]: 166: Hoare triple {17013#true} assume true; {17013#true} is VALID [2018-11-23 12:17:45,458 INFO L268 TraceCheckUtils]: 167: Hoare quadruple {17013#true} {17014#false} #79#return; {17014#false} is VALID [2018-11-23 12:17:45,458 INFO L273 TraceCheckUtils]: 168: Hoare triple {17014#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {17014#false} is VALID [2018-11-23 12:17:45,458 INFO L273 TraceCheckUtils]: 169: Hoare triple {17014#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {17014#false} is VALID [2018-11-23 12:17:45,458 INFO L273 TraceCheckUtils]: 170: Hoare triple {17014#false} assume !false; {17014#false} is VALID [2018-11-23 12:17:45,471 INFO L134 CoverageAnalysis]: Checked inductivity of 1750 backedges. 0 proven. 576 refuted. 0 times theorem prover too weak. 1174 trivial. 0 not checked. [2018-11-23 12:17:45,471 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:45,471 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:45,479 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:17:45,790 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 13 check-sat command(s) [2018-11-23 12:17:45,791 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:45,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:45,828 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:46,036 INFO L256 TraceCheckUtils]: 0: Hoare triple {17013#true} call ULTIMATE.init(); {17013#true} is VALID [2018-11-23 12:17:46,037 INFO L273 TraceCheckUtils]: 1: Hoare triple {17013#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {17013#true} is VALID [2018-11-23 12:17:46,037 INFO L273 TraceCheckUtils]: 2: Hoare triple {17013#true} assume true; {17013#true} is VALID [2018-11-23 12:17:46,037 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17013#true} {17013#true} #71#return; {17013#true} is VALID [2018-11-23 12:17:46,037 INFO L256 TraceCheckUtils]: 4: Hoare triple {17013#true} call #t~ret14 := main(); {17013#true} is VALID [2018-11-23 12:17:46,037 INFO L273 TraceCheckUtils]: 5: Hoare triple {17013#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {17013#true} is VALID [2018-11-23 12:17:46,038 INFO L273 TraceCheckUtils]: 6: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,038 INFO L273 TraceCheckUtils]: 7: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,038 INFO L273 TraceCheckUtils]: 8: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,038 INFO L273 TraceCheckUtils]: 9: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,038 INFO L273 TraceCheckUtils]: 10: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,039 INFO L273 TraceCheckUtils]: 11: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,039 INFO L273 TraceCheckUtils]: 12: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,039 INFO L273 TraceCheckUtils]: 13: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,039 INFO L273 TraceCheckUtils]: 14: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,039 INFO L273 TraceCheckUtils]: 15: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,039 INFO L273 TraceCheckUtils]: 16: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,039 INFO L273 TraceCheckUtils]: 17: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,039 INFO L273 TraceCheckUtils]: 18: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,039 INFO L273 TraceCheckUtils]: 19: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,040 INFO L273 TraceCheckUtils]: 20: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,040 INFO L273 TraceCheckUtils]: 21: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,040 INFO L273 TraceCheckUtils]: 22: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,040 INFO L273 TraceCheckUtils]: 23: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,040 INFO L273 TraceCheckUtils]: 24: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,040 INFO L273 TraceCheckUtils]: 25: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,040 INFO L273 TraceCheckUtils]: 26: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,040 INFO L273 TraceCheckUtils]: 27: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,040 INFO L273 TraceCheckUtils]: 28: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,041 INFO L273 TraceCheckUtils]: 29: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,041 INFO L273 TraceCheckUtils]: 30: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,041 INFO L273 TraceCheckUtils]: 31: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,041 INFO L273 TraceCheckUtils]: 32: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,041 INFO L273 TraceCheckUtils]: 33: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,041 INFO L273 TraceCheckUtils]: 34: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,041 INFO L273 TraceCheckUtils]: 35: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,041 INFO L273 TraceCheckUtils]: 36: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,041 INFO L273 TraceCheckUtils]: 37: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,041 INFO L273 TraceCheckUtils]: 38: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,042 INFO L273 TraceCheckUtils]: 39: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,042 INFO L273 TraceCheckUtils]: 40: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,042 INFO L273 TraceCheckUtils]: 41: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,042 INFO L273 TraceCheckUtils]: 42: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,042 INFO L273 TraceCheckUtils]: 43: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,042 INFO L273 TraceCheckUtils]: 44: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,042 INFO L273 TraceCheckUtils]: 45: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,042 INFO L273 TraceCheckUtils]: 46: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,042 INFO L273 TraceCheckUtils]: 47: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,043 INFO L273 TraceCheckUtils]: 48: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,043 INFO L273 TraceCheckUtils]: 49: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,043 INFO L273 TraceCheckUtils]: 50: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,043 INFO L273 TraceCheckUtils]: 51: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,043 INFO L273 TraceCheckUtils]: 52: Hoare triple {17013#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17013#true} is VALID [2018-11-23 12:17:46,043 INFO L273 TraceCheckUtils]: 53: Hoare triple {17013#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17013#true} is VALID [2018-11-23 12:17:46,043 INFO L273 TraceCheckUtils]: 54: Hoare triple {17013#true} assume !(~i~1 < 40); {17013#true} is VALID [2018-11-23 12:17:46,043 INFO L256 TraceCheckUtils]: 55: Hoare triple {17013#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {17013#true} is VALID [2018-11-23 12:17:46,043 INFO L273 TraceCheckUtils]: 56: Hoare triple {17013#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {17013#true} is VALID [2018-11-23 12:17:46,043 INFO L273 TraceCheckUtils]: 57: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,044 INFO L273 TraceCheckUtils]: 58: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,044 INFO L273 TraceCheckUtils]: 59: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,044 INFO L273 TraceCheckUtils]: 60: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,044 INFO L273 TraceCheckUtils]: 61: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,044 INFO L273 TraceCheckUtils]: 62: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,044 INFO L273 TraceCheckUtils]: 63: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,044 INFO L273 TraceCheckUtils]: 64: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,044 INFO L273 TraceCheckUtils]: 65: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,044 INFO L273 TraceCheckUtils]: 66: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,044 INFO L273 TraceCheckUtils]: 67: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,045 INFO L273 TraceCheckUtils]: 68: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,045 INFO L273 TraceCheckUtils]: 69: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,045 INFO L273 TraceCheckUtils]: 70: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,045 INFO L273 TraceCheckUtils]: 71: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,045 INFO L273 TraceCheckUtils]: 72: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,045 INFO L273 TraceCheckUtils]: 73: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,045 INFO L273 TraceCheckUtils]: 74: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,045 INFO L273 TraceCheckUtils]: 75: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,045 INFO L273 TraceCheckUtils]: 76: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,046 INFO L273 TraceCheckUtils]: 77: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,046 INFO L273 TraceCheckUtils]: 78: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,046 INFO L273 TraceCheckUtils]: 79: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,046 INFO L273 TraceCheckUtils]: 80: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,046 INFO L273 TraceCheckUtils]: 81: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,046 INFO L273 TraceCheckUtils]: 82: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,046 INFO L273 TraceCheckUtils]: 83: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,046 INFO L273 TraceCheckUtils]: 84: Hoare triple {17013#true} assume !(~i~0 < 40); {17013#true} is VALID [2018-11-23 12:17:46,046 INFO L273 TraceCheckUtils]: 85: Hoare triple {17013#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {17013#true} is VALID [2018-11-23 12:17:46,046 INFO L273 TraceCheckUtils]: 86: Hoare triple {17013#true} assume true; {17013#true} is VALID [2018-11-23 12:17:46,047 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {17013#true} {17013#true} #75#return; {17013#true} is VALID [2018-11-23 12:17:46,047 INFO L273 TraceCheckUtils]: 88: Hoare triple {17013#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); {17013#true} is VALID [2018-11-23 12:17:46,047 INFO L256 TraceCheckUtils]: 89: Hoare triple {17013#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {17013#true} is VALID [2018-11-23 12:17:46,047 INFO L273 TraceCheckUtils]: 90: Hoare triple {17013#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {17013#true} is VALID [2018-11-23 12:17:46,047 INFO L273 TraceCheckUtils]: 91: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,047 INFO L273 TraceCheckUtils]: 92: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,047 INFO L273 TraceCheckUtils]: 93: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,047 INFO L273 TraceCheckUtils]: 94: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,047 INFO L273 TraceCheckUtils]: 95: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,048 INFO L273 TraceCheckUtils]: 96: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,048 INFO L273 TraceCheckUtils]: 97: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,048 INFO L273 TraceCheckUtils]: 98: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,048 INFO L273 TraceCheckUtils]: 99: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,048 INFO L273 TraceCheckUtils]: 100: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,048 INFO L273 TraceCheckUtils]: 101: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,048 INFO L273 TraceCheckUtils]: 102: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,048 INFO L273 TraceCheckUtils]: 103: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,048 INFO L273 TraceCheckUtils]: 104: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,049 INFO L273 TraceCheckUtils]: 105: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,049 INFO L273 TraceCheckUtils]: 106: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,049 INFO L273 TraceCheckUtils]: 107: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,049 INFO L273 TraceCheckUtils]: 108: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,049 INFO L273 TraceCheckUtils]: 109: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,049 INFO L273 TraceCheckUtils]: 110: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,049 INFO L273 TraceCheckUtils]: 111: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,049 INFO L273 TraceCheckUtils]: 112: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,049 INFO L273 TraceCheckUtils]: 113: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,049 INFO L273 TraceCheckUtils]: 114: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,050 INFO L273 TraceCheckUtils]: 115: Hoare triple {17013#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17013#true} is VALID [2018-11-23 12:17:46,050 INFO L273 TraceCheckUtils]: 116: Hoare triple {17013#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17013#true} is VALID [2018-11-23 12:17:46,050 INFO L273 TraceCheckUtils]: 117: Hoare triple {17013#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17013#true} is VALID [2018-11-23 12:17:46,050 INFO L273 TraceCheckUtils]: 118: Hoare triple {17013#true} assume !(~i~0 < 40); {17013#true} is VALID [2018-11-23 12:17:46,050 INFO L273 TraceCheckUtils]: 119: Hoare triple {17013#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {17013#true} is VALID [2018-11-23 12:17:46,050 INFO L273 TraceCheckUtils]: 120: Hoare triple {17013#true} assume true; {17013#true} is VALID [2018-11-23 12:17:46,050 INFO L268 TraceCheckUtils]: 121: Hoare quadruple {17013#true} {17013#true} #77#return; {17013#true} is VALID [2018-11-23 12:17:46,051 INFO L273 TraceCheckUtils]: 122: Hoare triple {17013#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; {17409#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:46,051 INFO L273 TraceCheckUtils]: 123: Hoare triple {17409#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17409#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:46,051 INFO L273 TraceCheckUtils]: 124: Hoare triple {17409#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17416#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:46,052 INFO L273 TraceCheckUtils]: 125: Hoare triple {17416#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17416#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:46,052 INFO L273 TraceCheckUtils]: 126: Hoare triple {17416#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17423#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:46,052 INFO L273 TraceCheckUtils]: 127: Hoare triple {17423#(<= main_~i~2 2)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17423#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:46,053 INFO L273 TraceCheckUtils]: 128: Hoare triple {17423#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17430#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:46,053 INFO L273 TraceCheckUtils]: 129: Hoare triple {17430#(<= main_~i~2 3)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17430#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:46,054 INFO L273 TraceCheckUtils]: 130: Hoare triple {17430#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17437#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:46,054 INFO L273 TraceCheckUtils]: 131: Hoare triple {17437#(<= main_~i~2 4)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17437#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:46,055 INFO L273 TraceCheckUtils]: 132: Hoare triple {17437#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17444#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:46,055 INFO L273 TraceCheckUtils]: 133: Hoare triple {17444#(<= main_~i~2 5)} assume !(~i~2 < 39); {17014#false} is VALID [2018-11-23 12:17:46,056 INFO L273 TraceCheckUtils]: 134: Hoare triple {17014#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {17014#false} is VALID [2018-11-23 12:17:46,056 INFO L256 TraceCheckUtils]: 135: Hoare triple {17014#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {17014#false} is VALID [2018-11-23 12:17:46,056 INFO L273 TraceCheckUtils]: 136: Hoare triple {17014#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {17014#false} is VALID [2018-11-23 12:17:46,056 INFO L273 TraceCheckUtils]: 137: Hoare triple {17014#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17014#false} is VALID [2018-11-23 12:17:46,056 INFO L273 TraceCheckUtils]: 138: Hoare triple {17014#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17014#false} is VALID [2018-11-23 12:17:46,056 INFO L273 TraceCheckUtils]: 139: Hoare triple {17014#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17014#false} is VALID [2018-11-23 12:17:46,057 INFO L273 TraceCheckUtils]: 140: Hoare triple {17014#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17014#false} is VALID [2018-11-23 12:17:46,057 INFO L273 TraceCheckUtils]: 141: Hoare triple {17014#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17014#false} is VALID [2018-11-23 12:17:46,057 INFO L273 TraceCheckUtils]: 142: Hoare triple {17014#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17014#false} is VALID [2018-11-23 12:17:46,057 INFO L273 TraceCheckUtils]: 143: Hoare triple {17014#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17014#false} is VALID [2018-11-23 12:17:46,057 INFO L273 TraceCheckUtils]: 144: Hoare triple {17014#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17014#false} is VALID [2018-11-23 12:17:46,057 INFO L273 TraceCheckUtils]: 145: Hoare triple {17014#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17014#false} is VALID [2018-11-23 12:17:46,058 INFO L273 TraceCheckUtils]: 146: Hoare triple {17014#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17014#false} is VALID [2018-11-23 12:17:46,058 INFO L273 TraceCheckUtils]: 147: Hoare triple {17014#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17014#false} is VALID [2018-11-23 12:17:46,058 INFO L273 TraceCheckUtils]: 148: Hoare triple {17014#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17014#false} is VALID [2018-11-23 12:17:46,058 INFO L273 TraceCheckUtils]: 149: Hoare triple {17014#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17014#false} is VALID [2018-11-23 12:17:46,058 INFO L273 TraceCheckUtils]: 150: Hoare triple {17014#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17014#false} is VALID [2018-11-23 12:17:46,059 INFO L273 TraceCheckUtils]: 151: Hoare triple {17014#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17014#false} is VALID [2018-11-23 12:17:46,059 INFO L273 TraceCheckUtils]: 152: Hoare triple {17014#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17014#false} is VALID [2018-11-23 12:17:46,059 INFO L273 TraceCheckUtils]: 153: Hoare triple {17014#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17014#false} is VALID [2018-11-23 12:17:46,059 INFO L273 TraceCheckUtils]: 154: Hoare triple {17014#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17014#false} is VALID [2018-11-23 12:17:46,059 INFO L273 TraceCheckUtils]: 155: Hoare triple {17014#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17014#false} is VALID [2018-11-23 12:17:46,059 INFO L273 TraceCheckUtils]: 156: Hoare triple {17014#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17014#false} is VALID [2018-11-23 12:17:46,059 INFO L273 TraceCheckUtils]: 157: Hoare triple {17014#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17014#false} is VALID [2018-11-23 12:17:46,059 INFO L273 TraceCheckUtils]: 158: Hoare triple {17014#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17014#false} is VALID [2018-11-23 12:17:46,059 INFO L273 TraceCheckUtils]: 159: Hoare triple {17014#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17014#false} is VALID [2018-11-23 12:17:46,060 INFO L273 TraceCheckUtils]: 160: Hoare triple {17014#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17014#false} is VALID [2018-11-23 12:17:46,060 INFO L273 TraceCheckUtils]: 161: Hoare triple {17014#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17014#false} is VALID [2018-11-23 12:17:46,060 INFO L273 TraceCheckUtils]: 162: Hoare triple {17014#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {17014#false} is VALID [2018-11-23 12:17:46,060 INFO L273 TraceCheckUtils]: 163: Hoare triple {17014#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17014#false} is VALID [2018-11-23 12:17:46,060 INFO L273 TraceCheckUtils]: 164: Hoare triple {17014#false} assume !(~i~0 < 40); {17014#false} is VALID [2018-11-23 12:17:46,060 INFO L273 TraceCheckUtils]: 165: Hoare triple {17014#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {17014#false} is VALID [2018-11-23 12:17:46,060 INFO L273 TraceCheckUtils]: 166: Hoare triple {17014#false} assume true; {17014#false} is VALID [2018-11-23 12:17:46,060 INFO L268 TraceCheckUtils]: 167: Hoare quadruple {17014#false} {17014#false} #79#return; {17014#false} is VALID [2018-11-23 12:17:46,060 INFO L273 TraceCheckUtils]: 168: Hoare triple {17014#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {17014#false} is VALID [2018-11-23 12:17:46,061 INFO L273 TraceCheckUtils]: 169: Hoare triple {17014#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {17014#false} is VALID [2018-11-23 12:17:46,061 INFO L273 TraceCheckUtils]: 170: Hoare triple {17014#false} assume !false; {17014#false} is VALID [2018-11-23 12:17:46,071 INFO L134 CoverageAnalysis]: Checked inductivity of 1750 backedges. 532 proven. 25 refuted. 0 times theorem prover too weak. 1193 trivial. 0 not checked. [2018-11-23 12:17:46,090 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:46,090 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 8] total 33 [2018-11-23 12:17:46,091 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 171 [2018-11-23 12:17:46,091 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:46,091 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states. [2018-11-23 12:17:46,194 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:46,195 INFO L459 AbstractCegarLoop]: Interpolant automaton has 33 states [2018-11-23 12:17:46,195 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2018-11-23 12:17:46,196 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=378, Invalid=678, Unknown=0, NotChecked=0, Total=1056 [2018-11-23 12:17:46,196 INFO L87 Difference]: Start difference. First operand 108 states and 121 transitions. Second operand 33 states. [2018-11-23 12:17:47,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:47,096 INFO L93 Difference]: Finished difference Result 167 states and 194 transitions. [2018-11-23 12:17:47,096 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2018-11-23 12:17:47,096 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 171 [2018-11-23 12:17:47,096 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:47,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:17:47,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 119 transitions. [2018-11-23 12:17:47,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:17:47,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 119 transitions. [2018-11-23 12:17:47,098 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states and 119 transitions. [2018-11-23 12:17:47,210 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:47,212 INFO L225 Difference]: With dead ends: 167 [2018-11-23 12:17:47,212 INFO L226 Difference]: Without dead ends: 114 [2018-11-23 12:17:47,213 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 166 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 144 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=378, Invalid=678, Unknown=0, NotChecked=0, Total=1056 [2018-11-23 12:17:47,213 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2018-11-23 12:17:47,262 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 112. [2018-11-23 12:17:47,262 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:47,263 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand 112 states. [2018-11-23 12:17:47,263 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 112 states. [2018-11-23 12:17:47,263 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 112 states. [2018-11-23 12:17:47,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:47,265 INFO L93 Difference]: Finished difference Result 114 states and 127 transitions. [2018-11-23 12:17:47,265 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 127 transitions. [2018-11-23 12:17:47,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:47,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:47,266 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 114 states. [2018-11-23 12:17:47,266 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 114 states. [2018-11-23 12:17:47,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:47,268 INFO L93 Difference]: Finished difference Result 114 states and 127 transitions. [2018-11-23 12:17:47,268 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 127 transitions. [2018-11-23 12:17:47,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:47,268 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:47,268 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:47,269 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:47,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 112 states. [2018-11-23 12:17:47,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 125 transitions. [2018-11-23 12:17:47,270 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 125 transitions. Word has length 171 [2018-11-23 12:17:47,271 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:47,271 INFO L480 AbstractCegarLoop]: Abstraction has 112 states and 125 transitions. [2018-11-23 12:17:47,271 INFO L481 AbstractCegarLoop]: Interpolant automaton has 33 states. [2018-11-23 12:17:47,271 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 125 transitions. [2018-11-23 12:17:47,272 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 176 [2018-11-23 12:17:47,272 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:47,272 INFO L402 BasicCegarLoop]: trace histogram [27, 27, 27, 25, 25, 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:47,272 INFO L423 AbstractCegarLoop]: === Iteration 29 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:47,273 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:47,273 INFO L82 PathProgramCache]: Analyzing trace with hash 1435108249, now seen corresponding path program 25 times [2018-11-23 12:17:47,273 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:47,273 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:47,274 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:47,274 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:47,274 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:47,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:47,836 INFO L256 TraceCheckUtils]: 0: Hoare triple {18187#true} call ULTIMATE.init(); {18187#true} is VALID [2018-11-23 12:17:47,837 INFO L273 TraceCheckUtils]: 1: Hoare triple {18187#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {18187#true} is VALID [2018-11-23 12:17:47,837 INFO L273 TraceCheckUtils]: 2: Hoare triple {18187#true} assume true; {18187#true} is VALID [2018-11-23 12:17:47,837 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {18187#true} {18187#true} #71#return; {18187#true} is VALID [2018-11-23 12:17:47,838 INFO L256 TraceCheckUtils]: 4: Hoare triple {18187#true} call #t~ret14 := main(); {18187#true} is VALID [2018-11-23 12:17:47,838 INFO L273 TraceCheckUtils]: 5: Hoare triple {18187#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {18189#(= main_~i~1 0)} is VALID [2018-11-23 12:17:47,839 INFO L273 TraceCheckUtils]: 6: Hoare triple {18189#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18189#(= main_~i~1 0)} is VALID [2018-11-23 12:17:47,840 INFO L273 TraceCheckUtils]: 7: Hoare triple {18189#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18190#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:47,840 INFO L273 TraceCheckUtils]: 8: Hoare triple {18190#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18190#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:47,841 INFO L273 TraceCheckUtils]: 9: Hoare triple {18190#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18191#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:47,842 INFO L273 TraceCheckUtils]: 10: Hoare triple {18191#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18191#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:47,843 INFO L273 TraceCheckUtils]: 11: Hoare triple {18191#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18192#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:47,843 INFO L273 TraceCheckUtils]: 12: Hoare triple {18192#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18192#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:47,844 INFO L273 TraceCheckUtils]: 13: Hoare triple {18192#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18193#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:47,845 INFO L273 TraceCheckUtils]: 14: Hoare triple {18193#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18193#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:47,845 INFO L273 TraceCheckUtils]: 15: Hoare triple {18193#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18194#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:47,846 INFO L273 TraceCheckUtils]: 16: Hoare triple {18194#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18194#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:47,847 INFO L273 TraceCheckUtils]: 17: Hoare triple {18194#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18195#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:47,847 INFO L273 TraceCheckUtils]: 18: Hoare triple {18195#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18195#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:47,848 INFO L273 TraceCheckUtils]: 19: Hoare triple {18195#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18196#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:47,849 INFO L273 TraceCheckUtils]: 20: Hoare triple {18196#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18196#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:47,850 INFO L273 TraceCheckUtils]: 21: Hoare triple {18196#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18197#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:47,850 INFO L273 TraceCheckUtils]: 22: Hoare triple {18197#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18197#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:47,851 INFO L273 TraceCheckUtils]: 23: Hoare triple {18197#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18198#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:47,852 INFO L273 TraceCheckUtils]: 24: Hoare triple {18198#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18198#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:47,853 INFO L273 TraceCheckUtils]: 25: Hoare triple {18198#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18199#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:47,853 INFO L273 TraceCheckUtils]: 26: Hoare triple {18199#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18199#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:47,854 INFO L273 TraceCheckUtils]: 27: Hoare triple {18199#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18200#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:47,855 INFO L273 TraceCheckUtils]: 28: Hoare triple {18200#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18200#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:47,855 INFO L273 TraceCheckUtils]: 29: Hoare triple {18200#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18201#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:47,856 INFO L273 TraceCheckUtils]: 30: Hoare triple {18201#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18201#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:47,857 INFO L273 TraceCheckUtils]: 31: Hoare triple {18201#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18202#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:47,857 INFO L273 TraceCheckUtils]: 32: Hoare triple {18202#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18202#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:47,858 INFO L273 TraceCheckUtils]: 33: Hoare triple {18202#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18203#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:47,859 INFO L273 TraceCheckUtils]: 34: Hoare triple {18203#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18203#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:47,860 INFO L273 TraceCheckUtils]: 35: Hoare triple {18203#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18204#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:47,860 INFO L273 TraceCheckUtils]: 36: Hoare triple {18204#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18204#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:47,861 INFO L273 TraceCheckUtils]: 37: Hoare triple {18204#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18205#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:47,862 INFO L273 TraceCheckUtils]: 38: Hoare triple {18205#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18205#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:47,863 INFO L273 TraceCheckUtils]: 39: Hoare triple {18205#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18206#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:47,863 INFO L273 TraceCheckUtils]: 40: Hoare triple {18206#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18206#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:47,864 INFO L273 TraceCheckUtils]: 41: Hoare triple {18206#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18207#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:47,865 INFO L273 TraceCheckUtils]: 42: Hoare triple {18207#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18207#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:47,865 INFO L273 TraceCheckUtils]: 43: Hoare triple {18207#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18208#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:47,866 INFO L273 TraceCheckUtils]: 44: Hoare triple {18208#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18208#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:47,867 INFO L273 TraceCheckUtils]: 45: Hoare triple {18208#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18209#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:47,868 INFO L273 TraceCheckUtils]: 46: Hoare triple {18209#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18209#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:47,868 INFO L273 TraceCheckUtils]: 47: Hoare triple {18209#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18210#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:47,869 INFO L273 TraceCheckUtils]: 48: Hoare triple {18210#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18210#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:47,870 INFO L273 TraceCheckUtils]: 49: Hoare triple {18210#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18211#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:47,870 INFO L273 TraceCheckUtils]: 50: Hoare triple {18211#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18211#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:47,871 INFO L273 TraceCheckUtils]: 51: Hoare triple {18211#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18212#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:47,872 INFO L273 TraceCheckUtils]: 52: Hoare triple {18212#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18212#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:47,873 INFO L273 TraceCheckUtils]: 53: Hoare triple {18212#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18213#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:47,873 INFO L273 TraceCheckUtils]: 54: Hoare triple {18213#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18213#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:47,874 INFO L273 TraceCheckUtils]: 55: Hoare triple {18213#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18214#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:47,875 INFO L273 TraceCheckUtils]: 56: Hoare triple {18214#(<= main_~i~1 25)} assume !(~i~1 < 40); {18188#false} is VALID [2018-11-23 12:17:47,875 INFO L256 TraceCheckUtils]: 57: Hoare triple {18188#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {18187#true} is VALID [2018-11-23 12:17:47,875 INFO L273 TraceCheckUtils]: 58: Hoare triple {18187#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {18187#true} is VALID [2018-11-23 12:17:47,876 INFO L273 TraceCheckUtils]: 59: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,876 INFO L273 TraceCheckUtils]: 60: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,876 INFO L273 TraceCheckUtils]: 61: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,876 INFO L273 TraceCheckUtils]: 62: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,876 INFO L273 TraceCheckUtils]: 63: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,877 INFO L273 TraceCheckUtils]: 64: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,877 INFO L273 TraceCheckUtils]: 65: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,877 INFO L273 TraceCheckUtils]: 66: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,877 INFO L273 TraceCheckUtils]: 67: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,877 INFO L273 TraceCheckUtils]: 68: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,878 INFO L273 TraceCheckUtils]: 69: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,878 INFO L273 TraceCheckUtils]: 70: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,878 INFO L273 TraceCheckUtils]: 71: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,878 INFO L273 TraceCheckUtils]: 72: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,878 INFO L273 TraceCheckUtils]: 73: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,878 INFO L273 TraceCheckUtils]: 74: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,878 INFO L273 TraceCheckUtils]: 75: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,879 INFO L273 TraceCheckUtils]: 76: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,879 INFO L273 TraceCheckUtils]: 77: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,879 INFO L273 TraceCheckUtils]: 78: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,879 INFO L273 TraceCheckUtils]: 79: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,879 INFO L273 TraceCheckUtils]: 80: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,879 INFO L273 TraceCheckUtils]: 81: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,879 INFO L273 TraceCheckUtils]: 82: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,880 INFO L273 TraceCheckUtils]: 83: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,880 INFO L273 TraceCheckUtils]: 84: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,880 INFO L273 TraceCheckUtils]: 85: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,880 INFO L273 TraceCheckUtils]: 86: Hoare triple {18187#true} assume !(~i~0 < 40); {18187#true} is VALID [2018-11-23 12:17:47,880 INFO L273 TraceCheckUtils]: 87: Hoare triple {18187#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {18187#true} is VALID [2018-11-23 12:17:47,880 INFO L273 TraceCheckUtils]: 88: Hoare triple {18187#true} assume true; {18187#true} is VALID [2018-11-23 12:17:47,880 INFO L268 TraceCheckUtils]: 89: Hoare quadruple {18187#true} {18188#false} #75#return; {18188#false} is VALID [2018-11-23 12:17:47,881 INFO L273 TraceCheckUtils]: 90: Hoare triple {18188#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); {18188#false} is VALID [2018-11-23 12:17:47,881 INFO L256 TraceCheckUtils]: 91: Hoare triple {18188#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {18187#true} is VALID [2018-11-23 12:17:47,881 INFO L273 TraceCheckUtils]: 92: Hoare triple {18187#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {18187#true} is VALID [2018-11-23 12:17:47,881 INFO L273 TraceCheckUtils]: 93: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,881 INFO L273 TraceCheckUtils]: 94: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,881 INFO L273 TraceCheckUtils]: 95: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,881 INFO L273 TraceCheckUtils]: 96: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,881 INFO L273 TraceCheckUtils]: 97: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,882 INFO L273 TraceCheckUtils]: 98: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,882 INFO L273 TraceCheckUtils]: 99: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,882 INFO L273 TraceCheckUtils]: 100: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,882 INFO L273 TraceCheckUtils]: 101: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,882 INFO L273 TraceCheckUtils]: 102: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,882 INFO L273 TraceCheckUtils]: 103: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,882 INFO L273 TraceCheckUtils]: 104: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,883 INFO L273 TraceCheckUtils]: 105: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,883 INFO L273 TraceCheckUtils]: 106: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,883 INFO L273 TraceCheckUtils]: 107: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,883 INFO L273 TraceCheckUtils]: 108: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,883 INFO L273 TraceCheckUtils]: 109: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,883 INFO L273 TraceCheckUtils]: 110: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,883 INFO L273 TraceCheckUtils]: 111: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,884 INFO L273 TraceCheckUtils]: 112: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,884 INFO L273 TraceCheckUtils]: 113: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,884 INFO L273 TraceCheckUtils]: 114: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,884 INFO L273 TraceCheckUtils]: 115: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,884 INFO L273 TraceCheckUtils]: 116: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,884 INFO L273 TraceCheckUtils]: 117: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,884 INFO L273 TraceCheckUtils]: 118: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,885 INFO L273 TraceCheckUtils]: 119: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,885 INFO L273 TraceCheckUtils]: 120: Hoare triple {18187#true} assume !(~i~0 < 40); {18187#true} is VALID [2018-11-23 12:17:47,885 INFO L273 TraceCheckUtils]: 121: Hoare triple {18187#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {18187#true} is VALID [2018-11-23 12:17:47,885 INFO L273 TraceCheckUtils]: 122: Hoare triple {18187#true} assume true; {18187#true} is VALID [2018-11-23 12:17:47,885 INFO L268 TraceCheckUtils]: 123: Hoare quadruple {18187#true} {18188#false} #77#return; {18188#false} is VALID [2018-11-23 12:17:47,885 INFO L273 TraceCheckUtils]: 124: Hoare triple {18188#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; {18188#false} is VALID [2018-11-23 12:17:47,885 INFO L273 TraceCheckUtils]: 125: Hoare triple {18188#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18188#false} is VALID [2018-11-23 12:17:47,885 INFO L273 TraceCheckUtils]: 126: Hoare triple {18188#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18188#false} is VALID [2018-11-23 12:17:47,886 INFO L273 TraceCheckUtils]: 127: Hoare triple {18188#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18188#false} is VALID [2018-11-23 12:17:47,886 INFO L273 TraceCheckUtils]: 128: Hoare triple {18188#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18188#false} is VALID [2018-11-23 12:17:47,886 INFO L273 TraceCheckUtils]: 129: Hoare triple {18188#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18188#false} is VALID [2018-11-23 12:17:47,886 INFO L273 TraceCheckUtils]: 130: Hoare triple {18188#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18188#false} is VALID [2018-11-23 12:17:47,886 INFO L273 TraceCheckUtils]: 131: Hoare triple {18188#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18188#false} is VALID [2018-11-23 12:17:47,886 INFO L273 TraceCheckUtils]: 132: Hoare triple {18188#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18188#false} is VALID [2018-11-23 12:17:47,886 INFO L273 TraceCheckUtils]: 133: Hoare triple {18188#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18188#false} is VALID [2018-11-23 12:17:47,887 INFO L273 TraceCheckUtils]: 134: Hoare triple {18188#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18188#false} is VALID [2018-11-23 12:17:47,887 INFO L273 TraceCheckUtils]: 135: Hoare triple {18188#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18188#false} is VALID [2018-11-23 12:17:47,887 INFO L273 TraceCheckUtils]: 136: Hoare triple {18188#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18188#false} is VALID [2018-11-23 12:17:47,887 INFO L273 TraceCheckUtils]: 137: Hoare triple {18188#false} assume !(~i~2 < 39); {18188#false} is VALID [2018-11-23 12:17:47,887 INFO L273 TraceCheckUtils]: 138: Hoare triple {18188#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {18188#false} is VALID [2018-11-23 12:17:47,887 INFO L256 TraceCheckUtils]: 139: Hoare triple {18188#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {18187#true} is VALID [2018-11-23 12:17:47,887 INFO L273 TraceCheckUtils]: 140: Hoare triple {18187#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {18187#true} is VALID [2018-11-23 12:17:47,888 INFO L273 TraceCheckUtils]: 141: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,888 INFO L273 TraceCheckUtils]: 142: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,888 INFO L273 TraceCheckUtils]: 143: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,888 INFO L273 TraceCheckUtils]: 144: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,888 INFO L273 TraceCheckUtils]: 145: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,888 INFO L273 TraceCheckUtils]: 146: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,888 INFO L273 TraceCheckUtils]: 147: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,889 INFO L273 TraceCheckUtils]: 148: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,889 INFO L273 TraceCheckUtils]: 149: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,889 INFO L273 TraceCheckUtils]: 150: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,889 INFO L273 TraceCheckUtils]: 151: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,889 INFO L273 TraceCheckUtils]: 152: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,889 INFO L273 TraceCheckUtils]: 153: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,889 INFO L273 TraceCheckUtils]: 154: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,890 INFO L273 TraceCheckUtils]: 155: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,890 INFO L273 TraceCheckUtils]: 156: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,890 INFO L273 TraceCheckUtils]: 157: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,890 INFO L273 TraceCheckUtils]: 158: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,890 INFO L273 TraceCheckUtils]: 159: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,890 INFO L273 TraceCheckUtils]: 160: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,890 INFO L273 TraceCheckUtils]: 161: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,890 INFO L273 TraceCheckUtils]: 162: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,891 INFO L273 TraceCheckUtils]: 163: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,891 INFO L273 TraceCheckUtils]: 164: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,891 INFO L273 TraceCheckUtils]: 165: Hoare triple {18187#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18187#true} is VALID [2018-11-23 12:17:47,891 INFO L273 TraceCheckUtils]: 166: Hoare triple {18187#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18187#true} is VALID [2018-11-23 12:17:47,891 INFO L273 TraceCheckUtils]: 167: Hoare triple {18187#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18187#true} is VALID [2018-11-23 12:17:47,891 INFO L273 TraceCheckUtils]: 168: Hoare triple {18187#true} assume !(~i~0 < 40); {18187#true} is VALID [2018-11-23 12:17:47,891 INFO L273 TraceCheckUtils]: 169: Hoare triple {18187#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {18187#true} is VALID [2018-11-23 12:17:47,892 INFO L273 TraceCheckUtils]: 170: Hoare triple {18187#true} assume true; {18187#true} is VALID [2018-11-23 12:17:47,892 INFO L268 TraceCheckUtils]: 171: Hoare quadruple {18187#true} {18188#false} #79#return; {18188#false} is VALID [2018-11-23 12:17:47,892 INFO L273 TraceCheckUtils]: 172: Hoare triple {18188#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {18188#false} is VALID [2018-11-23 12:17:47,892 INFO L273 TraceCheckUtils]: 173: Hoare triple {18188#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {18188#false} is VALID [2018-11-23 12:17:47,892 INFO L273 TraceCheckUtils]: 174: Hoare triple {18188#false} assume !false; {18188#false} is VALID [2018-11-23 12:17:47,918 INFO L134 CoverageAnalysis]: Checked inductivity of 1810 backedges. 0 proven. 625 refuted. 0 times theorem prover too weak. 1185 trivial. 0 not checked. [2018-11-23 12:17:47,919 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:47,919 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:47,928 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:48,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:48,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:48,088 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:48,344 INFO L256 TraceCheckUtils]: 0: Hoare triple {18187#true} call ULTIMATE.init(); {18187#true} is VALID [2018-11-23 12:17:48,344 INFO L273 TraceCheckUtils]: 1: Hoare triple {18187#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {18187#true} is VALID [2018-11-23 12:17:48,344 INFO L273 TraceCheckUtils]: 2: Hoare triple {18187#true} assume true; {18187#true} is VALID [2018-11-23 12:17:48,344 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {18187#true} {18187#true} #71#return; {18187#true} is VALID [2018-11-23 12:17:48,345 INFO L256 TraceCheckUtils]: 4: Hoare triple {18187#true} call #t~ret14 := main(); {18187#true} is VALID [2018-11-23 12:17:48,345 INFO L273 TraceCheckUtils]: 5: Hoare triple {18187#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {18233#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:48,346 INFO L273 TraceCheckUtils]: 6: Hoare triple {18233#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18233#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:48,346 INFO L273 TraceCheckUtils]: 7: Hoare triple {18233#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18190#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:48,346 INFO L273 TraceCheckUtils]: 8: Hoare triple {18190#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18190#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:48,347 INFO L273 TraceCheckUtils]: 9: Hoare triple {18190#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18191#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:48,347 INFO L273 TraceCheckUtils]: 10: Hoare triple {18191#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18191#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:48,348 INFO L273 TraceCheckUtils]: 11: Hoare triple {18191#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18192#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:48,348 INFO L273 TraceCheckUtils]: 12: Hoare triple {18192#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18192#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:48,348 INFO L273 TraceCheckUtils]: 13: Hoare triple {18192#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18193#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:48,349 INFO L273 TraceCheckUtils]: 14: Hoare triple {18193#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18193#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:48,349 INFO L273 TraceCheckUtils]: 15: Hoare triple {18193#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18194#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:48,350 INFO L273 TraceCheckUtils]: 16: Hoare triple {18194#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18194#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:48,351 INFO L273 TraceCheckUtils]: 17: Hoare triple {18194#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18195#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:48,351 INFO L273 TraceCheckUtils]: 18: Hoare triple {18195#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18195#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:48,352 INFO L273 TraceCheckUtils]: 19: Hoare triple {18195#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18196#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:48,352 INFO L273 TraceCheckUtils]: 20: Hoare triple {18196#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18196#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:48,353 INFO L273 TraceCheckUtils]: 21: Hoare triple {18196#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18197#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:48,353 INFO L273 TraceCheckUtils]: 22: Hoare triple {18197#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18197#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:48,354 INFO L273 TraceCheckUtils]: 23: Hoare triple {18197#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18198#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:48,355 INFO L273 TraceCheckUtils]: 24: Hoare triple {18198#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18198#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:48,355 INFO L273 TraceCheckUtils]: 25: Hoare triple {18198#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18199#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:48,356 INFO L273 TraceCheckUtils]: 26: Hoare triple {18199#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18199#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:48,356 INFO L273 TraceCheckUtils]: 27: Hoare triple {18199#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18200#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:48,357 INFO L273 TraceCheckUtils]: 28: Hoare triple {18200#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18200#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:48,358 INFO L273 TraceCheckUtils]: 29: Hoare triple {18200#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18201#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:48,358 INFO L273 TraceCheckUtils]: 30: Hoare triple {18201#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18201#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:48,359 INFO L273 TraceCheckUtils]: 31: Hoare triple {18201#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18202#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:48,359 INFO L273 TraceCheckUtils]: 32: Hoare triple {18202#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18202#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:48,360 INFO L273 TraceCheckUtils]: 33: Hoare triple {18202#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18203#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:48,360 INFO L273 TraceCheckUtils]: 34: Hoare triple {18203#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18203#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:48,361 INFO L273 TraceCheckUtils]: 35: Hoare triple {18203#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18204#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:48,361 INFO L273 TraceCheckUtils]: 36: Hoare triple {18204#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18204#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:48,362 INFO L273 TraceCheckUtils]: 37: Hoare triple {18204#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18205#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:48,363 INFO L273 TraceCheckUtils]: 38: Hoare triple {18205#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18205#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:48,363 INFO L273 TraceCheckUtils]: 39: Hoare triple {18205#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18206#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:48,364 INFO L273 TraceCheckUtils]: 40: Hoare triple {18206#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18206#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:48,364 INFO L273 TraceCheckUtils]: 41: Hoare triple {18206#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18207#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:48,365 INFO L273 TraceCheckUtils]: 42: Hoare triple {18207#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18207#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:48,366 INFO L273 TraceCheckUtils]: 43: Hoare triple {18207#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18208#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:48,366 INFO L273 TraceCheckUtils]: 44: Hoare triple {18208#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18208#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:48,367 INFO L273 TraceCheckUtils]: 45: Hoare triple {18208#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18209#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:48,367 INFO L273 TraceCheckUtils]: 46: Hoare triple {18209#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18209#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:48,368 INFO L273 TraceCheckUtils]: 47: Hoare triple {18209#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18210#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:48,368 INFO L273 TraceCheckUtils]: 48: Hoare triple {18210#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18210#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:48,369 INFO L273 TraceCheckUtils]: 49: Hoare triple {18210#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18211#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:48,370 INFO L273 TraceCheckUtils]: 50: Hoare triple {18211#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18211#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:48,370 INFO L273 TraceCheckUtils]: 51: Hoare triple {18211#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18212#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:48,371 INFO L273 TraceCheckUtils]: 52: Hoare triple {18212#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18212#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:48,371 INFO L273 TraceCheckUtils]: 53: Hoare triple {18212#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18213#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:48,372 INFO L273 TraceCheckUtils]: 54: Hoare triple {18213#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {18213#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:48,372 INFO L273 TraceCheckUtils]: 55: Hoare triple {18213#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {18214#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:48,373 INFO L273 TraceCheckUtils]: 56: Hoare triple {18214#(<= main_~i~1 25)} assume !(~i~1 < 40); {18188#false} is VALID [2018-11-23 12:17:48,373 INFO L256 TraceCheckUtils]: 57: Hoare triple {18188#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {18188#false} is VALID [2018-11-23 12:17:48,373 INFO L273 TraceCheckUtils]: 58: Hoare triple {18188#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {18188#false} is VALID [2018-11-23 12:17:48,374 INFO L273 TraceCheckUtils]: 59: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,374 INFO L273 TraceCheckUtils]: 60: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,374 INFO L273 TraceCheckUtils]: 61: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,374 INFO L273 TraceCheckUtils]: 62: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,374 INFO L273 TraceCheckUtils]: 63: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,375 INFO L273 TraceCheckUtils]: 64: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,375 INFO L273 TraceCheckUtils]: 65: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,375 INFO L273 TraceCheckUtils]: 66: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,375 INFO L273 TraceCheckUtils]: 67: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,375 INFO L273 TraceCheckUtils]: 68: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,375 INFO L273 TraceCheckUtils]: 69: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,376 INFO L273 TraceCheckUtils]: 70: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,376 INFO L273 TraceCheckUtils]: 71: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,376 INFO L273 TraceCheckUtils]: 72: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,376 INFO L273 TraceCheckUtils]: 73: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,376 INFO L273 TraceCheckUtils]: 74: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,376 INFO L273 TraceCheckUtils]: 75: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,377 INFO L273 TraceCheckUtils]: 76: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,377 INFO L273 TraceCheckUtils]: 77: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,377 INFO L273 TraceCheckUtils]: 78: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,377 INFO L273 TraceCheckUtils]: 79: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,377 INFO L273 TraceCheckUtils]: 80: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,377 INFO L273 TraceCheckUtils]: 81: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,378 INFO L273 TraceCheckUtils]: 82: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,378 INFO L273 TraceCheckUtils]: 83: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,378 INFO L273 TraceCheckUtils]: 84: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,378 INFO L273 TraceCheckUtils]: 85: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,378 INFO L273 TraceCheckUtils]: 86: Hoare triple {18188#false} assume !(~i~0 < 40); {18188#false} is VALID [2018-11-23 12:17:48,378 INFO L273 TraceCheckUtils]: 87: Hoare triple {18188#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {18188#false} is VALID [2018-11-23 12:17:48,378 INFO L273 TraceCheckUtils]: 88: Hoare triple {18188#false} assume true; {18188#false} is VALID [2018-11-23 12:17:48,379 INFO L268 TraceCheckUtils]: 89: Hoare quadruple {18188#false} {18188#false} #75#return; {18188#false} is VALID [2018-11-23 12:17:48,379 INFO L273 TraceCheckUtils]: 90: Hoare triple {18188#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); {18188#false} is VALID [2018-11-23 12:17:48,379 INFO L256 TraceCheckUtils]: 91: Hoare triple {18188#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {18188#false} is VALID [2018-11-23 12:17:48,379 INFO L273 TraceCheckUtils]: 92: Hoare triple {18188#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {18188#false} is VALID [2018-11-23 12:17:48,379 INFO L273 TraceCheckUtils]: 93: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,379 INFO L273 TraceCheckUtils]: 94: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,379 INFO L273 TraceCheckUtils]: 95: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,379 INFO L273 TraceCheckUtils]: 96: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,379 INFO L273 TraceCheckUtils]: 97: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,379 INFO L273 TraceCheckUtils]: 98: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,380 INFO L273 TraceCheckUtils]: 99: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,380 INFO L273 TraceCheckUtils]: 100: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,380 INFO L273 TraceCheckUtils]: 101: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,380 INFO L273 TraceCheckUtils]: 102: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,380 INFO L273 TraceCheckUtils]: 103: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,380 INFO L273 TraceCheckUtils]: 104: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,380 INFO L273 TraceCheckUtils]: 105: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,380 INFO L273 TraceCheckUtils]: 106: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,380 INFO L273 TraceCheckUtils]: 107: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,381 INFO L273 TraceCheckUtils]: 108: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,381 INFO L273 TraceCheckUtils]: 109: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,381 INFO L273 TraceCheckUtils]: 110: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,381 INFO L273 TraceCheckUtils]: 111: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,381 INFO L273 TraceCheckUtils]: 112: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,381 INFO L273 TraceCheckUtils]: 113: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,381 INFO L273 TraceCheckUtils]: 114: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,381 INFO L273 TraceCheckUtils]: 115: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,381 INFO L273 TraceCheckUtils]: 116: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,381 INFO L273 TraceCheckUtils]: 117: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,382 INFO L273 TraceCheckUtils]: 118: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,382 INFO L273 TraceCheckUtils]: 119: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,382 INFO L273 TraceCheckUtils]: 120: Hoare triple {18188#false} assume !(~i~0 < 40); {18188#false} is VALID [2018-11-23 12:17:48,382 INFO L273 TraceCheckUtils]: 121: Hoare triple {18188#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {18188#false} is VALID [2018-11-23 12:17:48,382 INFO L273 TraceCheckUtils]: 122: Hoare triple {18188#false} assume true; {18188#false} is VALID [2018-11-23 12:17:48,382 INFO L268 TraceCheckUtils]: 123: Hoare quadruple {18188#false} {18188#false} #77#return; {18188#false} is VALID [2018-11-23 12:17:48,382 INFO L273 TraceCheckUtils]: 124: Hoare triple {18188#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; {18188#false} is VALID [2018-11-23 12:17:48,382 INFO L273 TraceCheckUtils]: 125: Hoare triple {18188#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18188#false} is VALID [2018-11-23 12:17:48,382 INFO L273 TraceCheckUtils]: 126: Hoare triple {18188#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18188#false} is VALID [2018-11-23 12:17:48,383 INFO L273 TraceCheckUtils]: 127: Hoare triple {18188#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18188#false} is VALID [2018-11-23 12:17:48,383 INFO L273 TraceCheckUtils]: 128: Hoare triple {18188#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18188#false} is VALID [2018-11-23 12:17:48,383 INFO L273 TraceCheckUtils]: 129: Hoare triple {18188#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18188#false} is VALID [2018-11-23 12:17:48,383 INFO L273 TraceCheckUtils]: 130: Hoare triple {18188#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18188#false} is VALID [2018-11-23 12:17:48,383 INFO L273 TraceCheckUtils]: 131: Hoare triple {18188#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18188#false} is VALID [2018-11-23 12:17:48,383 INFO L273 TraceCheckUtils]: 132: Hoare triple {18188#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18188#false} is VALID [2018-11-23 12:17:48,384 INFO L273 TraceCheckUtils]: 133: Hoare triple {18188#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18188#false} is VALID [2018-11-23 12:17:48,384 INFO L273 TraceCheckUtils]: 134: Hoare triple {18188#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18188#false} is VALID [2018-11-23 12:17:48,384 INFO L273 TraceCheckUtils]: 135: Hoare triple {18188#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {18188#false} is VALID [2018-11-23 12:17:48,384 INFO L273 TraceCheckUtils]: 136: Hoare triple {18188#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {18188#false} is VALID [2018-11-23 12:17:48,384 INFO L273 TraceCheckUtils]: 137: Hoare triple {18188#false} assume !(~i~2 < 39); {18188#false} is VALID [2018-11-23 12:17:48,384 INFO L273 TraceCheckUtils]: 138: Hoare triple {18188#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {18188#false} is VALID [2018-11-23 12:17:48,385 INFO L256 TraceCheckUtils]: 139: Hoare triple {18188#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {18188#false} is VALID [2018-11-23 12:17:48,385 INFO L273 TraceCheckUtils]: 140: Hoare triple {18188#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {18188#false} is VALID [2018-11-23 12:17:48,385 INFO L273 TraceCheckUtils]: 141: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,385 INFO L273 TraceCheckUtils]: 142: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,385 INFO L273 TraceCheckUtils]: 143: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,385 INFO L273 TraceCheckUtils]: 144: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,386 INFO L273 TraceCheckUtils]: 145: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,386 INFO L273 TraceCheckUtils]: 146: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,386 INFO L273 TraceCheckUtils]: 147: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,386 INFO L273 TraceCheckUtils]: 148: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,386 INFO L273 TraceCheckUtils]: 149: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,386 INFO L273 TraceCheckUtils]: 150: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,386 INFO L273 TraceCheckUtils]: 151: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,387 INFO L273 TraceCheckUtils]: 152: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,387 INFO L273 TraceCheckUtils]: 153: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,387 INFO L273 TraceCheckUtils]: 154: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,387 INFO L273 TraceCheckUtils]: 155: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,387 INFO L273 TraceCheckUtils]: 156: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,387 INFO L273 TraceCheckUtils]: 157: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,388 INFO L273 TraceCheckUtils]: 158: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,388 INFO L273 TraceCheckUtils]: 159: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,388 INFO L273 TraceCheckUtils]: 160: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,388 INFO L273 TraceCheckUtils]: 161: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,388 INFO L273 TraceCheckUtils]: 162: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,388 INFO L273 TraceCheckUtils]: 163: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,389 INFO L273 TraceCheckUtils]: 164: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,389 INFO L273 TraceCheckUtils]: 165: Hoare triple {18188#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {18188#false} is VALID [2018-11-23 12:17:48,389 INFO L273 TraceCheckUtils]: 166: Hoare triple {18188#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {18188#false} is VALID [2018-11-23 12:17:48,389 INFO L273 TraceCheckUtils]: 167: Hoare triple {18188#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18188#false} is VALID [2018-11-23 12:17:48,389 INFO L273 TraceCheckUtils]: 168: Hoare triple {18188#false} assume !(~i~0 < 40); {18188#false} is VALID [2018-11-23 12:17:48,389 INFO L273 TraceCheckUtils]: 169: Hoare triple {18188#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {18188#false} is VALID [2018-11-23 12:17:48,390 INFO L273 TraceCheckUtils]: 170: Hoare triple {18188#false} assume true; {18188#false} is VALID [2018-11-23 12:17:48,390 INFO L268 TraceCheckUtils]: 171: Hoare quadruple {18188#false} {18188#false} #79#return; {18188#false} is VALID [2018-11-23 12:17:48,390 INFO L273 TraceCheckUtils]: 172: Hoare triple {18188#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {18188#false} is VALID [2018-11-23 12:17:48,390 INFO L273 TraceCheckUtils]: 173: Hoare triple {18188#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {18188#false} is VALID [2018-11-23 12:17:48,390 INFO L273 TraceCheckUtils]: 174: Hoare triple {18188#false} assume !false; {18188#false} is VALID [2018-11-23 12:17:48,408 INFO L134 CoverageAnalysis]: Checked inductivity of 1810 backedges. 0 proven. 625 refuted. 0 times theorem prover too weak. 1185 trivial. 0 not checked. [2018-11-23 12:17:48,436 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:48,436 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [28, 28] total 29 [2018-11-23 12:17:48,437 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 175 [2018-11-23 12:17:48,438 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:48,438 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states. [2018-11-23 12:17:48,552 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:48,552 INFO L459 AbstractCegarLoop]: Interpolant automaton has 29 states [2018-11-23 12:17:48,553 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2018-11-23 12:17:48,553 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=406, Invalid=406, Unknown=0, NotChecked=0, Total=812 [2018-11-23 12:17:48,554 INFO L87 Difference]: Start difference. First operand 112 states and 125 transitions. Second operand 29 states. [2018-11-23 12:17:49,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:49,691 INFO L93 Difference]: Finished difference Result 170 states and 196 transitions. [2018-11-23 12:17:49,691 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2018-11-23 12:17:49,692 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 175 [2018-11-23 12:17:49,692 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:49,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:17:49,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 108 transitions. [2018-11-23 12:17:49,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:17:49,694 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 108 transitions. [2018-11-23 12:17:49,694 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states and 108 transitions. [2018-11-23 12:17:49,838 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:49,841 INFO L225 Difference]: With dead ends: 170 [2018-11-23 12:17:49,841 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 12:17:49,842 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 202 GetRequests, 175 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=406, Invalid=406, Unknown=0, NotChecked=0, Total=812 [2018-11-23 12:17:49,842 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 12:17:49,879 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 114. [2018-11-23 12:17:49,879 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:49,879 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 114 states. [2018-11-23 12:17:49,879 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 114 states. [2018-11-23 12:17:49,879 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 114 states. [2018-11-23 12:17:49,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:49,882 INFO L93 Difference]: Finished difference Result 115 states and 128 transitions. [2018-11-23 12:17:49,882 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 128 transitions. [2018-11-23 12:17:49,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:49,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:49,882 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 115 states. [2018-11-23 12:17:49,883 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 115 states. [2018-11-23 12:17:49,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:49,885 INFO L93 Difference]: Finished difference Result 115 states and 128 transitions. [2018-11-23 12:17:49,885 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 128 transitions. [2018-11-23 12:17:49,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:49,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:49,885 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:49,886 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:49,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 114 states. [2018-11-23 12:17:49,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 127 transitions. [2018-11-23 12:17:49,888 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 127 transitions. Word has length 175 [2018-11-23 12:17:49,888 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:49,888 INFO L480 AbstractCegarLoop]: Abstraction has 114 states and 127 transitions. [2018-11-23 12:17:49,888 INFO L481 AbstractCegarLoop]: Interpolant automaton has 29 states. [2018-11-23 12:17:49,888 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 127 transitions. [2018-11-23 12:17:49,889 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 178 [2018-11-23 12:17:49,889 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:49,890 INFO L402 BasicCegarLoop]: trace histogram [27, 27, 27, 26, 26, 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:49,890 INFO L423 AbstractCegarLoop]: === Iteration 30 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:49,890 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:49,890 INFO L82 PathProgramCache]: Analyzing trace with hash 912756663, now seen corresponding path program 26 times [2018-11-23 12:17:49,890 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:49,890 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:49,891 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:49,891 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:49,891 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:49,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:50,709 INFO L256 TraceCheckUtils]: 0: Hoare triple {19379#true} call ULTIMATE.init(); {19379#true} is VALID [2018-11-23 12:17:50,709 INFO L273 TraceCheckUtils]: 1: Hoare triple {19379#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {19379#true} is VALID [2018-11-23 12:17:50,709 INFO L273 TraceCheckUtils]: 2: Hoare triple {19379#true} assume true; {19379#true} is VALID [2018-11-23 12:17:50,710 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {19379#true} {19379#true} #71#return; {19379#true} is VALID [2018-11-23 12:17:50,710 INFO L256 TraceCheckUtils]: 4: Hoare triple {19379#true} call #t~ret14 := main(); {19379#true} is VALID [2018-11-23 12:17:50,710 INFO L273 TraceCheckUtils]: 5: Hoare triple {19379#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {19381#(= main_~i~1 0)} is VALID [2018-11-23 12:17:50,711 INFO L273 TraceCheckUtils]: 6: Hoare triple {19381#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19381#(= main_~i~1 0)} is VALID [2018-11-23 12:17:50,712 INFO L273 TraceCheckUtils]: 7: Hoare triple {19381#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19382#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:50,712 INFO L273 TraceCheckUtils]: 8: Hoare triple {19382#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19382#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:50,713 INFO L273 TraceCheckUtils]: 9: Hoare triple {19382#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19383#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:50,713 INFO L273 TraceCheckUtils]: 10: Hoare triple {19383#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19383#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:50,714 INFO L273 TraceCheckUtils]: 11: Hoare triple {19383#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19384#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:50,714 INFO L273 TraceCheckUtils]: 12: Hoare triple {19384#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19384#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:50,715 INFO L273 TraceCheckUtils]: 13: Hoare triple {19384#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19385#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:50,716 INFO L273 TraceCheckUtils]: 14: Hoare triple {19385#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19385#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:50,716 INFO L273 TraceCheckUtils]: 15: Hoare triple {19385#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19386#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:50,717 INFO L273 TraceCheckUtils]: 16: Hoare triple {19386#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19386#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:50,717 INFO L273 TraceCheckUtils]: 17: Hoare triple {19386#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19387#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:50,718 INFO L273 TraceCheckUtils]: 18: Hoare triple {19387#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19387#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:50,719 INFO L273 TraceCheckUtils]: 19: Hoare triple {19387#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19388#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:50,719 INFO L273 TraceCheckUtils]: 20: Hoare triple {19388#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19388#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:50,720 INFO L273 TraceCheckUtils]: 21: Hoare triple {19388#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19389#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:50,720 INFO L273 TraceCheckUtils]: 22: Hoare triple {19389#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19389#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:50,721 INFO L273 TraceCheckUtils]: 23: Hoare triple {19389#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19390#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:50,721 INFO L273 TraceCheckUtils]: 24: Hoare triple {19390#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19390#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:50,722 INFO L273 TraceCheckUtils]: 25: Hoare triple {19390#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19391#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:50,722 INFO L273 TraceCheckUtils]: 26: Hoare triple {19391#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19391#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:50,723 INFO L273 TraceCheckUtils]: 27: Hoare triple {19391#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19392#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:50,724 INFO L273 TraceCheckUtils]: 28: Hoare triple {19392#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19392#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:50,724 INFO L273 TraceCheckUtils]: 29: Hoare triple {19392#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19393#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:50,728 INFO L273 TraceCheckUtils]: 30: Hoare triple {19393#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19393#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:50,728 INFO L273 TraceCheckUtils]: 31: Hoare triple {19393#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19394#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:50,728 INFO L273 TraceCheckUtils]: 32: Hoare triple {19394#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19394#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:50,729 INFO L273 TraceCheckUtils]: 33: Hoare triple {19394#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19395#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:50,729 INFO L273 TraceCheckUtils]: 34: Hoare triple {19395#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19395#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:50,730 INFO L273 TraceCheckUtils]: 35: Hoare triple {19395#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19396#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:50,730 INFO L273 TraceCheckUtils]: 36: Hoare triple {19396#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19396#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:50,731 INFO L273 TraceCheckUtils]: 37: Hoare triple {19396#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19397#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:50,731 INFO L273 TraceCheckUtils]: 38: Hoare triple {19397#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19397#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:50,732 INFO L273 TraceCheckUtils]: 39: Hoare triple {19397#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19398#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:50,732 INFO L273 TraceCheckUtils]: 40: Hoare triple {19398#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19398#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:50,733 INFO L273 TraceCheckUtils]: 41: Hoare triple {19398#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19399#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:50,733 INFO L273 TraceCheckUtils]: 42: Hoare triple {19399#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19399#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:50,734 INFO L273 TraceCheckUtils]: 43: Hoare triple {19399#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19400#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:50,735 INFO L273 TraceCheckUtils]: 44: Hoare triple {19400#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19400#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:50,735 INFO L273 TraceCheckUtils]: 45: Hoare triple {19400#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19401#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:50,736 INFO L273 TraceCheckUtils]: 46: Hoare triple {19401#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19401#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:50,736 INFO L273 TraceCheckUtils]: 47: Hoare triple {19401#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19402#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:50,737 INFO L273 TraceCheckUtils]: 48: Hoare triple {19402#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19402#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:50,738 INFO L273 TraceCheckUtils]: 49: Hoare triple {19402#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19403#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:50,738 INFO L273 TraceCheckUtils]: 50: Hoare triple {19403#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19403#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:50,739 INFO L273 TraceCheckUtils]: 51: Hoare triple {19403#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19404#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:50,739 INFO L273 TraceCheckUtils]: 52: Hoare triple {19404#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19404#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:50,740 INFO L273 TraceCheckUtils]: 53: Hoare triple {19404#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19405#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:50,740 INFO L273 TraceCheckUtils]: 54: Hoare triple {19405#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19405#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:50,741 INFO L273 TraceCheckUtils]: 55: Hoare triple {19405#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19406#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:50,742 INFO L273 TraceCheckUtils]: 56: Hoare triple {19406#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19406#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:50,742 INFO L273 TraceCheckUtils]: 57: Hoare triple {19406#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19407#(<= main_~i~1 26)} is VALID [2018-11-23 12:17:50,743 INFO L273 TraceCheckUtils]: 58: Hoare triple {19407#(<= main_~i~1 26)} assume !(~i~1 < 40); {19380#false} is VALID [2018-11-23 12:17:50,743 INFO L256 TraceCheckUtils]: 59: Hoare triple {19380#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {19379#true} is VALID [2018-11-23 12:17:50,743 INFO L273 TraceCheckUtils]: 60: Hoare triple {19379#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {19379#true} is VALID [2018-11-23 12:17:50,743 INFO L273 TraceCheckUtils]: 61: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,744 INFO L273 TraceCheckUtils]: 62: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,744 INFO L273 TraceCheckUtils]: 63: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,744 INFO L273 TraceCheckUtils]: 64: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,744 INFO L273 TraceCheckUtils]: 65: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,744 INFO L273 TraceCheckUtils]: 66: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,744 INFO L273 TraceCheckUtils]: 67: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,745 INFO L273 TraceCheckUtils]: 68: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,745 INFO L273 TraceCheckUtils]: 69: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,745 INFO L273 TraceCheckUtils]: 70: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,745 INFO L273 TraceCheckUtils]: 71: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,745 INFO L273 TraceCheckUtils]: 72: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,745 INFO L273 TraceCheckUtils]: 73: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,746 INFO L273 TraceCheckUtils]: 74: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,746 INFO L273 TraceCheckUtils]: 75: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,746 INFO L273 TraceCheckUtils]: 76: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,746 INFO L273 TraceCheckUtils]: 77: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,746 INFO L273 TraceCheckUtils]: 78: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,747 INFO L273 TraceCheckUtils]: 79: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,747 INFO L273 TraceCheckUtils]: 80: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,747 INFO L273 TraceCheckUtils]: 81: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,747 INFO L273 TraceCheckUtils]: 82: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,747 INFO L273 TraceCheckUtils]: 83: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,747 INFO L273 TraceCheckUtils]: 84: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,748 INFO L273 TraceCheckUtils]: 85: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,748 INFO L273 TraceCheckUtils]: 86: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,748 INFO L273 TraceCheckUtils]: 87: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,748 INFO L273 TraceCheckUtils]: 88: Hoare triple {19379#true} assume !(~i~0 < 40); {19379#true} is VALID [2018-11-23 12:17:50,748 INFO L273 TraceCheckUtils]: 89: Hoare triple {19379#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {19379#true} is VALID [2018-11-23 12:17:50,749 INFO L273 TraceCheckUtils]: 90: Hoare triple {19379#true} assume true; {19379#true} is VALID [2018-11-23 12:17:50,749 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {19379#true} {19380#false} #75#return; {19380#false} is VALID [2018-11-23 12:17:50,749 INFO L273 TraceCheckUtils]: 92: Hoare triple {19380#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); {19380#false} is VALID [2018-11-23 12:17:50,749 INFO L256 TraceCheckUtils]: 93: Hoare triple {19380#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {19379#true} is VALID [2018-11-23 12:17:50,749 INFO L273 TraceCheckUtils]: 94: Hoare triple {19379#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {19379#true} is VALID [2018-11-23 12:17:50,749 INFO L273 TraceCheckUtils]: 95: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,749 INFO L273 TraceCheckUtils]: 96: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,749 INFO L273 TraceCheckUtils]: 97: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,749 INFO L273 TraceCheckUtils]: 98: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,750 INFO L273 TraceCheckUtils]: 99: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,750 INFO L273 TraceCheckUtils]: 100: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,750 INFO L273 TraceCheckUtils]: 101: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,750 INFO L273 TraceCheckUtils]: 102: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,750 INFO L273 TraceCheckUtils]: 103: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,750 INFO L273 TraceCheckUtils]: 104: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,750 INFO L273 TraceCheckUtils]: 105: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,750 INFO L273 TraceCheckUtils]: 106: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,750 INFO L273 TraceCheckUtils]: 107: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,750 INFO L273 TraceCheckUtils]: 108: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,751 INFO L273 TraceCheckUtils]: 109: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,751 INFO L273 TraceCheckUtils]: 110: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,751 INFO L273 TraceCheckUtils]: 111: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,751 INFO L273 TraceCheckUtils]: 112: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,751 INFO L273 TraceCheckUtils]: 113: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,751 INFO L273 TraceCheckUtils]: 114: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,751 INFO L273 TraceCheckUtils]: 115: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,751 INFO L273 TraceCheckUtils]: 116: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,751 INFO L273 TraceCheckUtils]: 117: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,751 INFO L273 TraceCheckUtils]: 118: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,752 INFO L273 TraceCheckUtils]: 119: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,752 INFO L273 TraceCheckUtils]: 120: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,752 INFO L273 TraceCheckUtils]: 121: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,752 INFO L273 TraceCheckUtils]: 122: Hoare triple {19379#true} assume !(~i~0 < 40); {19379#true} is VALID [2018-11-23 12:17:50,752 INFO L273 TraceCheckUtils]: 123: Hoare triple {19379#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {19379#true} is VALID [2018-11-23 12:17:50,752 INFO L273 TraceCheckUtils]: 124: Hoare triple {19379#true} assume true; {19379#true} is VALID [2018-11-23 12:17:50,752 INFO L268 TraceCheckUtils]: 125: Hoare quadruple {19379#true} {19380#false} #77#return; {19380#false} is VALID [2018-11-23 12:17:50,752 INFO L273 TraceCheckUtils]: 126: Hoare triple {19380#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; {19380#false} is VALID [2018-11-23 12:17:50,752 INFO L273 TraceCheckUtils]: 127: Hoare triple {19380#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19380#false} is VALID [2018-11-23 12:17:50,753 INFO L273 TraceCheckUtils]: 128: Hoare triple {19380#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19380#false} is VALID [2018-11-23 12:17:50,753 INFO L273 TraceCheckUtils]: 129: Hoare triple {19380#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19380#false} is VALID [2018-11-23 12:17:50,753 INFO L273 TraceCheckUtils]: 130: Hoare triple {19380#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19380#false} is VALID [2018-11-23 12:17:50,753 INFO L273 TraceCheckUtils]: 131: Hoare triple {19380#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19380#false} is VALID [2018-11-23 12:17:50,753 INFO L273 TraceCheckUtils]: 132: Hoare triple {19380#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19380#false} is VALID [2018-11-23 12:17:50,753 INFO L273 TraceCheckUtils]: 133: Hoare triple {19380#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19380#false} is VALID [2018-11-23 12:17:50,753 INFO L273 TraceCheckUtils]: 134: Hoare triple {19380#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19380#false} is VALID [2018-11-23 12:17:50,753 INFO L273 TraceCheckUtils]: 135: Hoare triple {19380#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19380#false} is VALID [2018-11-23 12:17:50,753 INFO L273 TraceCheckUtils]: 136: Hoare triple {19380#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19380#false} is VALID [2018-11-23 12:17:50,753 INFO L273 TraceCheckUtils]: 137: Hoare triple {19380#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19380#false} is VALID [2018-11-23 12:17:50,754 INFO L273 TraceCheckUtils]: 138: Hoare triple {19380#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19380#false} is VALID [2018-11-23 12:17:50,754 INFO L273 TraceCheckUtils]: 139: Hoare triple {19380#false} assume !(~i~2 < 39); {19380#false} is VALID [2018-11-23 12:17:50,754 INFO L273 TraceCheckUtils]: 140: Hoare triple {19380#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {19380#false} is VALID [2018-11-23 12:17:50,754 INFO L256 TraceCheckUtils]: 141: Hoare triple {19380#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {19379#true} is VALID [2018-11-23 12:17:50,754 INFO L273 TraceCheckUtils]: 142: Hoare triple {19379#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {19379#true} is VALID [2018-11-23 12:17:50,754 INFO L273 TraceCheckUtils]: 143: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,754 INFO L273 TraceCheckUtils]: 144: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,754 INFO L273 TraceCheckUtils]: 145: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,754 INFO L273 TraceCheckUtils]: 146: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,755 INFO L273 TraceCheckUtils]: 147: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,755 INFO L273 TraceCheckUtils]: 148: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,755 INFO L273 TraceCheckUtils]: 149: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,755 INFO L273 TraceCheckUtils]: 150: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,755 INFO L273 TraceCheckUtils]: 151: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,755 INFO L273 TraceCheckUtils]: 152: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,755 INFO L273 TraceCheckUtils]: 153: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,755 INFO L273 TraceCheckUtils]: 154: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,755 INFO L273 TraceCheckUtils]: 155: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,755 INFO L273 TraceCheckUtils]: 156: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,756 INFO L273 TraceCheckUtils]: 157: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,756 INFO L273 TraceCheckUtils]: 158: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,756 INFO L273 TraceCheckUtils]: 159: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,756 INFO L273 TraceCheckUtils]: 160: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,756 INFO L273 TraceCheckUtils]: 161: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,756 INFO L273 TraceCheckUtils]: 162: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,756 INFO L273 TraceCheckUtils]: 163: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,756 INFO L273 TraceCheckUtils]: 164: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,756 INFO L273 TraceCheckUtils]: 165: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,757 INFO L273 TraceCheckUtils]: 166: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,757 INFO L273 TraceCheckUtils]: 167: Hoare triple {19379#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19379#true} is VALID [2018-11-23 12:17:50,757 INFO L273 TraceCheckUtils]: 168: Hoare triple {19379#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 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#true} is VALID [2018-11-23 12:17:50,757 INFO L273 TraceCheckUtils]: 169: Hoare triple {19379#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19379#true} is VALID [2018-11-23 12:17:50,757 INFO L273 TraceCheckUtils]: 170: Hoare triple {19379#true} assume !(~i~0 < 40); {19379#true} is VALID [2018-11-23 12:17:50,757 INFO L273 TraceCheckUtils]: 171: Hoare triple {19379#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {19379#true} is VALID [2018-11-23 12:17:50,757 INFO L273 TraceCheckUtils]: 172: Hoare triple {19379#true} assume true; {19379#true} is VALID [2018-11-23 12:17:50,757 INFO L268 TraceCheckUtils]: 173: Hoare quadruple {19379#true} {19380#false} #79#return; {19380#false} is VALID [2018-11-23 12:17:50,757 INFO L273 TraceCheckUtils]: 174: Hoare triple {19380#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {19380#false} is VALID [2018-11-23 12:17:50,757 INFO L273 TraceCheckUtils]: 175: Hoare triple {19380#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {19380#false} is VALID [2018-11-23 12:17:50,758 INFO L273 TraceCheckUtils]: 176: Hoare triple {19380#false} assume !false; {19380#false} is VALID [2018-11-23 12:17:50,771 INFO L134 CoverageAnalysis]: Checked inductivity of 1861 backedges. 0 proven. 676 refuted. 0 times theorem prover too weak. 1185 trivial. 0 not checked. [2018-11-23 12:17:50,771 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:50,771 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:50,783 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:17:50,879 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:17:50,879 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:50,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:50,914 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:51,156 INFO L256 TraceCheckUtils]: 0: Hoare triple {19379#true} call ULTIMATE.init(); {19379#true} is VALID [2018-11-23 12:17:51,157 INFO L273 TraceCheckUtils]: 1: Hoare triple {19379#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {19379#true} is VALID [2018-11-23 12:17:51,157 INFO L273 TraceCheckUtils]: 2: Hoare triple {19379#true} assume true; {19379#true} is VALID [2018-11-23 12:17:51,157 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {19379#true} {19379#true} #71#return; {19379#true} is VALID [2018-11-23 12:17:51,157 INFO L256 TraceCheckUtils]: 4: Hoare triple {19379#true} call #t~ret14 := main(); {19379#true} is VALID [2018-11-23 12:17:51,158 INFO L273 TraceCheckUtils]: 5: Hoare triple {19379#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {19426#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:51,158 INFO L273 TraceCheckUtils]: 6: Hoare triple {19426#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19426#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:51,159 INFO L273 TraceCheckUtils]: 7: Hoare triple {19426#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19382#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:51,160 INFO L273 TraceCheckUtils]: 8: Hoare triple {19382#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19382#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:51,160 INFO L273 TraceCheckUtils]: 9: Hoare triple {19382#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19383#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:51,161 INFO L273 TraceCheckUtils]: 10: Hoare triple {19383#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19383#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:51,161 INFO L273 TraceCheckUtils]: 11: Hoare triple {19383#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19384#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:51,162 INFO L273 TraceCheckUtils]: 12: Hoare triple {19384#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19384#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:51,163 INFO L273 TraceCheckUtils]: 13: Hoare triple {19384#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19385#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:51,163 INFO L273 TraceCheckUtils]: 14: Hoare triple {19385#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19385#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:51,164 INFO L273 TraceCheckUtils]: 15: Hoare triple {19385#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19386#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:51,164 INFO L273 TraceCheckUtils]: 16: Hoare triple {19386#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19386#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:51,165 INFO L273 TraceCheckUtils]: 17: Hoare triple {19386#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19387#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:51,165 INFO L273 TraceCheckUtils]: 18: Hoare triple {19387#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19387#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:51,166 INFO L273 TraceCheckUtils]: 19: Hoare triple {19387#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19388#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:51,167 INFO L273 TraceCheckUtils]: 20: Hoare triple {19388#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19388#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:51,167 INFO L273 TraceCheckUtils]: 21: Hoare triple {19388#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19389#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:51,168 INFO L273 TraceCheckUtils]: 22: Hoare triple {19389#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19389#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:51,168 INFO L273 TraceCheckUtils]: 23: Hoare triple {19389#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19390#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:51,169 INFO L273 TraceCheckUtils]: 24: Hoare triple {19390#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19390#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:51,170 INFO L273 TraceCheckUtils]: 25: Hoare triple {19390#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19391#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:51,170 INFO L273 TraceCheckUtils]: 26: Hoare triple {19391#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19391#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:51,171 INFO L273 TraceCheckUtils]: 27: Hoare triple {19391#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19392#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:51,173 INFO L273 TraceCheckUtils]: 28: Hoare triple {19392#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19392#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:51,174 INFO L273 TraceCheckUtils]: 29: Hoare triple {19392#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19393#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:51,175 INFO L273 TraceCheckUtils]: 30: Hoare triple {19393#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19393#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:51,175 INFO L273 TraceCheckUtils]: 31: Hoare triple {19393#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19394#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:51,175 INFO L273 TraceCheckUtils]: 32: Hoare triple {19394#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19394#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:51,176 INFO L273 TraceCheckUtils]: 33: Hoare triple {19394#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19395#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:51,176 INFO L273 TraceCheckUtils]: 34: Hoare triple {19395#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19395#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:51,176 INFO L273 TraceCheckUtils]: 35: Hoare triple {19395#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19396#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:51,177 INFO L273 TraceCheckUtils]: 36: Hoare triple {19396#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19396#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:51,178 INFO L273 TraceCheckUtils]: 37: Hoare triple {19396#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19397#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:51,178 INFO L273 TraceCheckUtils]: 38: Hoare triple {19397#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19397#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:51,179 INFO L273 TraceCheckUtils]: 39: Hoare triple {19397#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19398#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:51,179 INFO L273 TraceCheckUtils]: 40: Hoare triple {19398#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19398#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:51,180 INFO L273 TraceCheckUtils]: 41: Hoare triple {19398#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19399#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:51,180 INFO L273 TraceCheckUtils]: 42: Hoare triple {19399#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19399#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:51,181 INFO L273 TraceCheckUtils]: 43: Hoare triple {19399#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19400#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:51,182 INFO L273 TraceCheckUtils]: 44: Hoare triple {19400#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19400#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:51,182 INFO L273 TraceCheckUtils]: 45: Hoare triple {19400#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19401#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:51,183 INFO L273 TraceCheckUtils]: 46: Hoare triple {19401#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19401#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:51,183 INFO L273 TraceCheckUtils]: 47: Hoare triple {19401#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19402#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:51,184 INFO L273 TraceCheckUtils]: 48: Hoare triple {19402#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19402#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:51,185 INFO L273 TraceCheckUtils]: 49: Hoare triple {19402#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19403#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:51,185 INFO L273 TraceCheckUtils]: 50: Hoare triple {19403#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19403#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:51,186 INFO L273 TraceCheckUtils]: 51: Hoare triple {19403#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19404#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:51,186 INFO L273 TraceCheckUtils]: 52: Hoare triple {19404#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19404#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:51,187 INFO L273 TraceCheckUtils]: 53: Hoare triple {19404#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19405#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:51,187 INFO L273 TraceCheckUtils]: 54: Hoare triple {19405#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19405#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:51,188 INFO L273 TraceCheckUtils]: 55: Hoare triple {19405#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19406#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:51,188 INFO L273 TraceCheckUtils]: 56: Hoare triple {19406#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {19406#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:51,189 INFO L273 TraceCheckUtils]: 57: Hoare triple {19406#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {19407#(<= main_~i~1 26)} is VALID [2018-11-23 12:17:51,190 INFO L273 TraceCheckUtils]: 58: Hoare triple {19407#(<= main_~i~1 26)} assume !(~i~1 < 40); {19380#false} is VALID [2018-11-23 12:17:51,190 INFO L256 TraceCheckUtils]: 59: Hoare triple {19380#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {19380#false} is VALID [2018-11-23 12:17:51,190 INFO L273 TraceCheckUtils]: 60: Hoare triple {19380#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {19380#false} is VALID [2018-11-23 12:17:51,190 INFO L273 TraceCheckUtils]: 61: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,190 INFO L273 TraceCheckUtils]: 62: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,191 INFO L273 TraceCheckUtils]: 63: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,191 INFO L273 TraceCheckUtils]: 64: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,191 INFO L273 TraceCheckUtils]: 65: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,191 INFO L273 TraceCheckUtils]: 66: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,191 INFO L273 TraceCheckUtils]: 67: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,192 INFO L273 TraceCheckUtils]: 68: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,192 INFO L273 TraceCheckUtils]: 69: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,192 INFO L273 TraceCheckUtils]: 70: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,192 INFO L273 TraceCheckUtils]: 71: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,192 INFO L273 TraceCheckUtils]: 72: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,192 INFO L273 TraceCheckUtils]: 73: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,193 INFO L273 TraceCheckUtils]: 74: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,193 INFO L273 TraceCheckUtils]: 75: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,193 INFO L273 TraceCheckUtils]: 76: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,193 INFO L273 TraceCheckUtils]: 77: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,193 INFO L273 TraceCheckUtils]: 78: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,193 INFO L273 TraceCheckUtils]: 79: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,193 INFO L273 TraceCheckUtils]: 80: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,194 INFO L273 TraceCheckUtils]: 81: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,194 INFO L273 TraceCheckUtils]: 82: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,194 INFO L273 TraceCheckUtils]: 83: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,194 INFO L273 TraceCheckUtils]: 84: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,194 INFO L273 TraceCheckUtils]: 85: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,195 INFO L273 TraceCheckUtils]: 86: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,195 INFO L273 TraceCheckUtils]: 87: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,195 INFO L273 TraceCheckUtils]: 88: Hoare triple {19380#false} assume !(~i~0 < 40); {19380#false} is VALID [2018-11-23 12:17:51,195 INFO L273 TraceCheckUtils]: 89: Hoare triple {19380#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {19380#false} is VALID [2018-11-23 12:17:51,195 INFO L273 TraceCheckUtils]: 90: Hoare triple {19380#false} assume true; {19380#false} is VALID [2018-11-23 12:17:51,195 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {19380#false} {19380#false} #75#return; {19380#false} is VALID [2018-11-23 12:17:51,195 INFO L273 TraceCheckUtils]: 92: Hoare triple {19380#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); {19380#false} is VALID [2018-11-23 12:17:51,195 INFO L256 TraceCheckUtils]: 93: Hoare triple {19380#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {19380#false} is VALID [2018-11-23 12:17:51,195 INFO L273 TraceCheckUtils]: 94: Hoare triple {19380#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {19380#false} is VALID [2018-11-23 12:17:51,195 INFO L273 TraceCheckUtils]: 95: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,196 INFO L273 TraceCheckUtils]: 96: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,196 INFO L273 TraceCheckUtils]: 97: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,196 INFO L273 TraceCheckUtils]: 98: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,196 INFO L273 TraceCheckUtils]: 99: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,196 INFO L273 TraceCheckUtils]: 100: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,196 INFO L273 TraceCheckUtils]: 101: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,196 INFO L273 TraceCheckUtils]: 102: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,196 INFO L273 TraceCheckUtils]: 103: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,196 INFO L273 TraceCheckUtils]: 104: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,197 INFO L273 TraceCheckUtils]: 105: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,197 INFO L273 TraceCheckUtils]: 106: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,197 INFO L273 TraceCheckUtils]: 107: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,197 INFO L273 TraceCheckUtils]: 108: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,197 INFO L273 TraceCheckUtils]: 109: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,197 INFO L273 TraceCheckUtils]: 110: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,197 INFO L273 TraceCheckUtils]: 111: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,197 INFO L273 TraceCheckUtils]: 112: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,197 INFO L273 TraceCheckUtils]: 113: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,197 INFO L273 TraceCheckUtils]: 114: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,198 INFO L273 TraceCheckUtils]: 115: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,198 INFO L273 TraceCheckUtils]: 116: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,198 INFO L273 TraceCheckUtils]: 117: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,198 INFO L273 TraceCheckUtils]: 118: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,198 INFO L273 TraceCheckUtils]: 119: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,198 INFO L273 TraceCheckUtils]: 120: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,198 INFO L273 TraceCheckUtils]: 121: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,198 INFO L273 TraceCheckUtils]: 122: Hoare triple {19380#false} assume !(~i~0 < 40); {19380#false} is VALID [2018-11-23 12:17:51,198 INFO L273 TraceCheckUtils]: 123: Hoare triple {19380#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {19380#false} is VALID [2018-11-23 12:17:51,198 INFO L273 TraceCheckUtils]: 124: Hoare triple {19380#false} assume true; {19380#false} is VALID [2018-11-23 12:17:51,199 INFO L268 TraceCheckUtils]: 125: Hoare quadruple {19380#false} {19380#false} #77#return; {19380#false} is VALID [2018-11-23 12:17:51,199 INFO L273 TraceCheckUtils]: 126: Hoare triple {19380#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; {19380#false} is VALID [2018-11-23 12:17:51,199 INFO L273 TraceCheckUtils]: 127: Hoare triple {19380#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19380#false} is VALID [2018-11-23 12:17:51,199 INFO L273 TraceCheckUtils]: 128: Hoare triple {19380#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19380#false} is VALID [2018-11-23 12:17:51,199 INFO L273 TraceCheckUtils]: 129: Hoare triple {19380#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19380#false} is VALID [2018-11-23 12:17:51,199 INFO L273 TraceCheckUtils]: 130: Hoare triple {19380#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19380#false} is VALID [2018-11-23 12:17:51,199 INFO L273 TraceCheckUtils]: 131: Hoare triple {19380#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19380#false} is VALID [2018-11-23 12:17:51,199 INFO L273 TraceCheckUtils]: 132: Hoare triple {19380#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19380#false} is VALID [2018-11-23 12:17:51,199 INFO L273 TraceCheckUtils]: 133: Hoare triple {19380#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19380#false} is VALID [2018-11-23 12:17:51,199 INFO L273 TraceCheckUtils]: 134: Hoare triple {19380#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19380#false} is VALID [2018-11-23 12:17:51,200 INFO L273 TraceCheckUtils]: 135: Hoare triple {19380#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19380#false} is VALID [2018-11-23 12:17:51,200 INFO L273 TraceCheckUtils]: 136: Hoare triple {19380#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19380#false} is VALID [2018-11-23 12:17:51,200 INFO L273 TraceCheckUtils]: 137: Hoare triple {19380#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {19380#false} is VALID [2018-11-23 12:17:51,200 INFO L273 TraceCheckUtils]: 138: Hoare triple {19380#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {19380#false} is VALID [2018-11-23 12:17:51,200 INFO L273 TraceCheckUtils]: 139: Hoare triple {19380#false} assume !(~i~2 < 39); {19380#false} is VALID [2018-11-23 12:17:51,200 INFO L273 TraceCheckUtils]: 140: Hoare triple {19380#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {19380#false} is VALID [2018-11-23 12:17:51,200 INFO L256 TraceCheckUtils]: 141: Hoare triple {19380#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {19380#false} is VALID [2018-11-23 12:17:51,200 INFO L273 TraceCheckUtils]: 142: Hoare triple {19380#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {19380#false} is VALID [2018-11-23 12:17:51,200 INFO L273 TraceCheckUtils]: 143: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,201 INFO L273 TraceCheckUtils]: 144: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,201 INFO L273 TraceCheckUtils]: 145: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,201 INFO L273 TraceCheckUtils]: 146: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,201 INFO L273 TraceCheckUtils]: 147: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,201 INFO L273 TraceCheckUtils]: 148: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,201 INFO L273 TraceCheckUtils]: 149: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,201 INFO L273 TraceCheckUtils]: 150: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,201 INFO L273 TraceCheckUtils]: 151: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,201 INFO L273 TraceCheckUtils]: 152: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,201 INFO L273 TraceCheckUtils]: 153: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,202 INFO L273 TraceCheckUtils]: 154: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,202 INFO L273 TraceCheckUtils]: 155: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,202 INFO L273 TraceCheckUtils]: 156: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,202 INFO L273 TraceCheckUtils]: 157: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,202 INFO L273 TraceCheckUtils]: 158: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,202 INFO L273 TraceCheckUtils]: 159: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,202 INFO L273 TraceCheckUtils]: 160: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,202 INFO L273 TraceCheckUtils]: 161: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,202 INFO L273 TraceCheckUtils]: 162: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,202 INFO L273 TraceCheckUtils]: 163: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,203 INFO L273 TraceCheckUtils]: 164: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,203 INFO L273 TraceCheckUtils]: 165: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,203 INFO L273 TraceCheckUtils]: 166: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,203 INFO L273 TraceCheckUtils]: 167: Hoare triple {19380#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {19380#false} is VALID [2018-11-23 12:17:51,203 INFO L273 TraceCheckUtils]: 168: Hoare triple {19380#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {19380#false} is VALID [2018-11-23 12:17:51,203 INFO L273 TraceCheckUtils]: 169: Hoare triple {19380#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19380#false} is VALID [2018-11-23 12:17:51,203 INFO L273 TraceCheckUtils]: 170: Hoare triple {19380#false} assume !(~i~0 < 40); {19380#false} is VALID [2018-11-23 12:17:51,203 INFO L273 TraceCheckUtils]: 171: Hoare triple {19380#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {19380#false} is VALID [2018-11-23 12:17:51,203 INFO L273 TraceCheckUtils]: 172: Hoare triple {19380#false} assume true; {19380#false} is VALID [2018-11-23 12:17:51,203 INFO L268 TraceCheckUtils]: 173: Hoare quadruple {19380#false} {19380#false} #79#return; {19380#false} is VALID [2018-11-23 12:17:51,204 INFO L273 TraceCheckUtils]: 174: Hoare triple {19380#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {19380#false} is VALID [2018-11-23 12:17:51,204 INFO L273 TraceCheckUtils]: 175: Hoare triple {19380#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {19380#false} is VALID [2018-11-23 12:17:51,204 INFO L273 TraceCheckUtils]: 176: Hoare triple {19380#false} assume !false; {19380#false} is VALID [2018-11-23 12:17:51,219 INFO L134 CoverageAnalysis]: Checked inductivity of 1861 backedges. 0 proven. 676 refuted. 0 times theorem prover too weak. 1185 trivial. 0 not checked. [2018-11-23 12:17:51,237 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:51,237 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 29] total 30 [2018-11-23 12:17:51,238 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 177 [2018-11-23 12:17:51,238 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:51,238 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 30 states. [2018-11-23 12:17:51,331 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:51,332 INFO L459 AbstractCegarLoop]: Interpolant automaton has 30 states [2018-11-23 12:17:51,332 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2018-11-23 12:17:51,333 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=435, Invalid=435, Unknown=0, NotChecked=0, Total=870 [2018-11-23 12:17:51,333 INFO L87 Difference]: Start difference. First operand 114 states and 127 transitions. Second operand 30 states. [2018-11-23 12:17:51,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:51,871 INFO L93 Difference]: Finished difference Result 172 states and 198 transitions. [2018-11-23 12:17:51,872 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-11-23 12:17:51,872 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 177 [2018-11-23 12:17:51,872 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:51,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 12:17:51,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 110 transitions. [2018-11-23 12:17:51,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 12:17:51,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 110 transitions. [2018-11-23 12:17:51,874 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states and 110 transitions. [2018-11-23 12:17:51,977 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:51,980 INFO L225 Difference]: With dead ends: 172 [2018-11-23 12:17:51,980 INFO L226 Difference]: Without dead ends: 117 [2018-11-23 12:17:51,982 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 205 GetRequests, 177 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=435, Invalid=435, Unknown=0, NotChecked=0, Total=870 [2018-11-23 12:17:51,982 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2018-11-23 12:17:52,020 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 116. [2018-11-23 12:17:52,020 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:52,020 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand 116 states. [2018-11-23 12:17:52,020 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 116 states. [2018-11-23 12:17:52,020 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 116 states. [2018-11-23 12:17:52,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:52,022 INFO L93 Difference]: Finished difference Result 117 states and 130 transitions. [2018-11-23 12:17:52,022 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 130 transitions. [2018-11-23 12:17:52,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:52,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:52,023 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 117 states. [2018-11-23 12:17:52,023 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 117 states. [2018-11-23 12:17:52,025 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:52,025 INFO L93 Difference]: Finished difference Result 117 states and 130 transitions. [2018-11-23 12:17:52,025 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 130 transitions. [2018-11-23 12:17:52,025 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:52,025 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:52,025 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:52,025 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:52,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 116 states. [2018-11-23 12:17:52,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 129 transitions. [2018-11-23 12:17:52,027 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 129 transitions. Word has length 177 [2018-11-23 12:17:52,027 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:52,027 INFO L480 AbstractCegarLoop]: Abstraction has 116 states and 129 transitions. [2018-11-23 12:17:52,027 INFO L481 AbstractCegarLoop]: Interpolant automaton has 30 states. [2018-11-23 12:17:52,027 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 129 transitions. [2018-11-23 12:17:52,028 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 180 [2018-11-23 12:17:52,028 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:52,028 INFO L402 BasicCegarLoop]: trace histogram [27, 27, 27, 27, 27, 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:52,028 INFO L423 AbstractCegarLoop]: === Iteration 31 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:52,029 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:52,029 INFO L82 PathProgramCache]: Analyzing trace with hash 1444056149, now seen corresponding path program 27 times [2018-11-23 12:17:52,029 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:52,029 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:52,030 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:52,030 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:52,030 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:52,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:52,799 INFO L256 TraceCheckUtils]: 0: Hoare triple {20588#true} call ULTIMATE.init(); {20588#true} is VALID [2018-11-23 12:17:52,800 INFO L273 TraceCheckUtils]: 1: Hoare triple {20588#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {20588#true} is VALID [2018-11-23 12:17:52,800 INFO L273 TraceCheckUtils]: 2: Hoare triple {20588#true} assume true; {20588#true} is VALID [2018-11-23 12:17:52,800 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {20588#true} {20588#true} #71#return; {20588#true} is VALID [2018-11-23 12:17:52,800 INFO L256 TraceCheckUtils]: 4: Hoare triple {20588#true} call #t~ret14 := main(); {20588#true} is VALID [2018-11-23 12:17:52,801 INFO L273 TraceCheckUtils]: 5: Hoare triple {20588#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {20590#(= main_~i~1 0)} is VALID [2018-11-23 12:17:52,801 INFO L273 TraceCheckUtils]: 6: Hoare triple {20590#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20590#(= main_~i~1 0)} is VALID [2018-11-23 12:17:52,802 INFO L273 TraceCheckUtils]: 7: Hoare triple {20590#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20591#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:52,803 INFO L273 TraceCheckUtils]: 8: Hoare triple {20591#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20591#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:52,803 INFO L273 TraceCheckUtils]: 9: Hoare triple {20591#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20592#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:52,804 INFO L273 TraceCheckUtils]: 10: Hoare triple {20592#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20592#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:52,805 INFO L273 TraceCheckUtils]: 11: Hoare triple {20592#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20593#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:52,805 INFO L273 TraceCheckUtils]: 12: Hoare triple {20593#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20593#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:52,806 INFO L273 TraceCheckUtils]: 13: Hoare triple {20593#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20594#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:52,806 INFO L273 TraceCheckUtils]: 14: Hoare triple {20594#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20594#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:52,807 INFO L273 TraceCheckUtils]: 15: Hoare triple {20594#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20595#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:52,807 INFO L273 TraceCheckUtils]: 16: Hoare triple {20595#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20595#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:52,808 INFO L273 TraceCheckUtils]: 17: Hoare triple {20595#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20596#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:52,808 INFO L273 TraceCheckUtils]: 18: Hoare triple {20596#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20596#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:52,809 INFO L273 TraceCheckUtils]: 19: Hoare triple {20596#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20597#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:52,810 INFO L273 TraceCheckUtils]: 20: Hoare triple {20597#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20597#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:52,810 INFO L273 TraceCheckUtils]: 21: Hoare triple {20597#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20598#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:52,811 INFO L273 TraceCheckUtils]: 22: Hoare triple {20598#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20598#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:52,812 INFO L273 TraceCheckUtils]: 23: Hoare triple {20598#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20599#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:52,812 INFO L273 TraceCheckUtils]: 24: Hoare triple {20599#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20599#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:52,813 INFO L273 TraceCheckUtils]: 25: Hoare triple {20599#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20600#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:52,813 INFO L273 TraceCheckUtils]: 26: Hoare triple {20600#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20600#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:52,814 INFO L273 TraceCheckUtils]: 27: Hoare triple {20600#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20601#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:52,814 INFO L273 TraceCheckUtils]: 28: Hoare triple {20601#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20601#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:52,815 INFO L273 TraceCheckUtils]: 29: Hoare triple {20601#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20602#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:52,816 INFO L273 TraceCheckUtils]: 30: Hoare triple {20602#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20602#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:52,816 INFO L273 TraceCheckUtils]: 31: Hoare triple {20602#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20603#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:52,817 INFO L273 TraceCheckUtils]: 32: Hoare triple {20603#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20603#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:52,817 INFO L273 TraceCheckUtils]: 33: Hoare triple {20603#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20604#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:52,818 INFO L273 TraceCheckUtils]: 34: Hoare triple {20604#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20604#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:52,819 INFO L273 TraceCheckUtils]: 35: Hoare triple {20604#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20605#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:52,819 INFO L273 TraceCheckUtils]: 36: Hoare triple {20605#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20605#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:52,820 INFO L273 TraceCheckUtils]: 37: Hoare triple {20605#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20606#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:52,820 INFO L273 TraceCheckUtils]: 38: Hoare triple {20606#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20606#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:52,821 INFO L273 TraceCheckUtils]: 39: Hoare triple {20606#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20607#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:52,822 INFO L273 TraceCheckUtils]: 40: Hoare triple {20607#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20607#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:52,822 INFO L273 TraceCheckUtils]: 41: Hoare triple {20607#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20608#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:52,823 INFO L273 TraceCheckUtils]: 42: Hoare triple {20608#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20608#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:52,823 INFO L273 TraceCheckUtils]: 43: Hoare triple {20608#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20609#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:52,824 INFO L273 TraceCheckUtils]: 44: Hoare triple {20609#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20609#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:52,825 INFO L273 TraceCheckUtils]: 45: Hoare triple {20609#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20610#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:52,825 INFO L273 TraceCheckUtils]: 46: Hoare triple {20610#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20610#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:52,826 INFO L273 TraceCheckUtils]: 47: Hoare triple {20610#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20611#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:52,826 INFO L273 TraceCheckUtils]: 48: Hoare triple {20611#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20611#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:52,827 INFO L273 TraceCheckUtils]: 49: Hoare triple {20611#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20612#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:52,828 INFO L273 TraceCheckUtils]: 50: Hoare triple {20612#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20612#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:52,828 INFO L273 TraceCheckUtils]: 51: Hoare triple {20612#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20613#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:52,829 INFO L273 TraceCheckUtils]: 52: Hoare triple {20613#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20613#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:52,829 INFO L273 TraceCheckUtils]: 53: Hoare triple {20613#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20614#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:52,830 INFO L273 TraceCheckUtils]: 54: Hoare triple {20614#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20614#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:52,831 INFO L273 TraceCheckUtils]: 55: Hoare triple {20614#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20615#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:52,831 INFO L273 TraceCheckUtils]: 56: Hoare triple {20615#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20615#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:52,832 INFO L273 TraceCheckUtils]: 57: Hoare triple {20615#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20616#(<= main_~i~1 26)} is VALID [2018-11-23 12:17:52,832 INFO L273 TraceCheckUtils]: 58: Hoare triple {20616#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20616#(<= main_~i~1 26)} is VALID [2018-11-23 12:17:52,833 INFO L273 TraceCheckUtils]: 59: Hoare triple {20616#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20617#(<= main_~i~1 27)} is VALID [2018-11-23 12:17:52,834 INFO L273 TraceCheckUtils]: 60: Hoare triple {20617#(<= main_~i~1 27)} assume !(~i~1 < 40); {20589#false} is VALID [2018-11-23 12:17:52,834 INFO L256 TraceCheckUtils]: 61: Hoare triple {20589#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {20588#true} is VALID [2018-11-23 12:17:52,834 INFO L273 TraceCheckUtils]: 62: Hoare triple {20588#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {20588#true} is VALID [2018-11-23 12:17:52,834 INFO L273 TraceCheckUtils]: 63: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,834 INFO L273 TraceCheckUtils]: 64: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,834 INFO L273 TraceCheckUtils]: 65: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,835 INFO L273 TraceCheckUtils]: 66: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,835 INFO L273 TraceCheckUtils]: 67: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,835 INFO L273 TraceCheckUtils]: 68: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,835 INFO L273 TraceCheckUtils]: 69: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,835 INFO L273 TraceCheckUtils]: 70: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,836 INFO L273 TraceCheckUtils]: 71: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,836 INFO L273 TraceCheckUtils]: 72: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,836 INFO L273 TraceCheckUtils]: 73: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,836 INFO L273 TraceCheckUtils]: 74: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,836 INFO L273 TraceCheckUtils]: 75: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,836 INFO L273 TraceCheckUtils]: 76: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,837 INFO L273 TraceCheckUtils]: 77: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,837 INFO L273 TraceCheckUtils]: 78: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,837 INFO L273 TraceCheckUtils]: 79: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,837 INFO L273 TraceCheckUtils]: 80: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,837 INFO L273 TraceCheckUtils]: 81: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,837 INFO L273 TraceCheckUtils]: 82: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,837 INFO L273 TraceCheckUtils]: 83: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,838 INFO L273 TraceCheckUtils]: 84: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,838 INFO L273 TraceCheckUtils]: 85: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,838 INFO L273 TraceCheckUtils]: 86: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,838 INFO L273 TraceCheckUtils]: 87: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,838 INFO L273 TraceCheckUtils]: 88: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,839 INFO L273 TraceCheckUtils]: 89: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,839 INFO L273 TraceCheckUtils]: 90: Hoare triple {20588#true} assume !(~i~0 < 40); {20588#true} is VALID [2018-11-23 12:17:52,839 INFO L273 TraceCheckUtils]: 91: Hoare triple {20588#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {20588#true} is VALID [2018-11-23 12:17:52,839 INFO L273 TraceCheckUtils]: 92: Hoare triple {20588#true} assume true; {20588#true} is VALID [2018-11-23 12:17:52,839 INFO L268 TraceCheckUtils]: 93: Hoare quadruple {20588#true} {20589#false} #75#return; {20589#false} is VALID [2018-11-23 12:17:52,839 INFO L273 TraceCheckUtils]: 94: Hoare triple {20589#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); {20589#false} is VALID [2018-11-23 12:17:52,839 INFO L256 TraceCheckUtils]: 95: Hoare triple {20589#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {20588#true} is VALID [2018-11-23 12:17:52,839 INFO L273 TraceCheckUtils]: 96: Hoare triple {20588#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {20588#true} is VALID [2018-11-23 12:17:52,839 INFO L273 TraceCheckUtils]: 97: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,840 INFO L273 TraceCheckUtils]: 98: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,840 INFO L273 TraceCheckUtils]: 99: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,840 INFO L273 TraceCheckUtils]: 100: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,840 INFO L273 TraceCheckUtils]: 101: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,840 INFO L273 TraceCheckUtils]: 102: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,840 INFO L273 TraceCheckUtils]: 103: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,840 INFO L273 TraceCheckUtils]: 104: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,840 INFO L273 TraceCheckUtils]: 105: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,840 INFO L273 TraceCheckUtils]: 106: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,840 INFO L273 TraceCheckUtils]: 107: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,841 INFO L273 TraceCheckUtils]: 108: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,841 INFO L273 TraceCheckUtils]: 109: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,841 INFO L273 TraceCheckUtils]: 110: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,841 INFO L273 TraceCheckUtils]: 111: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,841 INFO L273 TraceCheckUtils]: 112: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,841 INFO L273 TraceCheckUtils]: 113: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,841 INFO L273 TraceCheckUtils]: 114: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,841 INFO L273 TraceCheckUtils]: 115: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,841 INFO L273 TraceCheckUtils]: 116: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,842 INFO L273 TraceCheckUtils]: 117: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,842 INFO L273 TraceCheckUtils]: 118: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,842 INFO L273 TraceCheckUtils]: 119: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,842 INFO L273 TraceCheckUtils]: 120: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,842 INFO L273 TraceCheckUtils]: 121: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,842 INFO L273 TraceCheckUtils]: 122: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,843 INFO L273 TraceCheckUtils]: 123: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,843 INFO L273 TraceCheckUtils]: 124: Hoare triple {20588#true} assume !(~i~0 < 40); {20588#true} is VALID [2018-11-23 12:17:52,843 INFO L273 TraceCheckUtils]: 125: Hoare triple {20588#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {20588#true} is VALID [2018-11-23 12:17:52,843 INFO L273 TraceCheckUtils]: 126: Hoare triple {20588#true} assume true; {20588#true} is VALID [2018-11-23 12:17:52,843 INFO L268 TraceCheckUtils]: 127: Hoare quadruple {20588#true} {20589#false} #77#return; {20589#false} is VALID [2018-11-23 12:17:52,843 INFO L273 TraceCheckUtils]: 128: Hoare triple {20589#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; {20589#false} is VALID [2018-11-23 12:17:52,843 INFO L273 TraceCheckUtils]: 129: Hoare triple {20589#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {20589#false} is VALID [2018-11-23 12:17:52,843 INFO L273 TraceCheckUtils]: 130: Hoare triple {20589#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {20589#false} is VALID [2018-11-23 12:17:52,843 INFO L273 TraceCheckUtils]: 131: Hoare triple {20589#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {20589#false} is VALID [2018-11-23 12:17:52,843 INFO L273 TraceCheckUtils]: 132: Hoare triple {20589#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {20589#false} is VALID [2018-11-23 12:17:52,844 INFO L273 TraceCheckUtils]: 133: Hoare triple {20589#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {20589#false} is VALID [2018-11-23 12:17:52,844 INFO L273 TraceCheckUtils]: 134: Hoare triple {20589#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {20589#false} is VALID [2018-11-23 12:17:52,844 INFO L273 TraceCheckUtils]: 135: Hoare triple {20589#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {20589#false} is VALID [2018-11-23 12:17:52,844 INFO L273 TraceCheckUtils]: 136: Hoare triple {20589#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {20589#false} is VALID [2018-11-23 12:17:52,844 INFO L273 TraceCheckUtils]: 137: Hoare triple {20589#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {20589#false} is VALID [2018-11-23 12:17:52,844 INFO L273 TraceCheckUtils]: 138: Hoare triple {20589#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {20589#false} is VALID [2018-11-23 12:17:52,844 INFO L273 TraceCheckUtils]: 139: Hoare triple {20589#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {20589#false} is VALID [2018-11-23 12:17:52,844 INFO L273 TraceCheckUtils]: 140: Hoare triple {20589#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {20589#false} is VALID [2018-11-23 12:17:52,844 INFO L273 TraceCheckUtils]: 141: Hoare triple {20589#false} assume !(~i~2 < 39); {20589#false} is VALID [2018-11-23 12:17:52,844 INFO L273 TraceCheckUtils]: 142: Hoare triple {20589#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {20589#false} is VALID [2018-11-23 12:17:52,845 INFO L256 TraceCheckUtils]: 143: Hoare triple {20589#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {20588#true} is VALID [2018-11-23 12:17:52,845 INFO L273 TraceCheckUtils]: 144: Hoare triple {20588#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {20588#true} is VALID [2018-11-23 12:17:52,845 INFO L273 TraceCheckUtils]: 145: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,845 INFO L273 TraceCheckUtils]: 146: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,845 INFO L273 TraceCheckUtils]: 147: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,845 INFO L273 TraceCheckUtils]: 148: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,845 INFO L273 TraceCheckUtils]: 149: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,845 INFO L273 TraceCheckUtils]: 150: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,845 INFO L273 TraceCheckUtils]: 151: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,845 INFO L273 TraceCheckUtils]: 152: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,845 INFO L273 TraceCheckUtils]: 153: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,846 INFO L273 TraceCheckUtils]: 154: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,846 INFO L273 TraceCheckUtils]: 155: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,846 INFO L273 TraceCheckUtils]: 156: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,846 INFO L273 TraceCheckUtils]: 157: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,846 INFO L273 TraceCheckUtils]: 158: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,846 INFO L273 TraceCheckUtils]: 159: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,846 INFO L273 TraceCheckUtils]: 160: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,846 INFO L273 TraceCheckUtils]: 161: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,846 INFO L273 TraceCheckUtils]: 162: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,846 INFO L273 TraceCheckUtils]: 163: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,847 INFO L273 TraceCheckUtils]: 164: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,847 INFO L273 TraceCheckUtils]: 165: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,847 INFO L273 TraceCheckUtils]: 166: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,847 INFO L273 TraceCheckUtils]: 167: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,847 INFO L273 TraceCheckUtils]: 168: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,847 INFO L273 TraceCheckUtils]: 169: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:52,847 INFO L273 TraceCheckUtils]: 170: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:52,847 INFO L273 TraceCheckUtils]: 171: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:52,847 INFO L273 TraceCheckUtils]: 172: Hoare triple {20588#true} assume !(~i~0 < 40); {20588#true} is VALID [2018-11-23 12:17:52,847 INFO L273 TraceCheckUtils]: 173: Hoare triple {20588#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {20588#true} is VALID [2018-11-23 12:17:52,847 INFO L273 TraceCheckUtils]: 174: Hoare triple {20588#true} assume true; {20588#true} is VALID [2018-11-23 12:17:52,848 INFO L268 TraceCheckUtils]: 175: Hoare quadruple {20588#true} {20589#false} #79#return; {20589#false} is VALID [2018-11-23 12:17:52,848 INFO L273 TraceCheckUtils]: 176: Hoare triple {20589#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {20589#false} is VALID [2018-11-23 12:17:52,848 INFO L273 TraceCheckUtils]: 177: Hoare triple {20589#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {20589#false} is VALID [2018-11-23 12:17:52,848 INFO L273 TraceCheckUtils]: 178: Hoare triple {20589#false} assume !false; {20589#false} is VALID [2018-11-23 12:17:52,860 INFO L134 CoverageAnalysis]: Checked inductivity of 1914 backedges. 0 proven. 729 refuted. 0 times theorem prover too weak. 1185 trivial. 0 not checked. [2018-11-23 12:17:52,860 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:52,860 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:52,869 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:17:53,009 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 8 check-sat command(s) [2018-11-23 12:17:53,010 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:53,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:53,047 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:53,299 INFO L256 TraceCheckUtils]: 0: Hoare triple {20588#true} call ULTIMATE.init(); {20588#true} is VALID [2018-11-23 12:17:53,299 INFO L273 TraceCheckUtils]: 1: Hoare triple {20588#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {20588#true} is VALID [2018-11-23 12:17:53,299 INFO L273 TraceCheckUtils]: 2: Hoare triple {20588#true} assume true; {20588#true} is VALID [2018-11-23 12:17:53,299 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {20588#true} {20588#true} #71#return; {20588#true} is VALID [2018-11-23 12:17:53,300 INFO L256 TraceCheckUtils]: 4: Hoare triple {20588#true} call #t~ret14 := main(); {20588#true} is VALID [2018-11-23 12:17:53,300 INFO L273 TraceCheckUtils]: 5: Hoare triple {20588#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {20588#true} is VALID [2018-11-23 12:17:53,300 INFO L273 TraceCheckUtils]: 6: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,300 INFO L273 TraceCheckUtils]: 7: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,300 INFO L273 TraceCheckUtils]: 8: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,300 INFO L273 TraceCheckUtils]: 9: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,301 INFO L273 TraceCheckUtils]: 10: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,301 INFO L273 TraceCheckUtils]: 11: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,301 INFO L273 TraceCheckUtils]: 12: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,301 INFO L273 TraceCheckUtils]: 13: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,301 INFO L273 TraceCheckUtils]: 14: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,302 INFO L273 TraceCheckUtils]: 15: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,302 INFO L273 TraceCheckUtils]: 16: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,302 INFO L273 TraceCheckUtils]: 17: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,302 INFO L273 TraceCheckUtils]: 18: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,302 INFO L273 TraceCheckUtils]: 19: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,302 INFO L273 TraceCheckUtils]: 20: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,302 INFO L273 TraceCheckUtils]: 21: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,302 INFO L273 TraceCheckUtils]: 22: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,302 INFO L273 TraceCheckUtils]: 23: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,303 INFO L273 TraceCheckUtils]: 24: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,303 INFO L273 TraceCheckUtils]: 25: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,303 INFO L273 TraceCheckUtils]: 26: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,303 INFO L273 TraceCheckUtils]: 27: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,303 INFO L273 TraceCheckUtils]: 28: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,303 INFO L273 TraceCheckUtils]: 29: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,303 INFO L273 TraceCheckUtils]: 30: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,303 INFO L273 TraceCheckUtils]: 31: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,303 INFO L273 TraceCheckUtils]: 32: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,303 INFO L273 TraceCheckUtils]: 33: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,304 INFO L273 TraceCheckUtils]: 34: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,304 INFO L273 TraceCheckUtils]: 35: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,304 INFO L273 TraceCheckUtils]: 36: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,304 INFO L273 TraceCheckUtils]: 37: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,304 INFO L273 TraceCheckUtils]: 38: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,304 INFO L273 TraceCheckUtils]: 39: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,304 INFO L273 TraceCheckUtils]: 40: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,304 INFO L273 TraceCheckUtils]: 41: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,304 INFO L273 TraceCheckUtils]: 42: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,305 INFO L273 TraceCheckUtils]: 43: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,305 INFO L273 TraceCheckUtils]: 44: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,305 INFO L273 TraceCheckUtils]: 45: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,305 INFO L273 TraceCheckUtils]: 46: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,305 INFO L273 TraceCheckUtils]: 47: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,305 INFO L273 TraceCheckUtils]: 48: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,305 INFO L273 TraceCheckUtils]: 49: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,305 INFO L273 TraceCheckUtils]: 50: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,305 INFO L273 TraceCheckUtils]: 51: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,305 INFO L273 TraceCheckUtils]: 52: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,306 INFO L273 TraceCheckUtils]: 53: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,306 INFO L273 TraceCheckUtils]: 54: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,306 INFO L273 TraceCheckUtils]: 55: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,306 INFO L273 TraceCheckUtils]: 56: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,306 INFO L273 TraceCheckUtils]: 57: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,306 INFO L273 TraceCheckUtils]: 58: Hoare triple {20588#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {20588#true} is VALID [2018-11-23 12:17:53,306 INFO L273 TraceCheckUtils]: 59: Hoare triple {20588#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {20588#true} is VALID [2018-11-23 12:17:53,306 INFO L273 TraceCheckUtils]: 60: Hoare triple {20588#true} assume !(~i~1 < 40); {20588#true} is VALID [2018-11-23 12:17:53,306 INFO L256 TraceCheckUtils]: 61: Hoare triple {20588#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {20588#true} is VALID [2018-11-23 12:17:53,307 INFO L273 TraceCheckUtils]: 62: Hoare triple {20588#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {20588#true} is VALID [2018-11-23 12:17:53,307 INFO L273 TraceCheckUtils]: 63: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,307 INFO L273 TraceCheckUtils]: 64: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,307 INFO L273 TraceCheckUtils]: 65: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,307 INFO L273 TraceCheckUtils]: 66: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,307 INFO L273 TraceCheckUtils]: 67: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,307 INFO L273 TraceCheckUtils]: 68: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,307 INFO L273 TraceCheckUtils]: 69: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,307 INFO L273 TraceCheckUtils]: 70: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,307 INFO L273 TraceCheckUtils]: 71: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,308 INFO L273 TraceCheckUtils]: 72: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,308 INFO L273 TraceCheckUtils]: 73: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,308 INFO L273 TraceCheckUtils]: 74: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,308 INFO L273 TraceCheckUtils]: 75: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,308 INFO L273 TraceCheckUtils]: 76: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,308 INFO L273 TraceCheckUtils]: 77: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,308 INFO L273 TraceCheckUtils]: 78: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,308 INFO L273 TraceCheckUtils]: 79: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,308 INFO L273 TraceCheckUtils]: 80: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,308 INFO L273 TraceCheckUtils]: 81: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,309 INFO L273 TraceCheckUtils]: 82: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,309 INFO L273 TraceCheckUtils]: 83: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,309 INFO L273 TraceCheckUtils]: 84: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,309 INFO L273 TraceCheckUtils]: 85: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,309 INFO L273 TraceCheckUtils]: 86: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,309 INFO L273 TraceCheckUtils]: 87: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,309 INFO L273 TraceCheckUtils]: 88: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,309 INFO L273 TraceCheckUtils]: 89: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,309 INFO L273 TraceCheckUtils]: 90: Hoare triple {20588#true} assume !(~i~0 < 40); {20588#true} is VALID [2018-11-23 12:17:53,309 INFO L273 TraceCheckUtils]: 91: Hoare triple {20588#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {20588#true} is VALID [2018-11-23 12:17:53,310 INFO L273 TraceCheckUtils]: 92: Hoare triple {20588#true} assume true; {20588#true} is VALID [2018-11-23 12:17:53,310 INFO L268 TraceCheckUtils]: 93: Hoare quadruple {20588#true} {20588#true} #75#return; {20588#true} is VALID [2018-11-23 12:17:53,310 INFO L273 TraceCheckUtils]: 94: Hoare triple {20588#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); {20588#true} is VALID [2018-11-23 12:17:53,310 INFO L256 TraceCheckUtils]: 95: Hoare triple {20588#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {20588#true} is VALID [2018-11-23 12:17:53,310 INFO L273 TraceCheckUtils]: 96: Hoare triple {20588#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {20588#true} is VALID [2018-11-23 12:17:53,310 INFO L273 TraceCheckUtils]: 97: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,310 INFO L273 TraceCheckUtils]: 98: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,310 INFO L273 TraceCheckUtils]: 99: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,310 INFO L273 TraceCheckUtils]: 100: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,311 INFO L273 TraceCheckUtils]: 101: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,311 INFO L273 TraceCheckUtils]: 102: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,311 INFO L273 TraceCheckUtils]: 103: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,311 INFO L273 TraceCheckUtils]: 104: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,311 INFO L273 TraceCheckUtils]: 105: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,311 INFO L273 TraceCheckUtils]: 106: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,311 INFO L273 TraceCheckUtils]: 107: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,311 INFO L273 TraceCheckUtils]: 108: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,311 INFO L273 TraceCheckUtils]: 109: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,311 INFO L273 TraceCheckUtils]: 110: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,312 INFO L273 TraceCheckUtils]: 111: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,312 INFO L273 TraceCheckUtils]: 112: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,312 INFO L273 TraceCheckUtils]: 113: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,312 INFO L273 TraceCheckUtils]: 114: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,312 INFO L273 TraceCheckUtils]: 115: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,312 INFO L273 TraceCheckUtils]: 116: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,312 INFO L273 TraceCheckUtils]: 117: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,312 INFO L273 TraceCheckUtils]: 118: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,312 INFO L273 TraceCheckUtils]: 119: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,312 INFO L273 TraceCheckUtils]: 120: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,313 INFO L273 TraceCheckUtils]: 121: Hoare triple {20588#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20588#true} is VALID [2018-11-23 12:17:53,313 INFO L273 TraceCheckUtils]: 122: Hoare triple {20588#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20588#true} is VALID [2018-11-23 12:17:53,313 INFO L273 TraceCheckUtils]: 123: Hoare triple {20588#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20588#true} is VALID [2018-11-23 12:17:53,313 INFO L273 TraceCheckUtils]: 124: Hoare triple {20588#true} assume !(~i~0 < 40); {20588#true} is VALID [2018-11-23 12:17:53,313 INFO L273 TraceCheckUtils]: 125: Hoare triple {20588#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {20588#true} is VALID [2018-11-23 12:17:53,313 INFO L273 TraceCheckUtils]: 126: Hoare triple {20588#true} assume true; {20588#true} is VALID [2018-11-23 12:17:53,313 INFO L268 TraceCheckUtils]: 127: Hoare quadruple {20588#true} {20588#true} #77#return; {20588#true} is VALID [2018-11-23 12:17:53,314 INFO L273 TraceCheckUtils]: 128: Hoare triple {20588#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; {21005#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:53,315 INFO L273 TraceCheckUtils]: 129: Hoare triple {21005#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21005#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:53,315 INFO L273 TraceCheckUtils]: 130: Hoare triple {21005#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21012#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:53,315 INFO L273 TraceCheckUtils]: 131: Hoare triple {21012#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21012#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:53,316 INFO L273 TraceCheckUtils]: 132: Hoare triple {21012#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21019#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:53,317 INFO L273 TraceCheckUtils]: 133: Hoare triple {21019#(<= main_~i~2 2)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21019#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:53,317 INFO L273 TraceCheckUtils]: 134: Hoare triple {21019#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21026#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:53,318 INFO L273 TraceCheckUtils]: 135: Hoare triple {21026#(<= main_~i~2 3)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21026#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:53,319 INFO L273 TraceCheckUtils]: 136: Hoare triple {21026#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21033#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:53,319 INFO L273 TraceCheckUtils]: 137: Hoare triple {21033#(<= main_~i~2 4)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21033#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:53,320 INFO L273 TraceCheckUtils]: 138: Hoare triple {21033#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21040#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:53,320 INFO L273 TraceCheckUtils]: 139: Hoare triple {21040#(<= main_~i~2 5)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21040#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:53,321 INFO L273 TraceCheckUtils]: 140: Hoare triple {21040#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21047#(<= main_~i~2 6)} is VALID [2018-11-23 12:17:53,322 INFO L273 TraceCheckUtils]: 141: Hoare triple {21047#(<= main_~i~2 6)} assume !(~i~2 < 39); {20589#false} is VALID [2018-11-23 12:17:53,322 INFO L273 TraceCheckUtils]: 142: Hoare triple {20589#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {20589#false} is VALID [2018-11-23 12:17:53,322 INFO L256 TraceCheckUtils]: 143: Hoare triple {20589#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {20589#false} is VALID [2018-11-23 12:17:53,322 INFO L273 TraceCheckUtils]: 144: Hoare triple {20589#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {20589#false} is VALID [2018-11-23 12:17:53,323 INFO L273 TraceCheckUtils]: 145: Hoare triple {20589#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20589#false} is VALID [2018-11-23 12:17:53,323 INFO L273 TraceCheckUtils]: 146: Hoare triple {20589#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20589#false} is VALID [2018-11-23 12:17:53,323 INFO L273 TraceCheckUtils]: 147: Hoare triple {20589#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20589#false} is VALID [2018-11-23 12:17:53,323 INFO L273 TraceCheckUtils]: 148: Hoare triple {20589#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20589#false} is VALID [2018-11-23 12:17:53,323 INFO L273 TraceCheckUtils]: 149: Hoare triple {20589#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20589#false} is VALID [2018-11-23 12:17:53,323 INFO L273 TraceCheckUtils]: 150: Hoare triple {20589#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20589#false} is VALID [2018-11-23 12:17:53,324 INFO L273 TraceCheckUtils]: 151: Hoare triple {20589#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20589#false} is VALID [2018-11-23 12:17:53,324 INFO L273 TraceCheckUtils]: 152: Hoare triple {20589#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20589#false} is VALID [2018-11-23 12:17:53,324 INFO L273 TraceCheckUtils]: 153: Hoare triple {20589#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20589#false} is VALID [2018-11-23 12:17:53,324 INFO L273 TraceCheckUtils]: 154: Hoare triple {20589#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20589#false} is VALID [2018-11-23 12:17:53,324 INFO L273 TraceCheckUtils]: 155: Hoare triple {20589#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20589#false} is VALID [2018-11-23 12:17:53,325 INFO L273 TraceCheckUtils]: 156: Hoare triple {20589#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20589#false} is VALID [2018-11-23 12:17:53,325 INFO L273 TraceCheckUtils]: 157: Hoare triple {20589#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20589#false} is VALID [2018-11-23 12:17:53,325 INFO L273 TraceCheckUtils]: 158: Hoare triple {20589#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20589#false} is VALID [2018-11-23 12:17:53,325 INFO L273 TraceCheckUtils]: 159: Hoare triple {20589#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20589#false} is VALID [2018-11-23 12:17:53,325 INFO L273 TraceCheckUtils]: 160: Hoare triple {20589#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20589#false} is VALID [2018-11-23 12:17:53,325 INFO L273 TraceCheckUtils]: 161: Hoare triple {20589#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20589#false} is VALID [2018-11-23 12:17:53,326 INFO L273 TraceCheckUtils]: 162: Hoare triple {20589#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20589#false} is VALID [2018-11-23 12:17:53,326 INFO L273 TraceCheckUtils]: 163: Hoare triple {20589#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20589#false} is VALID [2018-11-23 12:17:53,326 INFO L273 TraceCheckUtils]: 164: Hoare triple {20589#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20589#false} is VALID [2018-11-23 12:17:53,326 INFO L273 TraceCheckUtils]: 165: Hoare triple {20589#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20589#false} is VALID [2018-11-23 12:17:53,326 INFO L273 TraceCheckUtils]: 166: Hoare triple {20589#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20589#false} is VALID [2018-11-23 12:17:53,327 INFO L273 TraceCheckUtils]: 167: Hoare triple {20589#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20589#false} is VALID [2018-11-23 12:17:53,327 INFO L273 TraceCheckUtils]: 168: Hoare triple {20589#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20589#false} is VALID [2018-11-23 12:17:53,327 INFO L273 TraceCheckUtils]: 169: Hoare triple {20589#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {20589#false} is VALID [2018-11-23 12:17:53,327 INFO L273 TraceCheckUtils]: 170: Hoare triple {20589#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {20589#false} is VALID [2018-11-23 12:17:53,327 INFO L273 TraceCheckUtils]: 171: Hoare triple {20589#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20589#false} is VALID [2018-11-23 12:17:53,327 INFO L273 TraceCheckUtils]: 172: Hoare triple {20589#false} assume !(~i~0 < 40); {20589#false} is VALID [2018-11-23 12:17:53,327 INFO L273 TraceCheckUtils]: 173: Hoare triple {20589#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {20589#false} is VALID [2018-11-23 12:17:53,327 INFO L273 TraceCheckUtils]: 174: Hoare triple {20589#false} assume true; {20589#false} is VALID [2018-11-23 12:17:53,327 INFO L268 TraceCheckUtils]: 175: Hoare quadruple {20589#false} {20589#false} #79#return; {20589#false} is VALID [2018-11-23 12:17:53,328 INFO L273 TraceCheckUtils]: 176: Hoare triple {20589#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {20589#false} is VALID [2018-11-23 12:17:53,328 INFO L273 TraceCheckUtils]: 177: Hoare triple {20589#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {20589#false} is VALID [2018-11-23 12:17:53,328 INFO L273 TraceCheckUtils]: 178: Hoare triple {20589#false} assume !false; {20589#false} is VALID [2018-11-23 12:17:53,339 INFO L134 CoverageAnalysis]: Checked inductivity of 1914 backedges. 532 proven. 36 refuted. 0 times theorem prover too weak. 1346 trivial. 0 not checked. [2018-11-23 12:17:53,359 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:53,359 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [30, 9] total 37 [2018-11-23 12:17:53,360 INFO L78 Accepts]: Start accepts. Automaton has 37 states. Word has length 179 [2018-11-23 12:17:53,360 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:53,360 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states. [2018-11-23 12:17:53,478 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:53,479 INFO L459 AbstractCegarLoop]: Interpolant automaton has 37 states [2018-11-23 12:17:53,479 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2018-11-23 12:17:53,480 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=470, Invalid=862, Unknown=0, NotChecked=0, Total=1332 [2018-11-23 12:17:53,480 INFO L87 Difference]: Start difference. First operand 116 states and 129 transitions. Second operand 37 states. [2018-11-23 12:17:54,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:54,231 INFO L93 Difference]: Finished difference Result 177 states and 204 transitions. [2018-11-23 12:17:54,231 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2018-11-23 12:17:54,231 INFO L78 Accepts]: Start accepts. Automaton has 37 states. Word has length 179 [2018-11-23 12:17:54,231 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:54,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 12:17:54,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 127 transitions. [2018-11-23 12:17:54,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 12:17:54,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 127 transitions. [2018-11-23 12:17:54,233 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states and 127 transitions. [2018-11-23 12:17:54,389 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:54,391 INFO L225 Difference]: With dead ends: 177 [2018-11-23 12:17:54,392 INFO L226 Difference]: Without dead ends: 122 [2018-11-23 12:17:54,392 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 208 GetRequests, 173 SyntacticMatches, 0 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 189 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=470, Invalid=862, Unknown=0, NotChecked=0, Total=1332 [2018-11-23 12:17:54,393 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2018-11-23 12:17:54,541 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 120. [2018-11-23 12:17:54,541 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:54,541 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand 120 states. [2018-11-23 12:17:54,541 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 120 states. [2018-11-23 12:17:54,542 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 120 states. [2018-11-23 12:17:54,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:54,544 INFO L93 Difference]: Finished difference Result 122 states and 135 transitions. [2018-11-23 12:17:54,544 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 135 transitions. [2018-11-23 12:17:54,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:54,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:54,544 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand 122 states. [2018-11-23 12:17:54,544 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 122 states. [2018-11-23 12:17:54,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:54,546 INFO L93 Difference]: Finished difference Result 122 states and 135 transitions. [2018-11-23 12:17:54,546 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 135 transitions. [2018-11-23 12:17:54,546 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:54,546 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:54,546 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:54,547 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:54,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 120 states. [2018-11-23 12:17:54,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 133 transitions. [2018-11-23 12:17:54,548 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 133 transitions. Word has length 179 [2018-11-23 12:17:54,548 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:54,548 INFO L480 AbstractCegarLoop]: Abstraction has 120 states and 133 transitions. [2018-11-23 12:17:54,548 INFO L481 AbstractCegarLoop]: Interpolant automaton has 37 states. [2018-11-23 12:17:54,549 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 133 transitions. [2018-11-23 12:17:54,549 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 184 [2018-11-23 12:17:54,549 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:54,549 INFO L402 BasicCegarLoop]: trace histogram [28, 28, 27, 27, 27, 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:54,550 INFO L423 AbstractCegarLoop]: === Iteration 32 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:54,550 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:54,550 INFO L82 PathProgramCache]: Analyzing trace with hash 2108811893, now seen corresponding path program 28 times [2018-11-23 12:17:54,550 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:54,550 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:54,551 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:54,551 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:54,551 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:54,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:55,950 INFO L256 TraceCheckUtils]: 0: Hoare triple {21833#true} call ULTIMATE.init(); {21833#true} is VALID [2018-11-23 12:17:55,950 INFO L273 TraceCheckUtils]: 1: Hoare triple {21833#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {21833#true} is VALID [2018-11-23 12:17:55,950 INFO L273 TraceCheckUtils]: 2: Hoare triple {21833#true} assume true; {21833#true} is VALID [2018-11-23 12:17:55,950 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {21833#true} {21833#true} #71#return; {21833#true} is VALID [2018-11-23 12:17:55,951 INFO L256 TraceCheckUtils]: 4: Hoare triple {21833#true} call #t~ret14 := main(); {21833#true} is VALID [2018-11-23 12:17:55,951 INFO L273 TraceCheckUtils]: 5: Hoare triple {21833#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {21835#(= main_~i~1 0)} is VALID [2018-11-23 12:17:55,951 INFO L273 TraceCheckUtils]: 6: Hoare triple {21835#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21835#(= main_~i~1 0)} is VALID [2018-11-23 12:17:55,952 INFO L273 TraceCheckUtils]: 7: Hoare triple {21835#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21836#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:55,952 INFO L273 TraceCheckUtils]: 8: Hoare triple {21836#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21836#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:55,953 INFO L273 TraceCheckUtils]: 9: Hoare triple {21836#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21837#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:55,953 INFO L273 TraceCheckUtils]: 10: Hoare triple {21837#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21837#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:55,953 INFO L273 TraceCheckUtils]: 11: Hoare triple {21837#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21838#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:55,954 INFO L273 TraceCheckUtils]: 12: Hoare triple {21838#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21838#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:55,955 INFO L273 TraceCheckUtils]: 13: Hoare triple {21838#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21839#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:55,955 INFO L273 TraceCheckUtils]: 14: Hoare triple {21839#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21839#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:55,956 INFO L273 TraceCheckUtils]: 15: Hoare triple {21839#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21840#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:55,956 INFO L273 TraceCheckUtils]: 16: Hoare triple {21840#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21840#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:55,957 INFO L273 TraceCheckUtils]: 17: Hoare triple {21840#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21841#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:55,957 INFO L273 TraceCheckUtils]: 18: Hoare triple {21841#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21841#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:55,958 INFO L273 TraceCheckUtils]: 19: Hoare triple {21841#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21842#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:55,959 INFO L273 TraceCheckUtils]: 20: Hoare triple {21842#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21842#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:55,959 INFO L273 TraceCheckUtils]: 21: Hoare triple {21842#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21843#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:55,960 INFO L273 TraceCheckUtils]: 22: Hoare triple {21843#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21843#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:55,960 INFO L273 TraceCheckUtils]: 23: Hoare triple {21843#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21844#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:55,961 INFO L273 TraceCheckUtils]: 24: Hoare triple {21844#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21844#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:55,962 INFO L273 TraceCheckUtils]: 25: Hoare triple {21844#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21845#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:55,962 INFO L273 TraceCheckUtils]: 26: Hoare triple {21845#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21845#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:55,963 INFO L273 TraceCheckUtils]: 27: Hoare triple {21845#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21846#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:55,963 INFO L273 TraceCheckUtils]: 28: Hoare triple {21846#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21846#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:55,964 INFO L273 TraceCheckUtils]: 29: Hoare triple {21846#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21847#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:55,964 INFO L273 TraceCheckUtils]: 30: Hoare triple {21847#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21847#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:55,965 INFO L273 TraceCheckUtils]: 31: Hoare triple {21847#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21848#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:55,966 INFO L273 TraceCheckUtils]: 32: Hoare triple {21848#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21848#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:55,966 INFO L273 TraceCheckUtils]: 33: Hoare triple {21848#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21849#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:55,967 INFO L273 TraceCheckUtils]: 34: Hoare triple {21849#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21849#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:55,968 INFO L273 TraceCheckUtils]: 35: Hoare triple {21849#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21850#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:55,968 INFO L273 TraceCheckUtils]: 36: Hoare triple {21850#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21850#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:55,969 INFO L273 TraceCheckUtils]: 37: Hoare triple {21850#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21851#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:55,969 INFO L273 TraceCheckUtils]: 38: Hoare triple {21851#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21851#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:55,970 INFO L273 TraceCheckUtils]: 39: Hoare triple {21851#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21852#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:55,970 INFO L273 TraceCheckUtils]: 40: Hoare triple {21852#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21852#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:55,971 INFO L273 TraceCheckUtils]: 41: Hoare triple {21852#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21853#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:55,972 INFO L273 TraceCheckUtils]: 42: Hoare triple {21853#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21853#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:55,972 INFO L273 TraceCheckUtils]: 43: Hoare triple {21853#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21854#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:55,973 INFO L273 TraceCheckUtils]: 44: Hoare triple {21854#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21854#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:55,973 INFO L273 TraceCheckUtils]: 45: Hoare triple {21854#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21855#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:55,974 INFO L273 TraceCheckUtils]: 46: Hoare triple {21855#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21855#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:55,975 INFO L273 TraceCheckUtils]: 47: Hoare triple {21855#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21856#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:55,975 INFO L273 TraceCheckUtils]: 48: Hoare triple {21856#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21856#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:55,976 INFO L273 TraceCheckUtils]: 49: Hoare triple {21856#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21857#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:55,976 INFO L273 TraceCheckUtils]: 50: Hoare triple {21857#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21857#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:55,977 INFO L273 TraceCheckUtils]: 51: Hoare triple {21857#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21858#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:55,978 INFO L273 TraceCheckUtils]: 52: Hoare triple {21858#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21858#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:55,978 INFO L273 TraceCheckUtils]: 53: Hoare triple {21858#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21859#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:55,979 INFO L273 TraceCheckUtils]: 54: Hoare triple {21859#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21859#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:55,979 INFO L273 TraceCheckUtils]: 55: Hoare triple {21859#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21860#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:55,980 INFO L273 TraceCheckUtils]: 56: Hoare triple {21860#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21860#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:55,981 INFO L273 TraceCheckUtils]: 57: Hoare triple {21860#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21861#(<= main_~i~1 26)} is VALID [2018-11-23 12:17:55,981 INFO L273 TraceCheckUtils]: 58: Hoare triple {21861#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21861#(<= main_~i~1 26)} is VALID [2018-11-23 12:17:55,982 INFO L273 TraceCheckUtils]: 59: Hoare triple {21861#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21862#(<= main_~i~1 27)} is VALID [2018-11-23 12:17:55,982 INFO L273 TraceCheckUtils]: 60: Hoare triple {21862#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21862#(<= main_~i~1 27)} is VALID [2018-11-23 12:17:55,983 INFO L273 TraceCheckUtils]: 61: Hoare triple {21862#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21863#(<= main_~i~1 28)} is VALID [2018-11-23 12:17:55,984 INFO L273 TraceCheckUtils]: 62: Hoare triple {21863#(<= main_~i~1 28)} assume !(~i~1 < 40); {21834#false} is VALID [2018-11-23 12:17:55,984 INFO L256 TraceCheckUtils]: 63: Hoare triple {21834#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {21833#true} is VALID [2018-11-23 12:17:55,984 INFO L273 TraceCheckUtils]: 64: Hoare triple {21833#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {21833#true} is VALID [2018-11-23 12:17:55,984 INFO L273 TraceCheckUtils]: 65: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,984 INFO L273 TraceCheckUtils]: 66: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,985 INFO L273 TraceCheckUtils]: 67: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,985 INFO L273 TraceCheckUtils]: 68: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,985 INFO L273 TraceCheckUtils]: 69: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,985 INFO L273 TraceCheckUtils]: 70: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,985 INFO L273 TraceCheckUtils]: 71: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,985 INFO L273 TraceCheckUtils]: 72: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,986 INFO L273 TraceCheckUtils]: 73: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,986 INFO L273 TraceCheckUtils]: 74: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,986 INFO L273 TraceCheckUtils]: 75: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,986 INFO L273 TraceCheckUtils]: 76: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,986 INFO L273 TraceCheckUtils]: 77: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,987 INFO L273 TraceCheckUtils]: 78: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,987 INFO L273 TraceCheckUtils]: 79: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,987 INFO L273 TraceCheckUtils]: 80: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,987 INFO L273 TraceCheckUtils]: 81: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,987 INFO L273 TraceCheckUtils]: 82: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,987 INFO L273 TraceCheckUtils]: 83: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,987 INFO L273 TraceCheckUtils]: 84: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,987 INFO L273 TraceCheckUtils]: 85: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,987 INFO L273 TraceCheckUtils]: 86: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,988 INFO L273 TraceCheckUtils]: 87: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,988 INFO L273 TraceCheckUtils]: 88: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,988 INFO L273 TraceCheckUtils]: 89: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,988 INFO L273 TraceCheckUtils]: 90: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,988 INFO L273 TraceCheckUtils]: 91: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,988 INFO L273 TraceCheckUtils]: 92: Hoare triple {21833#true} assume !(~i~0 < 40); {21833#true} is VALID [2018-11-23 12:17:55,988 INFO L273 TraceCheckUtils]: 93: Hoare triple {21833#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {21833#true} is VALID [2018-11-23 12:17:55,988 INFO L273 TraceCheckUtils]: 94: Hoare triple {21833#true} assume true; {21833#true} is VALID [2018-11-23 12:17:55,988 INFO L268 TraceCheckUtils]: 95: Hoare quadruple {21833#true} {21834#false} #75#return; {21834#false} is VALID [2018-11-23 12:17:55,988 INFO L273 TraceCheckUtils]: 96: Hoare triple {21834#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); {21834#false} is VALID [2018-11-23 12:17:55,989 INFO L256 TraceCheckUtils]: 97: Hoare triple {21834#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {21833#true} is VALID [2018-11-23 12:17:55,989 INFO L273 TraceCheckUtils]: 98: Hoare triple {21833#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {21833#true} is VALID [2018-11-23 12:17:55,989 INFO L273 TraceCheckUtils]: 99: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,989 INFO L273 TraceCheckUtils]: 100: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,989 INFO L273 TraceCheckUtils]: 101: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,989 INFO L273 TraceCheckUtils]: 102: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,989 INFO L273 TraceCheckUtils]: 103: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,989 INFO L273 TraceCheckUtils]: 104: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,989 INFO L273 TraceCheckUtils]: 105: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,989 INFO L273 TraceCheckUtils]: 106: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,990 INFO L273 TraceCheckUtils]: 107: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,990 INFO L273 TraceCheckUtils]: 108: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,990 INFO L273 TraceCheckUtils]: 109: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,990 INFO L273 TraceCheckUtils]: 110: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,990 INFO L273 TraceCheckUtils]: 111: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,990 INFO L273 TraceCheckUtils]: 112: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,990 INFO L273 TraceCheckUtils]: 113: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,990 INFO L273 TraceCheckUtils]: 114: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,990 INFO L273 TraceCheckUtils]: 115: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,991 INFO L273 TraceCheckUtils]: 116: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,991 INFO L273 TraceCheckUtils]: 117: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,991 INFO L273 TraceCheckUtils]: 118: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,991 INFO L273 TraceCheckUtils]: 119: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,991 INFO L273 TraceCheckUtils]: 120: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,991 INFO L273 TraceCheckUtils]: 121: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,991 INFO L273 TraceCheckUtils]: 122: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,991 INFO L273 TraceCheckUtils]: 123: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,991 INFO L273 TraceCheckUtils]: 124: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,991 INFO L273 TraceCheckUtils]: 125: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,992 INFO L273 TraceCheckUtils]: 126: Hoare triple {21833#true} assume !(~i~0 < 40); {21833#true} is VALID [2018-11-23 12:17:55,992 INFO L273 TraceCheckUtils]: 127: Hoare triple {21833#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {21833#true} is VALID [2018-11-23 12:17:55,992 INFO L273 TraceCheckUtils]: 128: Hoare triple {21833#true} assume true; {21833#true} is VALID [2018-11-23 12:17:55,992 INFO L268 TraceCheckUtils]: 129: Hoare quadruple {21833#true} {21834#false} #77#return; {21834#false} is VALID [2018-11-23 12:17:55,992 INFO L273 TraceCheckUtils]: 130: Hoare triple {21834#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; {21834#false} is VALID [2018-11-23 12:17:55,992 INFO L273 TraceCheckUtils]: 131: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:55,992 INFO L273 TraceCheckUtils]: 132: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:55,992 INFO L273 TraceCheckUtils]: 133: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:55,992 INFO L273 TraceCheckUtils]: 134: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:55,992 INFO L273 TraceCheckUtils]: 135: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:55,993 INFO L273 TraceCheckUtils]: 136: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:55,993 INFO L273 TraceCheckUtils]: 137: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:55,993 INFO L273 TraceCheckUtils]: 138: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:55,993 INFO L273 TraceCheckUtils]: 139: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:55,993 INFO L273 TraceCheckUtils]: 140: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:55,993 INFO L273 TraceCheckUtils]: 141: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:55,993 INFO L273 TraceCheckUtils]: 142: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:55,993 INFO L273 TraceCheckUtils]: 143: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:55,993 INFO L273 TraceCheckUtils]: 144: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:55,993 INFO L273 TraceCheckUtils]: 145: Hoare triple {21834#false} assume !(~i~2 < 39); {21834#false} is VALID [2018-11-23 12:17:55,994 INFO L273 TraceCheckUtils]: 146: Hoare triple {21834#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {21834#false} is VALID [2018-11-23 12:17:55,994 INFO L256 TraceCheckUtils]: 147: Hoare triple {21834#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {21833#true} is VALID [2018-11-23 12:17:55,994 INFO L273 TraceCheckUtils]: 148: Hoare triple {21833#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {21833#true} is VALID [2018-11-23 12:17:55,994 INFO L273 TraceCheckUtils]: 149: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,994 INFO L273 TraceCheckUtils]: 150: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,994 INFO L273 TraceCheckUtils]: 151: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,994 INFO L273 TraceCheckUtils]: 152: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,994 INFO L273 TraceCheckUtils]: 153: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,994 INFO L273 TraceCheckUtils]: 154: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,995 INFO L273 TraceCheckUtils]: 155: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,995 INFO L273 TraceCheckUtils]: 156: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,995 INFO L273 TraceCheckUtils]: 157: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,995 INFO L273 TraceCheckUtils]: 158: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,995 INFO L273 TraceCheckUtils]: 159: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,995 INFO L273 TraceCheckUtils]: 160: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,995 INFO L273 TraceCheckUtils]: 161: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,995 INFO L273 TraceCheckUtils]: 162: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,995 INFO L273 TraceCheckUtils]: 163: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,995 INFO L273 TraceCheckUtils]: 164: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,996 INFO L273 TraceCheckUtils]: 165: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,996 INFO L273 TraceCheckUtils]: 166: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,996 INFO L273 TraceCheckUtils]: 167: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,996 INFO L273 TraceCheckUtils]: 168: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,996 INFO L273 TraceCheckUtils]: 169: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,996 INFO L273 TraceCheckUtils]: 170: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,996 INFO L273 TraceCheckUtils]: 171: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,996 INFO L273 TraceCheckUtils]: 172: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,996 INFO L273 TraceCheckUtils]: 173: Hoare triple {21833#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21833#true} is VALID [2018-11-23 12:17:55,996 INFO L273 TraceCheckUtils]: 174: Hoare triple {21833#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21833#true} is VALID [2018-11-23 12:17:55,997 INFO L273 TraceCheckUtils]: 175: Hoare triple {21833#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21833#true} is VALID [2018-11-23 12:17:55,997 INFO L273 TraceCheckUtils]: 176: Hoare triple {21833#true} assume !(~i~0 < 40); {21833#true} is VALID [2018-11-23 12:17:55,997 INFO L273 TraceCheckUtils]: 177: Hoare triple {21833#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {21833#true} is VALID [2018-11-23 12:17:55,997 INFO L273 TraceCheckUtils]: 178: Hoare triple {21833#true} assume true; {21833#true} is VALID [2018-11-23 12:17:55,997 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {21833#true} {21834#false} #79#return; {21834#false} is VALID [2018-11-23 12:17:55,997 INFO L273 TraceCheckUtils]: 180: Hoare triple {21834#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {21834#false} is VALID [2018-11-23 12:17:55,997 INFO L273 TraceCheckUtils]: 181: Hoare triple {21834#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {21834#false} is VALID [2018-11-23 12:17:55,997 INFO L273 TraceCheckUtils]: 182: Hoare triple {21834#false} assume !false; {21834#false} is VALID [2018-11-23 12:17:56,012 INFO L134 CoverageAnalysis]: Checked inductivity of 1982 backedges. 0 proven. 784 refuted. 0 times theorem prover too weak. 1198 trivial. 0 not checked. [2018-11-23 12:17:56,012 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:56,012 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:56,021 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:17:56,128 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:17:56,128 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:56,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:56,165 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:56,623 INFO L256 TraceCheckUtils]: 0: Hoare triple {21833#true} call ULTIMATE.init(); {21833#true} is VALID [2018-11-23 12:17:56,623 INFO L273 TraceCheckUtils]: 1: Hoare triple {21833#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {21833#true} is VALID [2018-11-23 12:17:56,623 INFO L273 TraceCheckUtils]: 2: Hoare triple {21833#true} assume true; {21833#true} is VALID [2018-11-23 12:17:56,624 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {21833#true} {21833#true} #71#return; {21833#true} is VALID [2018-11-23 12:17:56,624 INFO L256 TraceCheckUtils]: 4: Hoare triple {21833#true} call #t~ret14 := main(); {21833#true} is VALID [2018-11-23 12:17:56,625 INFO L273 TraceCheckUtils]: 5: Hoare triple {21833#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {21882#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:56,646 INFO L273 TraceCheckUtils]: 6: Hoare triple {21882#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21882#(<= main_~i~1 0)} is VALID [2018-11-23 12:17:56,654 INFO L273 TraceCheckUtils]: 7: Hoare triple {21882#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21836#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:56,669 INFO L273 TraceCheckUtils]: 8: Hoare triple {21836#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21836#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:56,677 INFO L273 TraceCheckUtils]: 9: Hoare triple {21836#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21837#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:56,678 INFO L273 TraceCheckUtils]: 10: Hoare triple {21837#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21837#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:56,678 INFO L273 TraceCheckUtils]: 11: Hoare triple {21837#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21838#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:56,679 INFO L273 TraceCheckUtils]: 12: Hoare triple {21838#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21838#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:56,679 INFO L273 TraceCheckUtils]: 13: Hoare triple {21838#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21839#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:56,679 INFO L273 TraceCheckUtils]: 14: Hoare triple {21839#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21839#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:56,680 INFO L273 TraceCheckUtils]: 15: Hoare triple {21839#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21840#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:56,680 INFO L273 TraceCheckUtils]: 16: Hoare triple {21840#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21840#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:56,680 INFO L273 TraceCheckUtils]: 17: Hoare triple {21840#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21841#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:56,681 INFO L273 TraceCheckUtils]: 18: Hoare triple {21841#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21841#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:56,681 INFO L273 TraceCheckUtils]: 19: Hoare triple {21841#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21842#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:56,682 INFO L273 TraceCheckUtils]: 20: Hoare triple {21842#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21842#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:56,683 INFO L273 TraceCheckUtils]: 21: Hoare triple {21842#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21843#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:56,683 INFO L273 TraceCheckUtils]: 22: Hoare triple {21843#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21843#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:56,684 INFO L273 TraceCheckUtils]: 23: Hoare triple {21843#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21844#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:56,684 INFO L273 TraceCheckUtils]: 24: Hoare triple {21844#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21844#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:56,685 INFO L273 TraceCheckUtils]: 25: Hoare triple {21844#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21845#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:56,685 INFO L273 TraceCheckUtils]: 26: Hoare triple {21845#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21845#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:56,686 INFO L273 TraceCheckUtils]: 27: Hoare triple {21845#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21846#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:56,686 INFO L273 TraceCheckUtils]: 28: Hoare triple {21846#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21846#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:56,687 INFO L273 TraceCheckUtils]: 29: Hoare triple {21846#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21847#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:56,688 INFO L273 TraceCheckUtils]: 30: Hoare triple {21847#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21847#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:56,688 INFO L273 TraceCheckUtils]: 31: Hoare triple {21847#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21848#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:56,689 INFO L273 TraceCheckUtils]: 32: Hoare triple {21848#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21848#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:56,689 INFO L273 TraceCheckUtils]: 33: Hoare triple {21848#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21849#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:56,690 INFO L273 TraceCheckUtils]: 34: Hoare triple {21849#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21849#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:56,691 INFO L273 TraceCheckUtils]: 35: Hoare triple {21849#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21850#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:56,691 INFO L273 TraceCheckUtils]: 36: Hoare triple {21850#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21850#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:56,692 INFO L273 TraceCheckUtils]: 37: Hoare triple {21850#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21851#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:56,692 INFO L273 TraceCheckUtils]: 38: Hoare triple {21851#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21851#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:56,693 INFO L273 TraceCheckUtils]: 39: Hoare triple {21851#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21852#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:56,693 INFO L273 TraceCheckUtils]: 40: Hoare triple {21852#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21852#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:56,694 INFO L273 TraceCheckUtils]: 41: Hoare triple {21852#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21853#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:56,695 INFO L273 TraceCheckUtils]: 42: Hoare triple {21853#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21853#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:56,695 INFO L273 TraceCheckUtils]: 43: Hoare triple {21853#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21854#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:56,696 INFO L273 TraceCheckUtils]: 44: Hoare triple {21854#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21854#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:56,696 INFO L273 TraceCheckUtils]: 45: Hoare triple {21854#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21855#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:56,697 INFO L273 TraceCheckUtils]: 46: Hoare triple {21855#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21855#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:56,698 INFO L273 TraceCheckUtils]: 47: Hoare triple {21855#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21856#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:56,698 INFO L273 TraceCheckUtils]: 48: Hoare triple {21856#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21856#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:56,699 INFO L273 TraceCheckUtils]: 49: Hoare triple {21856#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21857#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:56,699 INFO L273 TraceCheckUtils]: 50: Hoare triple {21857#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21857#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:56,700 INFO L273 TraceCheckUtils]: 51: Hoare triple {21857#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21858#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:56,700 INFO L273 TraceCheckUtils]: 52: Hoare triple {21858#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21858#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:56,701 INFO L273 TraceCheckUtils]: 53: Hoare triple {21858#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21859#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:56,701 INFO L273 TraceCheckUtils]: 54: Hoare triple {21859#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21859#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:56,702 INFO L273 TraceCheckUtils]: 55: Hoare triple {21859#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21860#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:56,703 INFO L273 TraceCheckUtils]: 56: Hoare triple {21860#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21860#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:56,703 INFO L273 TraceCheckUtils]: 57: Hoare triple {21860#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21861#(<= main_~i~1 26)} is VALID [2018-11-23 12:17:56,704 INFO L273 TraceCheckUtils]: 58: Hoare triple {21861#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21861#(<= main_~i~1 26)} is VALID [2018-11-23 12:17:56,704 INFO L273 TraceCheckUtils]: 59: Hoare triple {21861#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21862#(<= main_~i~1 27)} is VALID [2018-11-23 12:17:56,705 INFO L273 TraceCheckUtils]: 60: Hoare triple {21862#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {21862#(<= main_~i~1 27)} is VALID [2018-11-23 12:17:56,706 INFO L273 TraceCheckUtils]: 61: Hoare triple {21862#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {21863#(<= main_~i~1 28)} is VALID [2018-11-23 12:17:56,706 INFO L273 TraceCheckUtils]: 62: Hoare triple {21863#(<= main_~i~1 28)} assume !(~i~1 < 40); {21834#false} is VALID [2018-11-23 12:17:56,706 INFO L256 TraceCheckUtils]: 63: Hoare triple {21834#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {21834#false} is VALID [2018-11-23 12:17:56,707 INFO L273 TraceCheckUtils]: 64: Hoare triple {21834#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {21834#false} is VALID [2018-11-23 12:17:56,707 INFO L273 TraceCheckUtils]: 65: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,707 INFO L273 TraceCheckUtils]: 66: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,707 INFO L273 TraceCheckUtils]: 67: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,707 INFO L273 TraceCheckUtils]: 68: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,708 INFO L273 TraceCheckUtils]: 69: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,708 INFO L273 TraceCheckUtils]: 70: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,708 INFO L273 TraceCheckUtils]: 71: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,708 INFO L273 TraceCheckUtils]: 72: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,708 INFO L273 TraceCheckUtils]: 73: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,708 INFO L273 TraceCheckUtils]: 74: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,708 INFO L273 TraceCheckUtils]: 75: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,709 INFO L273 TraceCheckUtils]: 76: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,709 INFO L273 TraceCheckUtils]: 77: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,709 INFO L273 TraceCheckUtils]: 78: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,709 INFO L273 TraceCheckUtils]: 79: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,709 INFO L273 TraceCheckUtils]: 80: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,710 INFO L273 TraceCheckUtils]: 81: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,710 INFO L273 TraceCheckUtils]: 82: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,710 INFO L273 TraceCheckUtils]: 83: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,710 INFO L273 TraceCheckUtils]: 84: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,710 INFO L273 TraceCheckUtils]: 85: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,710 INFO L273 TraceCheckUtils]: 86: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,710 INFO L273 TraceCheckUtils]: 87: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,710 INFO L273 TraceCheckUtils]: 88: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,711 INFO L273 TraceCheckUtils]: 89: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,711 INFO L273 TraceCheckUtils]: 90: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,711 INFO L273 TraceCheckUtils]: 91: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,711 INFO L273 TraceCheckUtils]: 92: Hoare triple {21834#false} assume !(~i~0 < 40); {21834#false} is VALID [2018-11-23 12:17:56,711 INFO L273 TraceCheckUtils]: 93: Hoare triple {21834#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {21834#false} is VALID [2018-11-23 12:17:56,711 INFO L273 TraceCheckUtils]: 94: Hoare triple {21834#false} assume true; {21834#false} is VALID [2018-11-23 12:17:56,711 INFO L268 TraceCheckUtils]: 95: Hoare quadruple {21834#false} {21834#false} #75#return; {21834#false} is VALID [2018-11-23 12:17:56,712 INFO L273 TraceCheckUtils]: 96: Hoare triple {21834#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); {21834#false} is VALID [2018-11-23 12:17:56,712 INFO L256 TraceCheckUtils]: 97: Hoare triple {21834#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {21834#false} is VALID [2018-11-23 12:17:56,712 INFO L273 TraceCheckUtils]: 98: Hoare triple {21834#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {21834#false} is VALID [2018-11-23 12:17:56,712 INFO L273 TraceCheckUtils]: 99: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,712 INFO L273 TraceCheckUtils]: 100: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,712 INFO L273 TraceCheckUtils]: 101: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,712 INFO L273 TraceCheckUtils]: 102: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,713 INFO L273 TraceCheckUtils]: 103: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,713 INFO L273 TraceCheckUtils]: 104: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,713 INFO L273 TraceCheckUtils]: 105: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,713 INFO L273 TraceCheckUtils]: 106: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,713 INFO L273 TraceCheckUtils]: 107: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,713 INFO L273 TraceCheckUtils]: 108: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,714 INFO L273 TraceCheckUtils]: 109: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,714 INFO L273 TraceCheckUtils]: 110: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,714 INFO L273 TraceCheckUtils]: 111: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,714 INFO L273 TraceCheckUtils]: 112: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,714 INFO L273 TraceCheckUtils]: 113: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,714 INFO L273 TraceCheckUtils]: 114: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,714 INFO L273 TraceCheckUtils]: 115: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,715 INFO L273 TraceCheckUtils]: 116: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,715 INFO L273 TraceCheckUtils]: 117: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,715 INFO L273 TraceCheckUtils]: 118: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,715 INFO L273 TraceCheckUtils]: 119: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,715 INFO L273 TraceCheckUtils]: 120: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,715 INFO L273 TraceCheckUtils]: 121: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,715 INFO L273 TraceCheckUtils]: 122: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,716 INFO L273 TraceCheckUtils]: 123: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,716 INFO L273 TraceCheckUtils]: 124: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,716 INFO L273 TraceCheckUtils]: 125: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,716 INFO L273 TraceCheckUtils]: 126: Hoare triple {21834#false} assume !(~i~0 < 40); {21834#false} is VALID [2018-11-23 12:17:56,716 INFO L273 TraceCheckUtils]: 127: Hoare triple {21834#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {21834#false} is VALID [2018-11-23 12:17:56,716 INFO L273 TraceCheckUtils]: 128: Hoare triple {21834#false} assume true; {21834#false} is VALID [2018-11-23 12:17:56,716 INFO L268 TraceCheckUtils]: 129: Hoare quadruple {21834#false} {21834#false} #77#return; {21834#false} is VALID [2018-11-23 12:17:56,717 INFO L273 TraceCheckUtils]: 130: Hoare triple {21834#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; {21834#false} is VALID [2018-11-23 12:17:56,717 INFO L273 TraceCheckUtils]: 131: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:56,717 INFO L273 TraceCheckUtils]: 132: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:56,717 INFO L273 TraceCheckUtils]: 133: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:56,717 INFO L273 TraceCheckUtils]: 134: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:56,717 INFO L273 TraceCheckUtils]: 135: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:56,717 INFO L273 TraceCheckUtils]: 136: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:56,718 INFO L273 TraceCheckUtils]: 137: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:56,718 INFO L273 TraceCheckUtils]: 138: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:56,718 INFO L273 TraceCheckUtils]: 139: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:56,718 INFO L273 TraceCheckUtils]: 140: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:56,718 INFO L273 TraceCheckUtils]: 141: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:56,718 INFO L273 TraceCheckUtils]: 142: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:56,718 INFO L273 TraceCheckUtils]: 143: Hoare triple {21834#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {21834#false} is VALID [2018-11-23 12:17:56,719 INFO L273 TraceCheckUtils]: 144: Hoare triple {21834#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {21834#false} is VALID [2018-11-23 12:17:56,719 INFO L273 TraceCheckUtils]: 145: Hoare triple {21834#false} assume !(~i~2 < 39); {21834#false} is VALID [2018-11-23 12:17:56,719 INFO L273 TraceCheckUtils]: 146: Hoare triple {21834#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {21834#false} is VALID [2018-11-23 12:17:56,719 INFO L256 TraceCheckUtils]: 147: Hoare triple {21834#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {21834#false} is VALID [2018-11-23 12:17:56,719 INFO L273 TraceCheckUtils]: 148: Hoare triple {21834#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {21834#false} is VALID [2018-11-23 12:17:56,719 INFO L273 TraceCheckUtils]: 149: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,719 INFO L273 TraceCheckUtils]: 150: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,719 INFO L273 TraceCheckUtils]: 151: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,720 INFO L273 TraceCheckUtils]: 152: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,720 INFO L273 TraceCheckUtils]: 153: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,720 INFO L273 TraceCheckUtils]: 154: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,720 INFO L273 TraceCheckUtils]: 155: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,720 INFO L273 TraceCheckUtils]: 156: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,720 INFO L273 TraceCheckUtils]: 157: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,720 INFO L273 TraceCheckUtils]: 158: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,720 INFO L273 TraceCheckUtils]: 159: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,720 INFO L273 TraceCheckUtils]: 160: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,720 INFO L273 TraceCheckUtils]: 161: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,721 INFO L273 TraceCheckUtils]: 162: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,721 INFO L273 TraceCheckUtils]: 163: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,721 INFO L273 TraceCheckUtils]: 164: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,721 INFO L273 TraceCheckUtils]: 165: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,721 INFO L273 TraceCheckUtils]: 166: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,721 INFO L273 TraceCheckUtils]: 167: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,721 INFO L273 TraceCheckUtils]: 168: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,721 INFO L273 TraceCheckUtils]: 169: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,721 INFO L273 TraceCheckUtils]: 170: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,722 INFO L273 TraceCheckUtils]: 171: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,722 INFO L273 TraceCheckUtils]: 172: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,722 INFO L273 TraceCheckUtils]: 173: Hoare triple {21834#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {21834#false} is VALID [2018-11-23 12:17:56,722 INFO L273 TraceCheckUtils]: 174: Hoare triple {21834#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {21834#false} is VALID [2018-11-23 12:17:56,722 INFO L273 TraceCheckUtils]: 175: Hoare triple {21834#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21834#false} is VALID [2018-11-23 12:17:56,722 INFO L273 TraceCheckUtils]: 176: Hoare triple {21834#false} assume !(~i~0 < 40); {21834#false} is VALID [2018-11-23 12:17:56,722 INFO L273 TraceCheckUtils]: 177: Hoare triple {21834#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {21834#false} is VALID [2018-11-23 12:17:56,722 INFO L273 TraceCheckUtils]: 178: Hoare triple {21834#false} assume true; {21834#false} is VALID [2018-11-23 12:17:56,722 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {21834#false} {21834#false} #79#return; {21834#false} is VALID [2018-11-23 12:17:56,722 INFO L273 TraceCheckUtils]: 180: Hoare triple {21834#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {21834#false} is VALID [2018-11-23 12:17:56,723 INFO L273 TraceCheckUtils]: 181: Hoare triple {21834#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {21834#false} is VALID [2018-11-23 12:17:56,723 INFO L273 TraceCheckUtils]: 182: Hoare triple {21834#false} assume !false; {21834#false} is VALID [2018-11-23 12:17:56,737 INFO L134 CoverageAnalysis]: Checked inductivity of 1982 backedges. 0 proven. 784 refuted. 0 times theorem prover too weak. 1198 trivial. 0 not checked. [2018-11-23 12:17:56,756 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:56,756 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 31] total 32 [2018-11-23 12:17:56,756 INFO L78 Accepts]: Start accepts. Automaton has 32 states. Word has length 183 [2018-11-23 12:17:56,757 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:56,757 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states. [2018-11-23 12:17:57,017 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:57,017 INFO L459 AbstractCegarLoop]: Interpolant automaton has 32 states [2018-11-23 12:17:57,018 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2018-11-23 12:17:57,018 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=496, Invalid=496, Unknown=0, NotChecked=0, Total=992 [2018-11-23 12:17:57,019 INFO L87 Difference]: Start difference. First operand 120 states and 133 transitions. Second operand 32 states. [2018-11-23 12:17:57,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:57,849 INFO L93 Difference]: Finished difference Result 180 states and 206 transitions. [2018-11-23 12:17:57,849 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2018-11-23 12:17:57,849 INFO L78 Accepts]: Start accepts. Automaton has 32 states. Word has length 183 [2018-11-23 12:17:57,849 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:57,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 12:17:57,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 114 transitions. [2018-11-23 12:17:57,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 12:17:57,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 114 transitions. [2018-11-23 12:17:57,851 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states and 114 transitions. [2018-11-23 12:17:57,952 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:57,954 INFO L225 Difference]: With dead ends: 180 [2018-11-23 12:17:57,954 INFO L226 Difference]: Without dead ends: 123 [2018-11-23 12:17:57,955 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 213 GetRequests, 183 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=496, Invalid=496, Unknown=0, NotChecked=0, Total=992 [2018-11-23 12:17:57,955 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2018-11-23 12:17:58,043 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 122. [2018-11-23 12:17:58,043 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:58,043 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand 122 states. [2018-11-23 12:17:58,043 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 122 states. [2018-11-23 12:17:58,043 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 122 states. [2018-11-23 12:17:58,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:58,046 INFO L93 Difference]: Finished difference Result 123 states and 136 transitions. [2018-11-23 12:17:58,046 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 136 transitions. [2018-11-23 12:17:58,046 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:58,046 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:58,046 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 123 states. [2018-11-23 12:17:58,046 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 123 states. [2018-11-23 12:17:58,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:58,049 INFO L93 Difference]: Finished difference Result 123 states and 136 transitions. [2018-11-23 12:17:58,049 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 136 transitions. [2018-11-23 12:17:58,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:58,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:58,049 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:58,049 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:58,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 122 states. [2018-11-23 12:17:58,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 135 transitions. [2018-11-23 12:17:58,051 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 135 transitions. Word has length 183 [2018-11-23 12:17:58,052 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:58,052 INFO L480 AbstractCegarLoop]: Abstraction has 122 states and 135 transitions. [2018-11-23 12:17:58,052 INFO L481 AbstractCegarLoop]: Interpolant automaton has 32 states. [2018-11-23 12:17:58,052 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 135 transitions. [2018-11-23 12:17:58,052 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 186 [2018-11-23 12:17:58,053 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:58,053 INFO L402 BasicCegarLoop]: trace histogram [29, 29, 27, 27, 27, 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:58,053 INFO L423 AbstractCegarLoop]: === Iteration 33 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:58,053 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:58,053 INFO L82 PathProgramCache]: Analyzing trace with hash -28804973, now seen corresponding path program 29 times [2018-11-23 12:17:58,053 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:58,053 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:58,054 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:58,054 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:58,054 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:58,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:58,746 INFO L256 TraceCheckUtils]: 0: Hoare triple {23095#true} call ULTIMATE.init(); {23095#true} is VALID [2018-11-23 12:17:58,746 INFO L273 TraceCheckUtils]: 1: Hoare triple {23095#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {23095#true} is VALID [2018-11-23 12:17:58,746 INFO L273 TraceCheckUtils]: 2: Hoare triple {23095#true} assume true; {23095#true} is VALID [2018-11-23 12:17:58,747 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {23095#true} {23095#true} #71#return; {23095#true} is VALID [2018-11-23 12:17:58,747 INFO L256 TraceCheckUtils]: 4: Hoare triple {23095#true} call #t~ret14 := main(); {23095#true} is VALID [2018-11-23 12:17:58,747 INFO L273 TraceCheckUtils]: 5: Hoare triple {23095#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {23097#(= main_~i~1 0)} is VALID [2018-11-23 12:17:58,748 INFO L273 TraceCheckUtils]: 6: Hoare triple {23097#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23097#(= main_~i~1 0)} is VALID [2018-11-23 12:17:58,748 INFO L273 TraceCheckUtils]: 7: Hoare triple {23097#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23098#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:58,749 INFO L273 TraceCheckUtils]: 8: Hoare triple {23098#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23098#(<= main_~i~1 1)} is VALID [2018-11-23 12:17:58,750 INFO L273 TraceCheckUtils]: 9: Hoare triple {23098#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23099#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:58,750 INFO L273 TraceCheckUtils]: 10: Hoare triple {23099#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23099#(<= main_~i~1 2)} is VALID [2018-11-23 12:17:58,751 INFO L273 TraceCheckUtils]: 11: Hoare triple {23099#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23100#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:58,751 INFO L273 TraceCheckUtils]: 12: Hoare triple {23100#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23100#(<= main_~i~1 3)} is VALID [2018-11-23 12:17:58,752 INFO L273 TraceCheckUtils]: 13: Hoare triple {23100#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23101#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:58,753 INFO L273 TraceCheckUtils]: 14: Hoare triple {23101#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23101#(<= main_~i~1 4)} is VALID [2018-11-23 12:17:58,753 INFO L273 TraceCheckUtils]: 15: Hoare triple {23101#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23102#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:58,754 INFO L273 TraceCheckUtils]: 16: Hoare triple {23102#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23102#(<= main_~i~1 5)} is VALID [2018-11-23 12:17:58,755 INFO L273 TraceCheckUtils]: 17: Hoare triple {23102#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23103#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:58,755 INFO L273 TraceCheckUtils]: 18: Hoare triple {23103#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23103#(<= main_~i~1 6)} is VALID [2018-11-23 12:17:58,756 INFO L273 TraceCheckUtils]: 19: Hoare triple {23103#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23104#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:58,757 INFO L273 TraceCheckUtils]: 20: Hoare triple {23104#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23104#(<= main_~i~1 7)} is VALID [2018-11-23 12:17:58,757 INFO L273 TraceCheckUtils]: 21: Hoare triple {23104#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23105#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:58,758 INFO L273 TraceCheckUtils]: 22: Hoare triple {23105#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23105#(<= main_~i~1 8)} is VALID [2018-11-23 12:17:58,759 INFO L273 TraceCheckUtils]: 23: Hoare triple {23105#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23106#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:58,759 INFO L273 TraceCheckUtils]: 24: Hoare triple {23106#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23106#(<= main_~i~1 9)} is VALID [2018-11-23 12:17:58,760 INFO L273 TraceCheckUtils]: 25: Hoare triple {23106#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23107#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:58,761 INFO L273 TraceCheckUtils]: 26: Hoare triple {23107#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23107#(<= main_~i~1 10)} is VALID [2018-11-23 12:17:58,761 INFO L273 TraceCheckUtils]: 27: Hoare triple {23107#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23108#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:58,762 INFO L273 TraceCheckUtils]: 28: Hoare triple {23108#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23108#(<= main_~i~1 11)} is VALID [2018-11-23 12:17:58,763 INFO L273 TraceCheckUtils]: 29: Hoare triple {23108#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23109#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:58,763 INFO L273 TraceCheckUtils]: 30: Hoare triple {23109#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23109#(<= main_~i~1 12)} is VALID [2018-11-23 12:17:58,764 INFO L273 TraceCheckUtils]: 31: Hoare triple {23109#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23110#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:58,764 INFO L273 TraceCheckUtils]: 32: Hoare triple {23110#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23110#(<= main_~i~1 13)} is VALID [2018-11-23 12:17:58,765 INFO L273 TraceCheckUtils]: 33: Hoare triple {23110#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23111#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:58,766 INFO L273 TraceCheckUtils]: 34: Hoare triple {23111#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23111#(<= main_~i~1 14)} is VALID [2018-11-23 12:17:58,766 INFO L273 TraceCheckUtils]: 35: Hoare triple {23111#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23112#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:58,767 INFO L273 TraceCheckUtils]: 36: Hoare triple {23112#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23112#(<= main_~i~1 15)} is VALID [2018-11-23 12:17:58,768 INFO L273 TraceCheckUtils]: 37: Hoare triple {23112#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23113#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:58,768 INFO L273 TraceCheckUtils]: 38: Hoare triple {23113#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23113#(<= main_~i~1 16)} is VALID [2018-11-23 12:17:58,769 INFO L273 TraceCheckUtils]: 39: Hoare triple {23113#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23114#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:58,769 INFO L273 TraceCheckUtils]: 40: Hoare triple {23114#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23114#(<= main_~i~1 17)} is VALID [2018-11-23 12:17:58,770 INFO L273 TraceCheckUtils]: 41: Hoare triple {23114#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23115#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:58,771 INFO L273 TraceCheckUtils]: 42: Hoare triple {23115#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23115#(<= main_~i~1 18)} is VALID [2018-11-23 12:17:58,771 INFO L273 TraceCheckUtils]: 43: Hoare triple {23115#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23116#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:58,772 INFO L273 TraceCheckUtils]: 44: Hoare triple {23116#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23116#(<= main_~i~1 19)} is VALID [2018-11-23 12:17:58,773 INFO L273 TraceCheckUtils]: 45: Hoare triple {23116#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23117#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:58,773 INFO L273 TraceCheckUtils]: 46: Hoare triple {23117#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23117#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:58,774 INFO L273 TraceCheckUtils]: 47: Hoare triple {23117#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23118#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:58,775 INFO L273 TraceCheckUtils]: 48: Hoare triple {23118#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23118#(<= main_~i~1 21)} is VALID [2018-11-23 12:17:58,775 INFO L273 TraceCheckUtils]: 49: Hoare triple {23118#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23119#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:58,776 INFO L273 TraceCheckUtils]: 50: Hoare triple {23119#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23119#(<= main_~i~1 22)} is VALID [2018-11-23 12:17:58,776 INFO L273 TraceCheckUtils]: 51: Hoare triple {23119#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23120#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:58,777 INFO L273 TraceCheckUtils]: 52: Hoare triple {23120#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23120#(<= main_~i~1 23)} is VALID [2018-11-23 12:17:58,778 INFO L273 TraceCheckUtils]: 53: Hoare triple {23120#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23121#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:58,778 INFO L273 TraceCheckUtils]: 54: Hoare triple {23121#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23121#(<= main_~i~1 24)} is VALID [2018-11-23 12:17:58,779 INFO L273 TraceCheckUtils]: 55: Hoare triple {23121#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23122#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:58,780 INFO L273 TraceCheckUtils]: 56: Hoare triple {23122#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23122#(<= main_~i~1 25)} is VALID [2018-11-23 12:17:58,780 INFO L273 TraceCheckUtils]: 57: Hoare triple {23122#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23123#(<= main_~i~1 26)} is VALID [2018-11-23 12:17:58,781 INFO L273 TraceCheckUtils]: 58: Hoare triple {23123#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23123#(<= main_~i~1 26)} is VALID [2018-11-23 12:17:58,782 INFO L273 TraceCheckUtils]: 59: Hoare triple {23123#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23124#(<= main_~i~1 27)} is VALID [2018-11-23 12:17:58,782 INFO L273 TraceCheckUtils]: 60: Hoare triple {23124#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23124#(<= main_~i~1 27)} is VALID [2018-11-23 12:17:58,783 INFO L273 TraceCheckUtils]: 61: Hoare triple {23124#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23125#(<= main_~i~1 28)} is VALID [2018-11-23 12:17:58,783 INFO L273 TraceCheckUtils]: 62: Hoare triple {23125#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23125#(<= main_~i~1 28)} is VALID [2018-11-23 12:17:58,784 INFO L273 TraceCheckUtils]: 63: Hoare triple {23125#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23126#(<= main_~i~1 29)} is VALID [2018-11-23 12:17:58,785 INFO L273 TraceCheckUtils]: 64: Hoare triple {23126#(<= main_~i~1 29)} assume !(~i~1 < 40); {23096#false} is VALID [2018-11-23 12:17:58,785 INFO L256 TraceCheckUtils]: 65: Hoare triple {23096#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {23095#true} is VALID [2018-11-23 12:17:58,785 INFO L273 TraceCheckUtils]: 66: Hoare triple {23095#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {23095#true} is VALID [2018-11-23 12:17:58,785 INFO L273 TraceCheckUtils]: 67: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,786 INFO L273 TraceCheckUtils]: 68: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,786 INFO L273 TraceCheckUtils]: 69: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,786 INFO L273 TraceCheckUtils]: 70: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,786 INFO L273 TraceCheckUtils]: 71: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,786 INFO L273 TraceCheckUtils]: 72: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,786 INFO L273 TraceCheckUtils]: 73: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,787 INFO L273 TraceCheckUtils]: 74: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,787 INFO L273 TraceCheckUtils]: 75: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,787 INFO L273 TraceCheckUtils]: 76: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,787 INFO L273 TraceCheckUtils]: 77: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,787 INFO L273 TraceCheckUtils]: 78: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,787 INFO L273 TraceCheckUtils]: 79: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,788 INFO L273 TraceCheckUtils]: 80: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,788 INFO L273 TraceCheckUtils]: 81: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,788 INFO L273 TraceCheckUtils]: 82: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,788 INFO L273 TraceCheckUtils]: 83: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,788 INFO L273 TraceCheckUtils]: 84: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,789 INFO L273 TraceCheckUtils]: 85: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,789 INFO L273 TraceCheckUtils]: 86: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,789 INFO L273 TraceCheckUtils]: 87: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,789 INFO L273 TraceCheckUtils]: 88: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,789 INFO L273 TraceCheckUtils]: 89: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,789 INFO L273 TraceCheckUtils]: 90: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,790 INFO L273 TraceCheckUtils]: 91: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,790 INFO L273 TraceCheckUtils]: 92: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,790 INFO L273 TraceCheckUtils]: 93: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,790 INFO L273 TraceCheckUtils]: 94: Hoare triple {23095#true} assume !(~i~0 < 40); {23095#true} is VALID [2018-11-23 12:17:58,790 INFO L273 TraceCheckUtils]: 95: Hoare triple {23095#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {23095#true} is VALID [2018-11-23 12:17:58,790 INFO L273 TraceCheckUtils]: 96: Hoare triple {23095#true} assume true; {23095#true} is VALID [2018-11-23 12:17:58,790 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {23095#true} {23096#false} #75#return; {23096#false} is VALID [2018-11-23 12:17:58,790 INFO L273 TraceCheckUtils]: 98: Hoare triple {23096#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); {23096#false} is VALID [2018-11-23 12:17:58,791 INFO L256 TraceCheckUtils]: 99: Hoare triple {23096#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {23095#true} is VALID [2018-11-23 12:17:58,791 INFO L273 TraceCheckUtils]: 100: Hoare triple {23095#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {23095#true} is VALID [2018-11-23 12:17:58,791 INFO L273 TraceCheckUtils]: 101: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,791 INFO L273 TraceCheckUtils]: 102: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,791 INFO L273 TraceCheckUtils]: 103: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,791 INFO L273 TraceCheckUtils]: 104: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,791 INFO L273 TraceCheckUtils]: 105: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,791 INFO L273 TraceCheckUtils]: 106: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,791 INFO L273 TraceCheckUtils]: 107: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,792 INFO L273 TraceCheckUtils]: 108: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,792 INFO L273 TraceCheckUtils]: 109: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,792 INFO L273 TraceCheckUtils]: 110: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,792 INFO L273 TraceCheckUtils]: 111: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,792 INFO L273 TraceCheckUtils]: 112: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,792 INFO L273 TraceCheckUtils]: 113: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,792 INFO L273 TraceCheckUtils]: 114: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,792 INFO L273 TraceCheckUtils]: 115: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,792 INFO L273 TraceCheckUtils]: 116: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,792 INFO L273 TraceCheckUtils]: 117: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,793 INFO L273 TraceCheckUtils]: 118: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,793 INFO L273 TraceCheckUtils]: 119: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,793 INFO L273 TraceCheckUtils]: 120: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,793 INFO L273 TraceCheckUtils]: 121: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,793 INFO L273 TraceCheckUtils]: 122: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,793 INFO L273 TraceCheckUtils]: 123: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,793 INFO L273 TraceCheckUtils]: 124: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,793 INFO L273 TraceCheckUtils]: 125: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,793 INFO L273 TraceCheckUtils]: 126: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,793 INFO L273 TraceCheckUtils]: 127: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,794 INFO L273 TraceCheckUtils]: 128: Hoare triple {23095#true} assume !(~i~0 < 40); {23095#true} is VALID [2018-11-23 12:17:58,794 INFO L273 TraceCheckUtils]: 129: Hoare triple {23095#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {23095#true} is VALID [2018-11-23 12:17:58,794 INFO L273 TraceCheckUtils]: 130: Hoare triple {23095#true} assume true; {23095#true} is VALID [2018-11-23 12:17:58,794 INFO L268 TraceCheckUtils]: 131: Hoare quadruple {23095#true} {23096#false} #77#return; {23096#false} is VALID [2018-11-23 12:17:58,794 INFO L273 TraceCheckUtils]: 132: Hoare triple {23096#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; {23096#false} is VALID [2018-11-23 12:17:58,794 INFO L273 TraceCheckUtils]: 133: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:17:58,794 INFO L273 TraceCheckUtils]: 134: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:17:58,794 INFO L273 TraceCheckUtils]: 135: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:17:58,794 INFO L273 TraceCheckUtils]: 136: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:17:58,795 INFO L273 TraceCheckUtils]: 137: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:17:58,795 INFO L273 TraceCheckUtils]: 138: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:17:58,795 INFO L273 TraceCheckUtils]: 139: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:17:58,795 INFO L273 TraceCheckUtils]: 140: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:17:58,795 INFO L273 TraceCheckUtils]: 141: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:17:58,795 INFO L273 TraceCheckUtils]: 142: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:17:58,795 INFO L273 TraceCheckUtils]: 143: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:17:58,795 INFO L273 TraceCheckUtils]: 144: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:17:58,795 INFO L273 TraceCheckUtils]: 145: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:17:58,796 INFO L273 TraceCheckUtils]: 146: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:17:58,796 INFO L273 TraceCheckUtils]: 147: Hoare triple {23096#false} assume !(~i~2 < 39); {23096#false} is VALID [2018-11-23 12:17:58,796 INFO L273 TraceCheckUtils]: 148: Hoare triple {23096#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {23096#false} is VALID [2018-11-23 12:17:58,796 INFO L256 TraceCheckUtils]: 149: Hoare triple {23096#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {23095#true} is VALID [2018-11-23 12:17:58,796 INFO L273 TraceCheckUtils]: 150: Hoare triple {23095#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {23095#true} is VALID [2018-11-23 12:17:58,796 INFO L273 TraceCheckUtils]: 151: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,796 INFO L273 TraceCheckUtils]: 152: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,796 INFO L273 TraceCheckUtils]: 153: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,797 INFO L273 TraceCheckUtils]: 154: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,797 INFO L273 TraceCheckUtils]: 155: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,797 INFO L273 TraceCheckUtils]: 156: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,797 INFO L273 TraceCheckUtils]: 157: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,797 INFO L273 TraceCheckUtils]: 158: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,797 INFO L273 TraceCheckUtils]: 159: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,797 INFO L273 TraceCheckUtils]: 160: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,798 INFO L273 TraceCheckUtils]: 161: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,798 INFO L273 TraceCheckUtils]: 162: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,798 INFO L273 TraceCheckUtils]: 163: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,798 INFO L273 TraceCheckUtils]: 164: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,798 INFO L273 TraceCheckUtils]: 165: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,798 INFO L273 TraceCheckUtils]: 166: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,799 INFO L273 TraceCheckUtils]: 167: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,799 INFO L273 TraceCheckUtils]: 168: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,799 INFO L273 TraceCheckUtils]: 169: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,799 INFO L273 TraceCheckUtils]: 170: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,799 INFO L273 TraceCheckUtils]: 171: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,799 INFO L273 TraceCheckUtils]: 172: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,800 INFO L273 TraceCheckUtils]: 173: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,800 INFO L273 TraceCheckUtils]: 174: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,800 INFO L273 TraceCheckUtils]: 175: Hoare triple {23095#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23095#true} is VALID [2018-11-23 12:17:58,800 INFO L273 TraceCheckUtils]: 176: Hoare triple {23095#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23095#true} is VALID [2018-11-23 12:17:58,800 INFO L273 TraceCheckUtils]: 177: Hoare triple {23095#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23095#true} is VALID [2018-11-23 12:17:58,800 INFO L273 TraceCheckUtils]: 178: Hoare triple {23095#true} assume !(~i~0 < 40); {23095#true} is VALID [2018-11-23 12:17:58,801 INFO L273 TraceCheckUtils]: 179: Hoare triple {23095#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {23095#true} is VALID [2018-11-23 12:17:58,801 INFO L273 TraceCheckUtils]: 180: Hoare triple {23095#true} assume true; {23095#true} is VALID [2018-11-23 12:17:58,801 INFO L268 TraceCheckUtils]: 181: Hoare quadruple {23095#true} {23096#false} #79#return; {23096#false} is VALID [2018-11-23 12:17:58,801 INFO L273 TraceCheckUtils]: 182: Hoare triple {23096#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {23096#false} is VALID [2018-11-23 12:17:58,801 INFO L273 TraceCheckUtils]: 183: Hoare triple {23096#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {23096#false} is VALID [2018-11-23 12:17:58,801 INFO L273 TraceCheckUtils]: 184: Hoare triple {23096#false} assume !false; {23096#false} is VALID [2018-11-23 12:17:58,821 INFO L134 CoverageAnalysis]: Checked inductivity of 2039 backedges. 0 proven. 841 refuted. 0 times theorem prover too weak. 1198 trivial. 0 not checked. [2018-11-23 12:17:58,821 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:58,821 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:58,841 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:18:10,371 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 29 check-sat command(s) [2018-11-23 12:18:10,371 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:10,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:10,444 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:10,915 INFO L256 TraceCheckUtils]: 0: Hoare triple {23095#true} call ULTIMATE.init(); {23095#true} is VALID [2018-11-23 12:18:10,915 INFO L273 TraceCheckUtils]: 1: Hoare triple {23095#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {23095#true} is VALID [2018-11-23 12:18:10,915 INFO L273 TraceCheckUtils]: 2: Hoare triple {23095#true} assume true; {23095#true} is VALID [2018-11-23 12:18:10,915 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {23095#true} {23095#true} #71#return; {23095#true} is VALID [2018-11-23 12:18:10,916 INFO L256 TraceCheckUtils]: 4: Hoare triple {23095#true} call #t~ret14 := main(); {23095#true} is VALID [2018-11-23 12:18:10,916 INFO L273 TraceCheckUtils]: 5: Hoare triple {23095#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {23095#true} is VALID [2018-11-23 12:18:10,916 INFO L273 TraceCheckUtils]: 6: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,916 INFO L273 TraceCheckUtils]: 7: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,916 INFO L273 TraceCheckUtils]: 8: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,917 INFO L273 TraceCheckUtils]: 9: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,917 INFO L273 TraceCheckUtils]: 10: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,917 INFO L273 TraceCheckUtils]: 11: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,917 INFO L273 TraceCheckUtils]: 12: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,917 INFO L273 TraceCheckUtils]: 13: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,917 INFO L273 TraceCheckUtils]: 14: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,917 INFO L273 TraceCheckUtils]: 15: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,917 INFO L273 TraceCheckUtils]: 16: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,917 INFO L273 TraceCheckUtils]: 17: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,918 INFO L273 TraceCheckUtils]: 18: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,918 INFO L273 TraceCheckUtils]: 19: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,918 INFO L273 TraceCheckUtils]: 20: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,918 INFO L273 TraceCheckUtils]: 21: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,918 INFO L273 TraceCheckUtils]: 22: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,918 INFO L273 TraceCheckUtils]: 23: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,918 INFO L273 TraceCheckUtils]: 24: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,918 INFO L273 TraceCheckUtils]: 25: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,918 INFO L273 TraceCheckUtils]: 26: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,918 INFO L273 TraceCheckUtils]: 27: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,919 INFO L273 TraceCheckUtils]: 28: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,919 INFO L273 TraceCheckUtils]: 29: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,919 INFO L273 TraceCheckUtils]: 30: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,919 INFO L273 TraceCheckUtils]: 31: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,919 INFO L273 TraceCheckUtils]: 32: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,919 INFO L273 TraceCheckUtils]: 33: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,919 INFO L273 TraceCheckUtils]: 34: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,919 INFO L273 TraceCheckUtils]: 35: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,919 INFO L273 TraceCheckUtils]: 36: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,920 INFO L273 TraceCheckUtils]: 37: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,920 INFO L273 TraceCheckUtils]: 38: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,920 INFO L273 TraceCheckUtils]: 39: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,920 INFO L273 TraceCheckUtils]: 40: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,920 INFO L273 TraceCheckUtils]: 41: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,920 INFO L273 TraceCheckUtils]: 42: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,920 INFO L273 TraceCheckUtils]: 43: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,920 INFO L273 TraceCheckUtils]: 44: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,920 INFO L273 TraceCheckUtils]: 45: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,920 INFO L273 TraceCheckUtils]: 46: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,921 INFO L273 TraceCheckUtils]: 47: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,921 INFO L273 TraceCheckUtils]: 48: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,921 INFO L273 TraceCheckUtils]: 49: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,921 INFO L273 TraceCheckUtils]: 50: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,921 INFO L273 TraceCheckUtils]: 51: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,921 INFO L273 TraceCheckUtils]: 52: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,921 INFO L273 TraceCheckUtils]: 53: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,921 INFO L273 TraceCheckUtils]: 54: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,921 INFO L273 TraceCheckUtils]: 55: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,921 INFO L273 TraceCheckUtils]: 56: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,922 INFO L273 TraceCheckUtils]: 57: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,922 INFO L273 TraceCheckUtils]: 58: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,922 INFO L273 TraceCheckUtils]: 59: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,922 INFO L273 TraceCheckUtils]: 60: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,922 INFO L273 TraceCheckUtils]: 61: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,922 INFO L273 TraceCheckUtils]: 62: Hoare triple {23095#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {23095#true} is VALID [2018-11-23 12:18:10,922 INFO L273 TraceCheckUtils]: 63: Hoare triple {23095#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {23095#true} is VALID [2018-11-23 12:18:10,922 INFO L273 TraceCheckUtils]: 64: Hoare triple {23095#true} assume !(~i~1 < 40); {23095#true} is VALID [2018-11-23 12:18:10,922 INFO L256 TraceCheckUtils]: 65: Hoare triple {23095#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {23095#true} is VALID [2018-11-23 12:18:10,923 INFO L273 TraceCheckUtils]: 66: Hoare triple {23095#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {23328#(<= sep_~i~0 0)} is VALID [2018-11-23 12:18:10,923 INFO L273 TraceCheckUtils]: 67: Hoare triple {23328#(<= sep_~i~0 0)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23328#(<= sep_~i~0 0)} is VALID [2018-11-23 12:18:10,923 INFO L273 TraceCheckUtils]: 68: Hoare triple {23328#(<= 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; {23328#(<= sep_~i~0 0)} is VALID [2018-11-23 12:18:10,924 INFO L273 TraceCheckUtils]: 69: Hoare triple {23328#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23338#(<= sep_~i~0 1)} is VALID [2018-11-23 12:18:10,924 INFO L273 TraceCheckUtils]: 70: Hoare triple {23338#(<= sep_~i~0 1)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23338#(<= sep_~i~0 1)} is VALID [2018-11-23 12:18:10,924 INFO L273 TraceCheckUtils]: 71: Hoare triple {23338#(<= 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; {23338#(<= sep_~i~0 1)} is VALID [2018-11-23 12:18:10,925 INFO L273 TraceCheckUtils]: 72: Hoare triple {23338#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23348#(<= sep_~i~0 2)} is VALID [2018-11-23 12:18:10,925 INFO L273 TraceCheckUtils]: 73: Hoare triple {23348#(<= sep_~i~0 2)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23348#(<= sep_~i~0 2)} is VALID [2018-11-23 12:18:10,925 INFO L273 TraceCheckUtils]: 74: Hoare triple {23348#(<= 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; {23348#(<= sep_~i~0 2)} is VALID [2018-11-23 12:18:10,926 INFO L273 TraceCheckUtils]: 75: Hoare triple {23348#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23358#(<= sep_~i~0 3)} is VALID [2018-11-23 12:18:10,926 INFO L273 TraceCheckUtils]: 76: Hoare triple {23358#(<= sep_~i~0 3)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23358#(<= sep_~i~0 3)} is VALID [2018-11-23 12:18:10,926 INFO L273 TraceCheckUtils]: 77: Hoare triple {23358#(<= 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; {23358#(<= sep_~i~0 3)} is VALID [2018-11-23 12:18:10,927 INFO L273 TraceCheckUtils]: 78: Hoare triple {23358#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23368#(<= sep_~i~0 4)} is VALID [2018-11-23 12:18:10,927 INFO L273 TraceCheckUtils]: 79: Hoare triple {23368#(<= sep_~i~0 4)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23368#(<= sep_~i~0 4)} is VALID [2018-11-23 12:18:10,928 INFO L273 TraceCheckUtils]: 80: Hoare triple {23368#(<= 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; {23368#(<= sep_~i~0 4)} is VALID [2018-11-23 12:18:10,929 INFO L273 TraceCheckUtils]: 81: Hoare triple {23368#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23378#(<= sep_~i~0 5)} is VALID [2018-11-23 12:18:10,929 INFO L273 TraceCheckUtils]: 82: Hoare triple {23378#(<= sep_~i~0 5)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23378#(<= sep_~i~0 5)} is VALID [2018-11-23 12:18:10,930 INFO L273 TraceCheckUtils]: 83: Hoare triple {23378#(<= 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; {23378#(<= sep_~i~0 5)} is VALID [2018-11-23 12:18:10,930 INFO L273 TraceCheckUtils]: 84: Hoare triple {23378#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23388#(<= sep_~i~0 6)} is VALID [2018-11-23 12:18:10,931 INFO L273 TraceCheckUtils]: 85: Hoare triple {23388#(<= sep_~i~0 6)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23388#(<= sep_~i~0 6)} is VALID [2018-11-23 12:18:10,931 INFO L273 TraceCheckUtils]: 86: Hoare triple {23388#(<= 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; {23388#(<= sep_~i~0 6)} is VALID [2018-11-23 12:18:10,932 INFO L273 TraceCheckUtils]: 87: Hoare triple {23388#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23398#(<= sep_~i~0 7)} is VALID [2018-11-23 12:18:10,932 INFO L273 TraceCheckUtils]: 88: Hoare triple {23398#(<= sep_~i~0 7)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23398#(<= sep_~i~0 7)} is VALID [2018-11-23 12:18:10,933 INFO L273 TraceCheckUtils]: 89: Hoare triple {23398#(<= 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; {23398#(<= sep_~i~0 7)} is VALID [2018-11-23 12:18:10,933 INFO L273 TraceCheckUtils]: 90: Hoare triple {23398#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23408#(<= sep_~i~0 8)} is VALID [2018-11-23 12:18:10,934 INFO L273 TraceCheckUtils]: 91: Hoare triple {23408#(<= sep_~i~0 8)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23408#(<= sep_~i~0 8)} is VALID [2018-11-23 12:18:10,934 INFO L273 TraceCheckUtils]: 92: Hoare triple {23408#(<= 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; {23408#(<= sep_~i~0 8)} is VALID [2018-11-23 12:18:10,935 INFO L273 TraceCheckUtils]: 93: Hoare triple {23408#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23418#(<= sep_~i~0 9)} is VALID [2018-11-23 12:18:10,936 INFO L273 TraceCheckUtils]: 94: Hoare triple {23418#(<= sep_~i~0 9)} assume !(~i~0 < 40); {23096#false} is VALID [2018-11-23 12:18:10,936 INFO L273 TraceCheckUtils]: 95: Hoare triple {23096#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {23096#false} is VALID [2018-11-23 12:18:10,936 INFO L273 TraceCheckUtils]: 96: Hoare triple {23096#false} assume true; {23096#false} is VALID [2018-11-23 12:18:10,936 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {23096#false} {23095#true} #75#return; {23096#false} is VALID [2018-11-23 12:18:10,936 INFO L273 TraceCheckUtils]: 98: Hoare triple {23096#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); {23096#false} is VALID [2018-11-23 12:18:10,936 INFO L256 TraceCheckUtils]: 99: Hoare triple {23096#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {23096#false} is VALID [2018-11-23 12:18:10,937 INFO L273 TraceCheckUtils]: 100: Hoare triple {23096#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {23096#false} is VALID [2018-11-23 12:18:10,937 INFO L273 TraceCheckUtils]: 101: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,937 INFO L273 TraceCheckUtils]: 102: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,937 INFO L273 TraceCheckUtils]: 103: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,937 INFO L273 TraceCheckUtils]: 104: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,937 INFO L273 TraceCheckUtils]: 105: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,938 INFO L273 TraceCheckUtils]: 106: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,938 INFO L273 TraceCheckUtils]: 107: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,938 INFO L273 TraceCheckUtils]: 108: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,938 INFO L273 TraceCheckUtils]: 109: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,938 INFO L273 TraceCheckUtils]: 110: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,938 INFO L273 TraceCheckUtils]: 111: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,939 INFO L273 TraceCheckUtils]: 112: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,939 INFO L273 TraceCheckUtils]: 113: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,939 INFO L273 TraceCheckUtils]: 114: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,939 INFO L273 TraceCheckUtils]: 115: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,939 INFO L273 TraceCheckUtils]: 116: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,939 INFO L273 TraceCheckUtils]: 117: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,939 INFO L273 TraceCheckUtils]: 118: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,939 INFO L273 TraceCheckUtils]: 119: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,940 INFO L273 TraceCheckUtils]: 120: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,940 INFO L273 TraceCheckUtils]: 121: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,940 INFO L273 TraceCheckUtils]: 122: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,940 INFO L273 TraceCheckUtils]: 123: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,940 INFO L273 TraceCheckUtils]: 124: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,940 INFO L273 TraceCheckUtils]: 125: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,940 INFO L273 TraceCheckUtils]: 126: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,940 INFO L273 TraceCheckUtils]: 127: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,940 INFO L273 TraceCheckUtils]: 128: Hoare triple {23096#false} assume !(~i~0 < 40); {23096#false} is VALID [2018-11-23 12:18:10,940 INFO L273 TraceCheckUtils]: 129: Hoare triple {23096#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {23096#false} is VALID [2018-11-23 12:18:10,941 INFO L273 TraceCheckUtils]: 130: Hoare triple {23096#false} assume true; {23096#false} is VALID [2018-11-23 12:18:10,941 INFO L268 TraceCheckUtils]: 131: Hoare quadruple {23096#false} {23096#false} #77#return; {23096#false} is VALID [2018-11-23 12:18:10,941 INFO L273 TraceCheckUtils]: 132: Hoare triple {23096#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; {23096#false} is VALID [2018-11-23 12:18:10,941 INFO L273 TraceCheckUtils]: 133: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:18:10,941 INFO L273 TraceCheckUtils]: 134: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:18:10,941 INFO L273 TraceCheckUtils]: 135: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:18:10,941 INFO L273 TraceCheckUtils]: 136: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:18:10,941 INFO L273 TraceCheckUtils]: 137: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:18:10,941 INFO L273 TraceCheckUtils]: 138: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:18:10,941 INFO L273 TraceCheckUtils]: 139: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:18:10,942 INFO L273 TraceCheckUtils]: 140: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:18:10,942 INFO L273 TraceCheckUtils]: 141: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:18:10,942 INFO L273 TraceCheckUtils]: 142: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:18:10,942 INFO L273 TraceCheckUtils]: 143: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:18:10,942 INFO L273 TraceCheckUtils]: 144: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:18:10,942 INFO L273 TraceCheckUtils]: 145: Hoare triple {23096#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {23096#false} is VALID [2018-11-23 12:18:10,942 INFO L273 TraceCheckUtils]: 146: Hoare triple {23096#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {23096#false} is VALID [2018-11-23 12:18:10,942 INFO L273 TraceCheckUtils]: 147: Hoare triple {23096#false} assume !(~i~2 < 39); {23096#false} is VALID [2018-11-23 12:18:10,942 INFO L273 TraceCheckUtils]: 148: Hoare triple {23096#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {23096#false} is VALID [2018-11-23 12:18:10,943 INFO L256 TraceCheckUtils]: 149: Hoare triple {23096#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {23096#false} is VALID [2018-11-23 12:18:10,943 INFO L273 TraceCheckUtils]: 150: Hoare triple {23096#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {23096#false} is VALID [2018-11-23 12:18:10,943 INFO L273 TraceCheckUtils]: 151: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,943 INFO L273 TraceCheckUtils]: 152: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,943 INFO L273 TraceCheckUtils]: 153: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,943 INFO L273 TraceCheckUtils]: 154: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,943 INFO L273 TraceCheckUtils]: 155: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,943 INFO L273 TraceCheckUtils]: 156: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,943 INFO L273 TraceCheckUtils]: 157: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,943 INFO L273 TraceCheckUtils]: 158: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,944 INFO L273 TraceCheckUtils]: 159: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,944 INFO L273 TraceCheckUtils]: 160: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,944 INFO L273 TraceCheckUtils]: 161: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,944 INFO L273 TraceCheckUtils]: 162: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,944 INFO L273 TraceCheckUtils]: 163: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,944 INFO L273 TraceCheckUtils]: 164: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,944 INFO L273 TraceCheckUtils]: 165: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,944 INFO L273 TraceCheckUtils]: 166: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,944 INFO L273 TraceCheckUtils]: 167: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,944 INFO L273 TraceCheckUtils]: 168: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,945 INFO L273 TraceCheckUtils]: 169: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,945 INFO L273 TraceCheckUtils]: 170: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,945 INFO L273 TraceCheckUtils]: 171: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,945 INFO L273 TraceCheckUtils]: 172: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,945 INFO L273 TraceCheckUtils]: 173: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,945 INFO L273 TraceCheckUtils]: 174: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,945 INFO L273 TraceCheckUtils]: 175: Hoare triple {23096#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {23096#false} is VALID [2018-11-23 12:18:10,945 INFO L273 TraceCheckUtils]: 176: Hoare triple {23096#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {23096#false} is VALID [2018-11-23 12:18:10,945 INFO L273 TraceCheckUtils]: 177: Hoare triple {23096#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23096#false} is VALID [2018-11-23 12:18:10,945 INFO L273 TraceCheckUtils]: 178: Hoare triple {23096#false} assume !(~i~0 < 40); {23096#false} is VALID [2018-11-23 12:18:10,946 INFO L273 TraceCheckUtils]: 179: Hoare triple {23096#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {23096#false} is VALID [2018-11-23 12:18:10,946 INFO L273 TraceCheckUtils]: 180: Hoare triple {23096#false} assume true; {23096#false} is VALID [2018-11-23 12:18:10,946 INFO L268 TraceCheckUtils]: 181: Hoare quadruple {23096#false} {23096#false} #79#return; {23096#false} is VALID [2018-11-23 12:18:10,946 INFO L273 TraceCheckUtils]: 182: Hoare triple {23096#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {23096#false} is VALID [2018-11-23 12:18:10,946 INFO L273 TraceCheckUtils]: 183: Hoare triple {23096#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {23096#false} is VALID [2018-11-23 12:18:10,946 INFO L273 TraceCheckUtils]: 184: Hoare triple {23096#false} assume !false; {23096#false} is VALID [2018-11-23 12:18:10,959 INFO L134 CoverageAnalysis]: Checked inductivity of 2039 backedges. 526 proven. 117 refuted. 0 times theorem prover too weak. 1396 trivial. 0 not checked. [2018-11-23 12:18:10,985 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:10,985 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [32, 12] total 42 [2018-11-23 12:18:10,986 INFO L78 Accepts]: Start accepts. Automaton has 42 states. Word has length 185 [2018-11-23 12:18:10,987 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:10,987 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 42 states. [2018-11-23 12:18:11,128 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:11,128 INFO L459 AbstractCegarLoop]: Interpolant automaton has 42 states [2018-11-23 12:18:11,128 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2018-11-23 12:18:11,129 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=561, Invalid=1161, Unknown=0, NotChecked=0, Total=1722 [2018-11-23 12:18:11,130 INFO L87 Difference]: Start difference. First operand 122 states and 135 transitions. Second operand 42 states. [2018-11-23 12:18:12,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:12,259 INFO L93 Difference]: Finished difference Result 187 states and 219 transitions. [2018-11-23 12:18:12,259 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 42 states. [2018-11-23 12:18:12,259 INFO L78 Accepts]: Start accepts. Automaton has 42 states. Word has length 185 [2018-11-23 12:18:12,259 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:12,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 12:18:12,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 160 transitions. [2018-11-23 12:18:12,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 12:18:12,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 160 transitions. [2018-11-23 12:18:12,262 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 42 states and 160 transitions. [2018-11-23 12:18:12,425 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 160 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:12,427 INFO L225 Difference]: With dead ends: 187 [2018-11-23 12:18:12,428 INFO L226 Difference]: Without dead ends: 130 [2018-11-23 12:18:12,429 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 216 GetRequests, 176 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 290 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=561, Invalid=1161, Unknown=0, NotChecked=0, Total=1722 [2018-11-23 12:18:12,429 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2018-11-23 12:18:12,491 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 127. [2018-11-23 12:18:12,491 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:12,491 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand 127 states. [2018-11-23 12:18:12,491 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 127 states. [2018-11-23 12:18:12,492 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 127 states. [2018-11-23 12:18:12,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:12,495 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2018-11-23 12:18:12,495 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2018-11-23 12:18:12,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:12,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:12,496 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand 130 states. [2018-11-23 12:18:12,496 INFO L87 Difference]: Start difference. First operand 127 states. Second operand 130 states. [2018-11-23 12:18:12,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:12,499 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2018-11-23 12:18:12,499 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2018-11-23 12:18:12,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:12,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:12,500 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:12,500 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:12,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 127 states. [2018-11-23 12:18:12,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 141 transitions. [2018-11-23 12:18:12,503 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 141 transitions. Word has length 185 [2018-11-23 12:18:12,503 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:12,503 INFO L480 AbstractCegarLoop]: Abstraction has 127 states and 141 transitions. [2018-11-23 12:18:12,503 INFO L481 AbstractCegarLoop]: Interpolant automaton has 42 states. [2018-11-23 12:18:12,503 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 141 transitions. [2018-11-23 12:18:12,504 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 197 [2018-11-23 12:18:12,504 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:12,505 INFO L402 BasicCegarLoop]: trace histogram [30, 30, 30, 30, 30, 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:18:12,505 INFO L423 AbstractCegarLoop]: === Iteration 34 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:12,505 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:12,505 INFO L82 PathProgramCache]: Analyzing trace with hash -1389481148, now seen corresponding path program 30 times [2018-11-23 12:18:12,505 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:12,505 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:12,506 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:12,506 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:12,506 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:12,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:13,454 INFO L256 TraceCheckUtils]: 0: Hoare triple {24403#true} call ULTIMATE.init(); {24403#true} is VALID [2018-11-23 12:18:13,455 INFO L273 TraceCheckUtils]: 1: Hoare triple {24403#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {24403#true} is VALID [2018-11-23 12:18:13,455 INFO L273 TraceCheckUtils]: 2: Hoare triple {24403#true} assume true; {24403#true} is VALID [2018-11-23 12:18:13,455 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {24403#true} {24403#true} #71#return; {24403#true} is VALID [2018-11-23 12:18:13,455 INFO L256 TraceCheckUtils]: 4: Hoare triple {24403#true} call #t~ret14 := main(); {24403#true} is VALID [2018-11-23 12:18:13,456 INFO L273 TraceCheckUtils]: 5: Hoare triple {24403#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {24405#(= main_~i~1 0)} is VALID [2018-11-23 12:18:13,456 INFO L273 TraceCheckUtils]: 6: Hoare triple {24405#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24405#(= main_~i~1 0)} is VALID [2018-11-23 12:18:13,457 INFO L273 TraceCheckUtils]: 7: Hoare triple {24405#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24406#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:13,457 INFO L273 TraceCheckUtils]: 8: Hoare triple {24406#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24406#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:13,458 INFO L273 TraceCheckUtils]: 9: Hoare triple {24406#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24407#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:13,458 INFO L273 TraceCheckUtils]: 10: Hoare triple {24407#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24407#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:13,458 INFO L273 TraceCheckUtils]: 11: Hoare triple {24407#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24408#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:13,459 INFO L273 TraceCheckUtils]: 12: Hoare triple {24408#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24408#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:13,459 INFO L273 TraceCheckUtils]: 13: Hoare triple {24408#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24409#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:13,460 INFO L273 TraceCheckUtils]: 14: Hoare triple {24409#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24409#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:13,461 INFO L273 TraceCheckUtils]: 15: Hoare triple {24409#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24410#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:13,461 INFO L273 TraceCheckUtils]: 16: Hoare triple {24410#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24410#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:13,462 INFO L273 TraceCheckUtils]: 17: Hoare triple {24410#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24411#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:13,462 INFO L273 TraceCheckUtils]: 18: Hoare triple {24411#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24411#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:13,463 INFO L273 TraceCheckUtils]: 19: Hoare triple {24411#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24412#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:13,463 INFO L273 TraceCheckUtils]: 20: Hoare triple {24412#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24412#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:13,464 INFO L273 TraceCheckUtils]: 21: Hoare triple {24412#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24413#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:13,464 INFO L273 TraceCheckUtils]: 22: Hoare triple {24413#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24413#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:13,465 INFO L273 TraceCheckUtils]: 23: Hoare triple {24413#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24414#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:13,466 INFO L273 TraceCheckUtils]: 24: Hoare triple {24414#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24414#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:13,466 INFO L273 TraceCheckUtils]: 25: Hoare triple {24414#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24415#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:13,467 INFO L273 TraceCheckUtils]: 26: Hoare triple {24415#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24415#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:13,467 INFO L273 TraceCheckUtils]: 27: Hoare triple {24415#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24416#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:13,468 INFO L273 TraceCheckUtils]: 28: Hoare triple {24416#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24416#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:13,469 INFO L273 TraceCheckUtils]: 29: Hoare triple {24416#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24417#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:13,469 INFO L273 TraceCheckUtils]: 30: Hoare triple {24417#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24417#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:13,470 INFO L273 TraceCheckUtils]: 31: Hoare triple {24417#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24418#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:13,470 INFO L273 TraceCheckUtils]: 32: Hoare triple {24418#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24418#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:13,471 INFO L273 TraceCheckUtils]: 33: Hoare triple {24418#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24419#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:13,471 INFO L273 TraceCheckUtils]: 34: Hoare triple {24419#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24419#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:13,472 INFO L273 TraceCheckUtils]: 35: Hoare triple {24419#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24420#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:13,472 INFO L273 TraceCheckUtils]: 36: Hoare triple {24420#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24420#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:13,473 INFO L273 TraceCheckUtils]: 37: Hoare triple {24420#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24421#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:13,474 INFO L273 TraceCheckUtils]: 38: Hoare triple {24421#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24421#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:13,474 INFO L273 TraceCheckUtils]: 39: Hoare triple {24421#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24422#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:13,475 INFO L273 TraceCheckUtils]: 40: Hoare triple {24422#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24422#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:13,475 INFO L273 TraceCheckUtils]: 41: Hoare triple {24422#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24423#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:13,476 INFO L273 TraceCheckUtils]: 42: Hoare triple {24423#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24423#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:13,477 INFO L273 TraceCheckUtils]: 43: Hoare triple {24423#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24424#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:13,477 INFO L273 TraceCheckUtils]: 44: Hoare triple {24424#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24424#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:13,478 INFO L273 TraceCheckUtils]: 45: Hoare triple {24424#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24425#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:13,478 INFO L273 TraceCheckUtils]: 46: Hoare triple {24425#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24425#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:13,479 INFO L273 TraceCheckUtils]: 47: Hoare triple {24425#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24426#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:13,479 INFO L273 TraceCheckUtils]: 48: Hoare triple {24426#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24426#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:13,480 INFO L273 TraceCheckUtils]: 49: Hoare triple {24426#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24427#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:13,480 INFO L273 TraceCheckUtils]: 50: Hoare triple {24427#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24427#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:13,481 INFO L273 TraceCheckUtils]: 51: Hoare triple {24427#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24428#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:13,482 INFO L273 TraceCheckUtils]: 52: Hoare triple {24428#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24428#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:13,482 INFO L273 TraceCheckUtils]: 53: Hoare triple {24428#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24429#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:13,483 INFO L273 TraceCheckUtils]: 54: Hoare triple {24429#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24429#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:13,483 INFO L273 TraceCheckUtils]: 55: Hoare triple {24429#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24430#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:13,484 INFO L273 TraceCheckUtils]: 56: Hoare triple {24430#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24430#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:13,485 INFO L273 TraceCheckUtils]: 57: Hoare triple {24430#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24431#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:13,485 INFO L273 TraceCheckUtils]: 58: Hoare triple {24431#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24431#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:13,486 INFO L273 TraceCheckUtils]: 59: Hoare triple {24431#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24432#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:13,486 INFO L273 TraceCheckUtils]: 60: Hoare triple {24432#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24432#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:13,487 INFO L273 TraceCheckUtils]: 61: Hoare triple {24432#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24433#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:13,487 INFO L273 TraceCheckUtils]: 62: Hoare triple {24433#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24433#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:13,488 INFO L273 TraceCheckUtils]: 63: Hoare triple {24433#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24434#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:13,489 INFO L273 TraceCheckUtils]: 64: Hoare triple {24434#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24434#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:13,489 INFO L273 TraceCheckUtils]: 65: Hoare triple {24434#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24435#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:13,490 INFO L273 TraceCheckUtils]: 66: Hoare triple {24435#(<= main_~i~1 30)} assume !(~i~1 < 40); {24404#false} is VALID [2018-11-23 12:18:13,490 INFO L256 TraceCheckUtils]: 67: Hoare triple {24404#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {24403#true} is VALID [2018-11-23 12:18:13,490 INFO L273 TraceCheckUtils]: 68: Hoare triple {24403#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {24403#true} is VALID [2018-11-23 12:18:13,490 INFO L273 TraceCheckUtils]: 69: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,491 INFO L273 TraceCheckUtils]: 70: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,491 INFO L273 TraceCheckUtils]: 71: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,491 INFO L273 TraceCheckUtils]: 72: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,491 INFO L273 TraceCheckUtils]: 73: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,491 INFO L273 TraceCheckUtils]: 74: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,491 INFO L273 TraceCheckUtils]: 75: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,492 INFO L273 TraceCheckUtils]: 76: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,492 INFO L273 TraceCheckUtils]: 77: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,492 INFO L273 TraceCheckUtils]: 78: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,492 INFO L273 TraceCheckUtils]: 79: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,492 INFO L273 TraceCheckUtils]: 80: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,492 INFO L273 TraceCheckUtils]: 81: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,493 INFO L273 TraceCheckUtils]: 82: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,493 INFO L273 TraceCheckUtils]: 83: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,493 INFO L273 TraceCheckUtils]: 84: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,493 INFO L273 TraceCheckUtils]: 85: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,493 INFO L273 TraceCheckUtils]: 86: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,493 INFO L273 TraceCheckUtils]: 87: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,493 INFO L273 TraceCheckUtils]: 88: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,494 INFO L273 TraceCheckUtils]: 89: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,494 INFO L273 TraceCheckUtils]: 90: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,494 INFO L273 TraceCheckUtils]: 91: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,494 INFO L273 TraceCheckUtils]: 92: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,494 INFO L273 TraceCheckUtils]: 93: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,494 INFO L273 TraceCheckUtils]: 94: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,495 INFO L273 TraceCheckUtils]: 95: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,495 INFO L273 TraceCheckUtils]: 96: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,495 INFO L273 TraceCheckUtils]: 97: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,495 INFO L273 TraceCheckUtils]: 98: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,495 INFO L273 TraceCheckUtils]: 99: Hoare triple {24403#true} assume !(~i~0 < 40); {24403#true} is VALID [2018-11-23 12:18:13,495 INFO L273 TraceCheckUtils]: 100: Hoare triple {24403#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {24403#true} is VALID [2018-11-23 12:18:13,496 INFO L273 TraceCheckUtils]: 101: Hoare triple {24403#true} assume true; {24403#true} is VALID [2018-11-23 12:18:13,496 INFO L268 TraceCheckUtils]: 102: Hoare quadruple {24403#true} {24404#false} #75#return; {24404#false} is VALID [2018-11-23 12:18:13,496 INFO L273 TraceCheckUtils]: 103: Hoare triple {24404#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); {24404#false} is VALID [2018-11-23 12:18:13,496 INFO L256 TraceCheckUtils]: 104: Hoare triple {24404#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {24403#true} is VALID [2018-11-23 12:18:13,496 INFO L273 TraceCheckUtils]: 105: Hoare triple {24403#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {24403#true} is VALID [2018-11-23 12:18:13,496 INFO L273 TraceCheckUtils]: 106: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,496 INFO L273 TraceCheckUtils]: 107: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,496 INFO L273 TraceCheckUtils]: 108: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,497 INFO L273 TraceCheckUtils]: 109: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,497 INFO L273 TraceCheckUtils]: 110: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,497 INFO L273 TraceCheckUtils]: 111: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,497 INFO L273 TraceCheckUtils]: 112: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,497 INFO L273 TraceCheckUtils]: 113: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,497 INFO L273 TraceCheckUtils]: 114: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,497 INFO L273 TraceCheckUtils]: 115: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,497 INFO L273 TraceCheckUtils]: 116: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,497 INFO L273 TraceCheckUtils]: 117: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,497 INFO L273 TraceCheckUtils]: 118: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,498 INFO L273 TraceCheckUtils]: 119: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,498 INFO L273 TraceCheckUtils]: 120: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,498 INFO L273 TraceCheckUtils]: 121: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,498 INFO L273 TraceCheckUtils]: 122: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,498 INFO L273 TraceCheckUtils]: 123: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,498 INFO L273 TraceCheckUtils]: 124: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,498 INFO L273 TraceCheckUtils]: 125: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,498 INFO L273 TraceCheckUtils]: 126: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,498 INFO L273 TraceCheckUtils]: 127: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,498 INFO L273 TraceCheckUtils]: 128: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,499 INFO L273 TraceCheckUtils]: 129: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,499 INFO L273 TraceCheckUtils]: 130: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,499 INFO L273 TraceCheckUtils]: 131: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,499 INFO L273 TraceCheckUtils]: 132: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,499 INFO L273 TraceCheckUtils]: 133: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,499 INFO L273 TraceCheckUtils]: 134: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,499 INFO L273 TraceCheckUtils]: 135: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,499 INFO L273 TraceCheckUtils]: 136: Hoare triple {24403#true} assume !(~i~0 < 40); {24403#true} is VALID [2018-11-23 12:18:13,499 INFO L273 TraceCheckUtils]: 137: Hoare triple {24403#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {24403#true} is VALID [2018-11-23 12:18:13,499 INFO L273 TraceCheckUtils]: 138: Hoare triple {24403#true} assume true; {24403#true} is VALID [2018-11-23 12:18:13,500 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {24403#true} {24404#false} #77#return; {24404#false} is VALID [2018-11-23 12:18:13,500 INFO L273 TraceCheckUtils]: 140: Hoare triple {24404#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; {24404#false} is VALID [2018-11-23 12:18:13,500 INFO L273 TraceCheckUtils]: 141: Hoare triple {24404#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24404#false} is VALID [2018-11-23 12:18:13,500 INFO L273 TraceCheckUtils]: 142: Hoare triple {24404#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24404#false} is VALID [2018-11-23 12:18:13,500 INFO L273 TraceCheckUtils]: 143: Hoare triple {24404#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24404#false} is VALID [2018-11-23 12:18:13,500 INFO L273 TraceCheckUtils]: 144: Hoare triple {24404#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24404#false} is VALID [2018-11-23 12:18:13,500 INFO L273 TraceCheckUtils]: 145: Hoare triple {24404#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24404#false} is VALID [2018-11-23 12:18:13,500 INFO L273 TraceCheckUtils]: 146: Hoare triple {24404#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24404#false} is VALID [2018-11-23 12:18:13,500 INFO L273 TraceCheckUtils]: 147: Hoare triple {24404#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24404#false} is VALID [2018-11-23 12:18:13,500 INFO L273 TraceCheckUtils]: 148: Hoare triple {24404#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24404#false} is VALID [2018-11-23 12:18:13,501 INFO L273 TraceCheckUtils]: 149: Hoare triple {24404#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24404#false} is VALID [2018-11-23 12:18:13,501 INFO L273 TraceCheckUtils]: 150: Hoare triple {24404#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24404#false} is VALID [2018-11-23 12:18:13,501 INFO L273 TraceCheckUtils]: 151: Hoare triple {24404#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24404#false} is VALID [2018-11-23 12:18:13,501 INFO L273 TraceCheckUtils]: 152: Hoare triple {24404#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24404#false} is VALID [2018-11-23 12:18:13,501 INFO L273 TraceCheckUtils]: 153: Hoare triple {24404#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24404#false} is VALID [2018-11-23 12:18:13,501 INFO L273 TraceCheckUtils]: 154: Hoare triple {24404#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24404#false} is VALID [2018-11-23 12:18:13,501 INFO L273 TraceCheckUtils]: 155: Hoare triple {24404#false} assume !(~i~2 < 39); {24404#false} is VALID [2018-11-23 12:18:13,501 INFO L273 TraceCheckUtils]: 156: Hoare triple {24404#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {24404#false} is VALID [2018-11-23 12:18:13,501 INFO L256 TraceCheckUtils]: 157: Hoare triple {24404#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {24403#true} is VALID [2018-11-23 12:18:13,501 INFO L273 TraceCheckUtils]: 158: Hoare triple {24403#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {24403#true} is VALID [2018-11-23 12:18:13,502 INFO L273 TraceCheckUtils]: 159: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,502 INFO L273 TraceCheckUtils]: 160: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,502 INFO L273 TraceCheckUtils]: 161: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,502 INFO L273 TraceCheckUtils]: 162: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,502 INFO L273 TraceCheckUtils]: 163: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,502 INFO L273 TraceCheckUtils]: 164: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,502 INFO L273 TraceCheckUtils]: 165: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,502 INFO L273 TraceCheckUtils]: 166: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,502 INFO L273 TraceCheckUtils]: 167: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,502 INFO L273 TraceCheckUtils]: 168: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,503 INFO L273 TraceCheckUtils]: 169: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,503 INFO L273 TraceCheckUtils]: 170: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,503 INFO L273 TraceCheckUtils]: 171: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,503 INFO L273 TraceCheckUtils]: 172: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,503 INFO L273 TraceCheckUtils]: 173: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,503 INFO L273 TraceCheckUtils]: 174: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,503 INFO L273 TraceCheckUtils]: 175: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,503 INFO L273 TraceCheckUtils]: 176: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,503 INFO L273 TraceCheckUtils]: 177: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,504 INFO L273 TraceCheckUtils]: 178: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,504 INFO L273 TraceCheckUtils]: 179: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,504 INFO L273 TraceCheckUtils]: 180: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,504 INFO L273 TraceCheckUtils]: 181: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,504 INFO L273 TraceCheckUtils]: 182: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,504 INFO L273 TraceCheckUtils]: 183: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,504 INFO L273 TraceCheckUtils]: 184: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,504 INFO L273 TraceCheckUtils]: 185: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,504 INFO L273 TraceCheckUtils]: 186: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:13,504 INFO L273 TraceCheckUtils]: 187: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:13,505 INFO L273 TraceCheckUtils]: 188: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:13,505 INFO L273 TraceCheckUtils]: 189: Hoare triple {24403#true} assume !(~i~0 < 40); {24403#true} is VALID [2018-11-23 12:18:13,505 INFO L273 TraceCheckUtils]: 190: Hoare triple {24403#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {24403#true} is VALID [2018-11-23 12:18:13,505 INFO L273 TraceCheckUtils]: 191: Hoare triple {24403#true} assume true; {24403#true} is VALID [2018-11-23 12:18:13,505 INFO L268 TraceCheckUtils]: 192: Hoare quadruple {24403#true} {24404#false} #79#return; {24404#false} is VALID [2018-11-23 12:18:13,505 INFO L273 TraceCheckUtils]: 193: Hoare triple {24404#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {24404#false} is VALID [2018-11-23 12:18:13,505 INFO L273 TraceCheckUtils]: 194: Hoare triple {24404#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {24404#false} is VALID [2018-11-23 12:18:13,505 INFO L273 TraceCheckUtils]: 195: Hoare triple {24404#false} assume !false; {24404#false} is VALID [2018-11-23 12:18:13,522 INFO L134 CoverageAnalysis]: Checked inductivity of 2359 backedges. 0 proven. 900 refuted. 0 times theorem prover too weak. 1459 trivial. 0 not checked. [2018-11-23 12:18:13,522 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:13,522 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:18:13,530 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:18:14,729 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 17 check-sat command(s) [2018-11-23 12:18:14,729 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:14,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:14,771 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:15,353 INFO L256 TraceCheckUtils]: 0: Hoare triple {24403#true} call ULTIMATE.init(); {24403#true} is VALID [2018-11-23 12:18:15,353 INFO L273 TraceCheckUtils]: 1: Hoare triple {24403#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {24403#true} is VALID [2018-11-23 12:18:15,353 INFO L273 TraceCheckUtils]: 2: Hoare triple {24403#true} assume true; {24403#true} is VALID [2018-11-23 12:18:15,353 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {24403#true} {24403#true} #71#return; {24403#true} is VALID [2018-11-23 12:18:15,354 INFO L256 TraceCheckUtils]: 4: Hoare triple {24403#true} call #t~ret14 := main(); {24403#true} is VALID [2018-11-23 12:18:15,354 INFO L273 TraceCheckUtils]: 5: Hoare triple {24403#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {24403#true} is VALID [2018-11-23 12:18:15,354 INFO L273 TraceCheckUtils]: 6: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,354 INFO L273 TraceCheckUtils]: 7: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,354 INFO L273 TraceCheckUtils]: 8: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,354 INFO L273 TraceCheckUtils]: 9: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,354 INFO L273 TraceCheckUtils]: 10: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,355 INFO L273 TraceCheckUtils]: 11: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,355 INFO L273 TraceCheckUtils]: 12: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,355 INFO L273 TraceCheckUtils]: 13: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,355 INFO L273 TraceCheckUtils]: 14: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,355 INFO L273 TraceCheckUtils]: 15: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,355 INFO L273 TraceCheckUtils]: 16: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,355 INFO L273 TraceCheckUtils]: 17: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,355 INFO L273 TraceCheckUtils]: 18: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,355 INFO L273 TraceCheckUtils]: 19: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,355 INFO L273 TraceCheckUtils]: 20: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,356 INFO L273 TraceCheckUtils]: 21: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,356 INFO L273 TraceCheckUtils]: 22: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,356 INFO L273 TraceCheckUtils]: 23: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,356 INFO L273 TraceCheckUtils]: 24: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,356 INFO L273 TraceCheckUtils]: 25: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,356 INFO L273 TraceCheckUtils]: 26: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,356 INFO L273 TraceCheckUtils]: 27: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,356 INFO L273 TraceCheckUtils]: 28: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,356 INFO L273 TraceCheckUtils]: 29: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,356 INFO L273 TraceCheckUtils]: 30: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,357 INFO L273 TraceCheckUtils]: 31: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,357 INFO L273 TraceCheckUtils]: 32: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,357 INFO L273 TraceCheckUtils]: 33: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,357 INFO L273 TraceCheckUtils]: 34: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,357 INFO L273 TraceCheckUtils]: 35: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,357 INFO L273 TraceCheckUtils]: 36: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,357 INFO L273 TraceCheckUtils]: 37: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,357 INFO L273 TraceCheckUtils]: 38: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,357 INFO L273 TraceCheckUtils]: 39: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,357 INFO L273 TraceCheckUtils]: 40: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,358 INFO L273 TraceCheckUtils]: 41: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,358 INFO L273 TraceCheckUtils]: 42: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,358 INFO L273 TraceCheckUtils]: 43: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,358 INFO L273 TraceCheckUtils]: 44: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,358 INFO L273 TraceCheckUtils]: 45: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,358 INFO L273 TraceCheckUtils]: 46: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,358 INFO L273 TraceCheckUtils]: 47: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,358 INFO L273 TraceCheckUtils]: 48: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,358 INFO L273 TraceCheckUtils]: 49: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,358 INFO L273 TraceCheckUtils]: 50: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,359 INFO L273 TraceCheckUtils]: 51: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,359 INFO L273 TraceCheckUtils]: 52: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,359 INFO L273 TraceCheckUtils]: 53: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,359 INFO L273 TraceCheckUtils]: 54: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,359 INFO L273 TraceCheckUtils]: 55: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,359 INFO L273 TraceCheckUtils]: 56: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,359 INFO L273 TraceCheckUtils]: 57: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,359 INFO L273 TraceCheckUtils]: 58: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,359 INFO L273 TraceCheckUtils]: 59: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,359 INFO L273 TraceCheckUtils]: 60: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,360 INFO L273 TraceCheckUtils]: 61: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,360 INFO L273 TraceCheckUtils]: 62: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,360 INFO L273 TraceCheckUtils]: 63: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,360 INFO L273 TraceCheckUtils]: 64: Hoare triple {24403#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {24403#true} is VALID [2018-11-23 12:18:15,360 INFO L273 TraceCheckUtils]: 65: Hoare triple {24403#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {24403#true} is VALID [2018-11-23 12:18:15,360 INFO L273 TraceCheckUtils]: 66: Hoare triple {24403#true} assume !(~i~1 < 40); {24403#true} is VALID [2018-11-23 12:18:15,360 INFO L256 TraceCheckUtils]: 67: Hoare triple {24403#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {24403#true} is VALID [2018-11-23 12:18:15,360 INFO L273 TraceCheckUtils]: 68: Hoare triple {24403#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {24403#true} is VALID [2018-11-23 12:18:15,360 INFO L273 TraceCheckUtils]: 69: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,360 INFO L273 TraceCheckUtils]: 70: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,361 INFO L273 TraceCheckUtils]: 71: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,361 INFO L273 TraceCheckUtils]: 72: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,361 INFO L273 TraceCheckUtils]: 73: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,361 INFO L273 TraceCheckUtils]: 74: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,361 INFO L273 TraceCheckUtils]: 75: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,361 INFO L273 TraceCheckUtils]: 76: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,361 INFO L273 TraceCheckUtils]: 77: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,361 INFO L273 TraceCheckUtils]: 78: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,361 INFO L273 TraceCheckUtils]: 79: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,361 INFO L273 TraceCheckUtils]: 80: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,362 INFO L273 TraceCheckUtils]: 81: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,362 INFO L273 TraceCheckUtils]: 82: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,362 INFO L273 TraceCheckUtils]: 83: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,362 INFO L273 TraceCheckUtils]: 84: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,362 INFO L273 TraceCheckUtils]: 85: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,362 INFO L273 TraceCheckUtils]: 86: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,362 INFO L273 TraceCheckUtils]: 87: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,362 INFO L273 TraceCheckUtils]: 88: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,362 INFO L273 TraceCheckUtils]: 89: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,362 INFO L273 TraceCheckUtils]: 90: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,363 INFO L273 TraceCheckUtils]: 91: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,363 INFO L273 TraceCheckUtils]: 92: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,363 INFO L273 TraceCheckUtils]: 93: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,363 INFO L273 TraceCheckUtils]: 94: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,363 INFO L273 TraceCheckUtils]: 95: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,363 INFO L273 TraceCheckUtils]: 96: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,363 INFO L273 TraceCheckUtils]: 97: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,363 INFO L273 TraceCheckUtils]: 98: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,363 INFO L273 TraceCheckUtils]: 99: Hoare triple {24403#true} assume !(~i~0 < 40); {24403#true} is VALID [2018-11-23 12:18:15,363 INFO L273 TraceCheckUtils]: 100: Hoare triple {24403#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {24403#true} is VALID [2018-11-23 12:18:15,364 INFO L273 TraceCheckUtils]: 101: Hoare triple {24403#true} assume true; {24403#true} is VALID [2018-11-23 12:18:15,364 INFO L268 TraceCheckUtils]: 102: Hoare quadruple {24403#true} {24403#true} #75#return; {24403#true} is VALID [2018-11-23 12:18:15,364 INFO L273 TraceCheckUtils]: 103: Hoare triple {24403#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); {24403#true} is VALID [2018-11-23 12:18:15,364 INFO L256 TraceCheckUtils]: 104: Hoare triple {24403#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {24403#true} is VALID [2018-11-23 12:18:15,364 INFO L273 TraceCheckUtils]: 105: Hoare triple {24403#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {24403#true} is VALID [2018-11-23 12:18:15,364 INFO L273 TraceCheckUtils]: 106: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,364 INFO L273 TraceCheckUtils]: 107: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,364 INFO L273 TraceCheckUtils]: 108: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,364 INFO L273 TraceCheckUtils]: 109: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,364 INFO L273 TraceCheckUtils]: 110: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,365 INFO L273 TraceCheckUtils]: 111: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,365 INFO L273 TraceCheckUtils]: 112: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,365 INFO L273 TraceCheckUtils]: 113: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,365 INFO L273 TraceCheckUtils]: 114: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,365 INFO L273 TraceCheckUtils]: 115: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,365 INFO L273 TraceCheckUtils]: 116: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,365 INFO L273 TraceCheckUtils]: 117: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,365 INFO L273 TraceCheckUtils]: 118: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,365 INFO L273 TraceCheckUtils]: 119: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,365 INFO L273 TraceCheckUtils]: 120: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,366 INFO L273 TraceCheckUtils]: 121: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,366 INFO L273 TraceCheckUtils]: 122: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,366 INFO L273 TraceCheckUtils]: 123: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,366 INFO L273 TraceCheckUtils]: 124: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,366 INFO L273 TraceCheckUtils]: 125: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,366 INFO L273 TraceCheckUtils]: 126: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,366 INFO L273 TraceCheckUtils]: 127: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,366 INFO L273 TraceCheckUtils]: 128: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,366 INFO L273 TraceCheckUtils]: 129: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,366 INFO L273 TraceCheckUtils]: 130: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,367 INFO L273 TraceCheckUtils]: 131: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,367 INFO L273 TraceCheckUtils]: 132: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,367 INFO L273 TraceCheckUtils]: 133: Hoare triple {24403#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24403#true} is VALID [2018-11-23 12:18:15,367 INFO L273 TraceCheckUtils]: 134: Hoare triple {24403#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24403#true} is VALID [2018-11-23 12:18:15,367 INFO L273 TraceCheckUtils]: 135: Hoare triple {24403#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24403#true} is VALID [2018-11-23 12:18:15,367 INFO L273 TraceCheckUtils]: 136: Hoare triple {24403#true} assume !(~i~0 < 40); {24403#true} is VALID [2018-11-23 12:18:15,367 INFO L273 TraceCheckUtils]: 137: Hoare triple {24403#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {24403#true} is VALID [2018-11-23 12:18:15,367 INFO L273 TraceCheckUtils]: 138: Hoare triple {24403#true} assume true; {24403#true} is VALID [2018-11-23 12:18:15,367 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {24403#true} {24403#true} #77#return; {24403#true} is VALID [2018-11-23 12:18:15,368 INFO L273 TraceCheckUtils]: 140: Hoare triple {24403#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; {24859#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:15,368 INFO L273 TraceCheckUtils]: 141: Hoare triple {24859#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24859#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:15,369 INFO L273 TraceCheckUtils]: 142: Hoare triple {24859#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24866#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:15,369 INFO L273 TraceCheckUtils]: 143: Hoare triple {24866#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24866#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:15,369 INFO L273 TraceCheckUtils]: 144: Hoare triple {24866#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24873#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:15,370 INFO L273 TraceCheckUtils]: 145: Hoare triple {24873#(<= main_~i~2 2)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24873#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:15,370 INFO L273 TraceCheckUtils]: 146: Hoare triple {24873#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24880#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:15,370 INFO L273 TraceCheckUtils]: 147: Hoare triple {24880#(<= main_~i~2 3)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24880#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:15,371 INFO L273 TraceCheckUtils]: 148: Hoare triple {24880#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24887#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:15,371 INFO L273 TraceCheckUtils]: 149: Hoare triple {24887#(<= main_~i~2 4)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24887#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:15,372 INFO L273 TraceCheckUtils]: 150: Hoare triple {24887#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24894#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:15,372 INFO L273 TraceCheckUtils]: 151: Hoare triple {24894#(<= main_~i~2 5)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24894#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:15,373 INFO L273 TraceCheckUtils]: 152: Hoare triple {24894#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24901#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:15,373 INFO L273 TraceCheckUtils]: 153: Hoare triple {24901#(<= main_~i~2 6)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {24901#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:15,374 INFO L273 TraceCheckUtils]: 154: Hoare triple {24901#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {24908#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:15,375 INFO L273 TraceCheckUtils]: 155: Hoare triple {24908#(<= main_~i~2 7)} assume !(~i~2 < 39); {24404#false} is VALID [2018-11-23 12:18:15,375 INFO L273 TraceCheckUtils]: 156: Hoare triple {24404#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {24404#false} is VALID [2018-11-23 12:18:15,375 INFO L256 TraceCheckUtils]: 157: Hoare triple {24404#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {24404#false} is VALID [2018-11-23 12:18:15,375 INFO L273 TraceCheckUtils]: 158: Hoare triple {24404#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {24404#false} is VALID [2018-11-23 12:18:15,375 INFO L273 TraceCheckUtils]: 159: Hoare triple {24404#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24404#false} is VALID [2018-11-23 12:18:15,375 INFO L273 TraceCheckUtils]: 160: Hoare triple {24404#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24404#false} is VALID [2018-11-23 12:18:15,376 INFO L273 TraceCheckUtils]: 161: Hoare triple {24404#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24404#false} is VALID [2018-11-23 12:18:15,376 INFO L273 TraceCheckUtils]: 162: Hoare triple {24404#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24404#false} is VALID [2018-11-23 12:18:15,376 INFO L273 TraceCheckUtils]: 163: Hoare triple {24404#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24404#false} is VALID [2018-11-23 12:18:15,376 INFO L273 TraceCheckUtils]: 164: Hoare triple {24404#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24404#false} is VALID [2018-11-23 12:18:15,376 INFO L273 TraceCheckUtils]: 165: Hoare triple {24404#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24404#false} is VALID [2018-11-23 12:18:15,376 INFO L273 TraceCheckUtils]: 166: Hoare triple {24404#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24404#false} is VALID [2018-11-23 12:18:15,377 INFO L273 TraceCheckUtils]: 167: Hoare triple {24404#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24404#false} is VALID [2018-11-23 12:18:15,377 INFO L273 TraceCheckUtils]: 168: Hoare triple {24404#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24404#false} is VALID [2018-11-23 12:18:15,377 INFO L273 TraceCheckUtils]: 169: Hoare triple {24404#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24404#false} is VALID [2018-11-23 12:18:15,377 INFO L273 TraceCheckUtils]: 170: Hoare triple {24404#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24404#false} is VALID [2018-11-23 12:18:15,377 INFO L273 TraceCheckUtils]: 171: Hoare triple {24404#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24404#false} is VALID [2018-11-23 12:18:15,377 INFO L273 TraceCheckUtils]: 172: Hoare triple {24404#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24404#false} is VALID [2018-11-23 12:18:15,378 INFO L273 TraceCheckUtils]: 173: Hoare triple {24404#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24404#false} is VALID [2018-11-23 12:18:15,378 INFO L273 TraceCheckUtils]: 174: Hoare triple {24404#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24404#false} is VALID [2018-11-23 12:18:15,378 INFO L273 TraceCheckUtils]: 175: Hoare triple {24404#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24404#false} is VALID [2018-11-23 12:18:15,378 INFO L273 TraceCheckUtils]: 176: Hoare triple {24404#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24404#false} is VALID [2018-11-23 12:18:15,378 INFO L273 TraceCheckUtils]: 177: Hoare triple {24404#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24404#false} is VALID [2018-11-23 12:18:15,378 INFO L273 TraceCheckUtils]: 178: Hoare triple {24404#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24404#false} is VALID [2018-11-23 12:18:15,379 INFO L273 TraceCheckUtils]: 179: Hoare triple {24404#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24404#false} is VALID [2018-11-23 12:18:15,379 INFO L273 TraceCheckUtils]: 180: Hoare triple {24404#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24404#false} is VALID [2018-11-23 12:18:15,379 INFO L273 TraceCheckUtils]: 181: Hoare triple {24404#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24404#false} is VALID [2018-11-23 12:18:15,379 INFO L273 TraceCheckUtils]: 182: Hoare triple {24404#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24404#false} is VALID [2018-11-23 12:18:15,379 INFO L273 TraceCheckUtils]: 183: Hoare triple {24404#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24404#false} is VALID [2018-11-23 12:18:15,379 INFO L273 TraceCheckUtils]: 184: Hoare triple {24404#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24404#false} is VALID [2018-11-23 12:18:15,379 INFO L273 TraceCheckUtils]: 185: Hoare triple {24404#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24404#false} is VALID [2018-11-23 12:18:15,380 INFO L273 TraceCheckUtils]: 186: Hoare triple {24404#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {24404#false} is VALID [2018-11-23 12:18:15,380 INFO L273 TraceCheckUtils]: 187: Hoare triple {24404#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {24404#false} is VALID [2018-11-23 12:18:15,380 INFO L273 TraceCheckUtils]: 188: Hoare triple {24404#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24404#false} is VALID [2018-11-23 12:18:15,380 INFO L273 TraceCheckUtils]: 189: Hoare triple {24404#false} assume !(~i~0 < 40); {24404#false} is VALID [2018-11-23 12:18:15,380 INFO L273 TraceCheckUtils]: 190: Hoare triple {24404#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {24404#false} is VALID [2018-11-23 12:18:15,380 INFO L273 TraceCheckUtils]: 191: Hoare triple {24404#false} assume true; {24404#false} is VALID [2018-11-23 12:18:15,380 INFO L268 TraceCheckUtils]: 192: Hoare quadruple {24404#false} {24404#false} #79#return; {24404#false} is VALID [2018-11-23 12:18:15,380 INFO L273 TraceCheckUtils]: 193: Hoare triple {24404#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {24404#false} is VALID [2018-11-23 12:18:15,380 INFO L273 TraceCheckUtils]: 194: Hoare triple {24404#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {24404#false} is VALID [2018-11-23 12:18:15,380 INFO L273 TraceCheckUtils]: 195: Hoare triple {24404#false} assume !false; {24404#false} is VALID [2018-11-23 12:18:15,394 INFO L134 CoverageAnalysis]: Checked inductivity of 2359 backedges. 650 proven. 49 refuted. 0 times theorem prover too weak. 1660 trivial. 0 not checked. [2018-11-23 12:18:15,415 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:15,415 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 10] total 41 [2018-11-23 12:18:15,416 INFO L78 Accepts]: Start accepts. Automaton has 41 states. Word has length 196 [2018-11-23 12:18:15,416 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:15,416 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states. [2018-11-23 12:18:15,528 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:15,529 INFO L459 AbstractCegarLoop]: Interpolant automaton has 41 states [2018-11-23 12:18:15,529 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2018-11-23 12:18:15,530 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=572, Invalid=1068, Unknown=0, NotChecked=0, Total=1640 [2018-11-23 12:18:15,530 INFO L87 Difference]: Start difference. First operand 127 states and 141 transitions. Second operand 41 states. [2018-11-23 12:18:16,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:16,574 INFO L93 Difference]: Finished difference Result 193 states and 222 transitions. [2018-11-23 12:18:16,574 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2018-11-23 12:18:16,574 INFO L78 Accepts]: Start accepts. Automaton has 41 states. Word has length 196 [2018-11-23 12:18:16,574 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:16,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:18:16,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 135 transitions. [2018-11-23 12:18:16,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:18:16,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 135 transitions. [2018-11-23 12:18:16,576 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states and 135 transitions. [2018-11-23 12:18:16,733 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:16,736 INFO L225 Difference]: With dead ends: 193 [2018-11-23 12:18:16,736 INFO L226 Difference]: Without dead ends: 133 [2018-11-23 12:18:16,737 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 228 GetRequests, 189 SyntacticMatches, 0 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 240 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=572, Invalid=1068, Unknown=0, NotChecked=0, Total=1640 [2018-11-23 12:18:16,738 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2018-11-23 12:18:16,778 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 131. [2018-11-23 12:18:16,778 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:16,779 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand 131 states. [2018-11-23 12:18:16,779 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 131 states. [2018-11-23 12:18:16,779 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 131 states. [2018-11-23 12:18:16,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:16,782 INFO L93 Difference]: Finished difference Result 133 states and 147 transitions. [2018-11-23 12:18:16,782 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 147 transitions. [2018-11-23 12:18:16,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:16,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:16,783 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 133 states. [2018-11-23 12:18:16,783 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 133 states. [2018-11-23 12:18:16,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:16,785 INFO L93 Difference]: Finished difference Result 133 states and 147 transitions. [2018-11-23 12:18:16,785 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 147 transitions. [2018-11-23 12:18:16,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:16,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:16,785 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:16,785 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:16,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 131 states. [2018-11-23 12:18:16,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 145 transitions. [2018-11-23 12:18:16,787 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 145 transitions. Word has length 196 [2018-11-23 12:18:16,787 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:16,787 INFO L480 AbstractCegarLoop]: Abstraction has 131 states and 145 transitions. [2018-11-23 12:18:16,787 INFO L481 AbstractCegarLoop]: Interpolant automaton has 41 states. [2018-11-23 12:18:16,787 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 145 transitions. [2018-11-23 12:18:16,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 201 [2018-11-23 12:18:16,788 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:16,788 INFO L402 BasicCegarLoop]: trace histogram [31, 31, 30, 30, 30, 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:18:16,789 INFO L423 AbstractCegarLoop]: === Iteration 35 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:16,789 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:16,789 INFO L82 PathProgramCache]: Analyzing trace with hash 311855140, now seen corresponding path program 31 times [2018-11-23 12:18:16,789 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:16,789 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:16,789 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:16,790 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:16,790 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:16,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:17,542 INFO L256 TraceCheckUtils]: 0: Hoare triple {25764#true} call ULTIMATE.init(); {25764#true} is VALID [2018-11-23 12:18:17,542 INFO L273 TraceCheckUtils]: 1: Hoare triple {25764#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {25764#true} is VALID [2018-11-23 12:18:17,542 INFO L273 TraceCheckUtils]: 2: Hoare triple {25764#true} assume true; {25764#true} is VALID [2018-11-23 12:18:17,542 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {25764#true} {25764#true} #71#return; {25764#true} is VALID [2018-11-23 12:18:17,542 INFO L256 TraceCheckUtils]: 4: Hoare triple {25764#true} call #t~ret14 := main(); {25764#true} is VALID [2018-11-23 12:18:17,543 INFO L273 TraceCheckUtils]: 5: Hoare triple {25764#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {25766#(= main_~i~1 0)} is VALID [2018-11-23 12:18:17,543 INFO L273 TraceCheckUtils]: 6: Hoare triple {25766#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25766#(= main_~i~1 0)} is VALID [2018-11-23 12:18:17,544 INFO L273 TraceCheckUtils]: 7: Hoare triple {25766#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25767#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:17,544 INFO L273 TraceCheckUtils]: 8: Hoare triple {25767#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25767#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:17,545 INFO L273 TraceCheckUtils]: 9: Hoare triple {25767#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25768#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:17,545 INFO L273 TraceCheckUtils]: 10: Hoare triple {25768#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25768#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:17,546 INFO L273 TraceCheckUtils]: 11: Hoare triple {25768#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25769#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:17,546 INFO L273 TraceCheckUtils]: 12: Hoare triple {25769#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25769#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:17,546 INFO L273 TraceCheckUtils]: 13: Hoare triple {25769#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25770#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:17,547 INFO L273 TraceCheckUtils]: 14: Hoare triple {25770#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25770#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:17,547 INFO L273 TraceCheckUtils]: 15: Hoare triple {25770#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25771#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:17,548 INFO L273 TraceCheckUtils]: 16: Hoare triple {25771#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25771#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:17,549 INFO L273 TraceCheckUtils]: 17: Hoare triple {25771#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25772#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:17,549 INFO L273 TraceCheckUtils]: 18: Hoare triple {25772#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25772#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:17,550 INFO L273 TraceCheckUtils]: 19: Hoare triple {25772#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25773#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:17,550 INFO L273 TraceCheckUtils]: 20: Hoare triple {25773#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25773#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:17,551 INFO L273 TraceCheckUtils]: 21: Hoare triple {25773#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25774#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:17,551 INFO L273 TraceCheckUtils]: 22: Hoare triple {25774#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25774#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:17,552 INFO L273 TraceCheckUtils]: 23: Hoare triple {25774#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25775#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:17,552 INFO L273 TraceCheckUtils]: 24: Hoare triple {25775#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25775#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:17,553 INFO L273 TraceCheckUtils]: 25: Hoare triple {25775#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25776#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:17,554 INFO L273 TraceCheckUtils]: 26: Hoare triple {25776#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25776#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:17,554 INFO L273 TraceCheckUtils]: 27: Hoare triple {25776#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25777#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:17,555 INFO L273 TraceCheckUtils]: 28: Hoare triple {25777#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25777#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:17,555 INFO L273 TraceCheckUtils]: 29: Hoare triple {25777#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25778#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:17,556 INFO L273 TraceCheckUtils]: 30: Hoare triple {25778#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25778#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:17,557 INFO L273 TraceCheckUtils]: 31: Hoare triple {25778#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25779#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:17,557 INFO L273 TraceCheckUtils]: 32: Hoare triple {25779#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25779#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:17,558 INFO L273 TraceCheckUtils]: 33: Hoare triple {25779#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25780#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:17,558 INFO L273 TraceCheckUtils]: 34: Hoare triple {25780#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25780#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:17,559 INFO L273 TraceCheckUtils]: 35: Hoare triple {25780#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25781#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:17,560 INFO L273 TraceCheckUtils]: 36: Hoare triple {25781#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25781#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:17,560 INFO L273 TraceCheckUtils]: 37: Hoare triple {25781#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25782#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:17,561 INFO L273 TraceCheckUtils]: 38: Hoare triple {25782#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25782#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:17,562 INFO L273 TraceCheckUtils]: 39: Hoare triple {25782#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25783#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:17,562 INFO L273 TraceCheckUtils]: 40: Hoare triple {25783#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25783#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:17,563 INFO L273 TraceCheckUtils]: 41: Hoare triple {25783#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25784#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:17,563 INFO L273 TraceCheckUtils]: 42: Hoare triple {25784#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25784#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:17,564 INFO L273 TraceCheckUtils]: 43: Hoare triple {25784#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25785#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:17,564 INFO L273 TraceCheckUtils]: 44: Hoare triple {25785#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25785#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:17,565 INFO L273 TraceCheckUtils]: 45: Hoare triple {25785#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25786#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:17,566 INFO L273 TraceCheckUtils]: 46: Hoare triple {25786#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25786#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:17,566 INFO L273 TraceCheckUtils]: 47: Hoare triple {25786#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25787#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:17,567 INFO L273 TraceCheckUtils]: 48: Hoare triple {25787#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25787#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:17,567 INFO L273 TraceCheckUtils]: 49: Hoare triple {25787#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25788#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:17,568 INFO L273 TraceCheckUtils]: 50: Hoare triple {25788#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25788#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:17,569 INFO L273 TraceCheckUtils]: 51: Hoare triple {25788#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25789#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:17,569 INFO L273 TraceCheckUtils]: 52: Hoare triple {25789#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25789#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:17,570 INFO L273 TraceCheckUtils]: 53: Hoare triple {25789#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25790#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:17,570 INFO L273 TraceCheckUtils]: 54: Hoare triple {25790#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25790#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:17,571 INFO L273 TraceCheckUtils]: 55: Hoare triple {25790#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25791#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:17,571 INFO L273 TraceCheckUtils]: 56: Hoare triple {25791#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25791#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:17,572 INFO L273 TraceCheckUtils]: 57: Hoare triple {25791#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25792#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:17,572 INFO L273 TraceCheckUtils]: 58: Hoare triple {25792#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25792#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:17,573 INFO L273 TraceCheckUtils]: 59: Hoare triple {25792#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25793#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:17,574 INFO L273 TraceCheckUtils]: 60: Hoare triple {25793#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25793#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:17,574 INFO L273 TraceCheckUtils]: 61: Hoare triple {25793#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25794#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:17,575 INFO L273 TraceCheckUtils]: 62: Hoare triple {25794#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25794#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:17,575 INFO L273 TraceCheckUtils]: 63: Hoare triple {25794#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25795#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:17,576 INFO L273 TraceCheckUtils]: 64: Hoare triple {25795#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25795#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:17,577 INFO L273 TraceCheckUtils]: 65: Hoare triple {25795#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25796#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:17,577 INFO L273 TraceCheckUtils]: 66: Hoare triple {25796#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25796#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:17,578 INFO L273 TraceCheckUtils]: 67: Hoare triple {25796#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25797#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:17,578 INFO L273 TraceCheckUtils]: 68: Hoare triple {25797#(<= main_~i~1 31)} assume !(~i~1 < 40); {25765#false} is VALID [2018-11-23 12:18:17,579 INFO L256 TraceCheckUtils]: 69: Hoare triple {25765#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {25764#true} is VALID [2018-11-23 12:18:17,579 INFO L273 TraceCheckUtils]: 70: Hoare triple {25764#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {25764#true} is VALID [2018-11-23 12:18:17,579 INFO L273 TraceCheckUtils]: 71: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,579 INFO L273 TraceCheckUtils]: 72: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,579 INFO L273 TraceCheckUtils]: 73: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,579 INFO L273 TraceCheckUtils]: 74: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,580 INFO L273 TraceCheckUtils]: 75: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,580 INFO L273 TraceCheckUtils]: 76: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,580 INFO L273 TraceCheckUtils]: 77: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,580 INFO L273 TraceCheckUtils]: 78: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,580 INFO L273 TraceCheckUtils]: 79: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,580 INFO L273 TraceCheckUtils]: 80: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,581 INFO L273 TraceCheckUtils]: 81: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,581 INFO L273 TraceCheckUtils]: 82: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,581 INFO L273 TraceCheckUtils]: 83: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,581 INFO L273 TraceCheckUtils]: 84: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,581 INFO L273 TraceCheckUtils]: 85: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,581 INFO L273 TraceCheckUtils]: 86: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,582 INFO L273 TraceCheckUtils]: 87: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,582 INFO L273 TraceCheckUtils]: 88: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,582 INFO L273 TraceCheckUtils]: 89: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,582 INFO L273 TraceCheckUtils]: 90: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,582 INFO L273 TraceCheckUtils]: 91: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,582 INFO L273 TraceCheckUtils]: 92: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,582 INFO L273 TraceCheckUtils]: 93: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,582 INFO L273 TraceCheckUtils]: 94: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,582 INFO L273 TraceCheckUtils]: 95: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,582 INFO L273 TraceCheckUtils]: 96: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,582 INFO L273 TraceCheckUtils]: 97: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,583 INFO L273 TraceCheckUtils]: 98: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,583 INFO L273 TraceCheckUtils]: 99: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,583 INFO L273 TraceCheckUtils]: 100: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,583 INFO L273 TraceCheckUtils]: 101: Hoare triple {25764#true} assume !(~i~0 < 40); {25764#true} is VALID [2018-11-23 12:18:17,583 INFO L273 TraceCheckUtils]: 102: Hoare triple {25764#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {25764#true} is VALID [2018-11-23 12:18:17,583 INFO L273 TraceCheckUtils]: 103: Hoare triple {25764#true} assume true; {25764#true} is VALID [2018-11-23 12:18:17,583 INFO L268 TraceCheckUtils]: 104: Hoare quadruple {25764#true} {25765#false} #75#return; {25765#false} is VALID [2018-11-23 12:18:17,583 INFO L273 TraceCheckUtils]: 105: Hoare triple {25765#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); {25765#false} is VALID [2018-11-23 12:18:17,583 INFO L256 TraceCheckUtils]: 106: Hoare triple {25765#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {25764#true} is VALID [2018-11-23 12:18:17,584 INFO L273 TraceCheckUtils]: 107: Hoare triple {25764#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {25764#true} is VALID [2018-11-23 12:18:17,584 INFO L273 TraceCheckUtils]: 108: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,584 INFO L273 TraceCheckUtils]: 109: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,584 INFO L273 TraceCheckUtils]: 110: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,584 INFO L273 TraceCheckUtils]: 111: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,584 INFO L273 TraceCheckUtils]: 112: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,584 INFO L273 TraceCheckUtils]: 113: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,584 INFO L273 TraceCheckUtils]: 114: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,584 INFO L273 TraceCheckUtils]: 115: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,584 INFO L273 TraceCheckUtils]: 116: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,585 INFO L273 TraceCheckUtils]: 117: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,585 INFO L273 TraceCheckUtils]: 118: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,585 INFO L273 TraceCheckUtils]: 119: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,585 INFO L273 TraceCheckUtils]: 120: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,585 INFO L273 TraceCheckUtils]: 121: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,585 INFO L273 TraceCheckUtils]: 122: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,585 INFO L273 TraceCheckUtils]: 123: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,585 INFO L273 TraceCheckUtils]: 124: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,585 INFO L273 TraceCheckUtils]: 125: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,585 INFO L273 TraceCheckUtils]: 126: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,586 INFO L273 TraceCheckUtils]: 127: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,586 INFO L273 TraceCheckUtils]: 128: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,586 INFO L273 TraceCheckUtils]: 129: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,586 INFO L273 TraceCheckUtils]: 130: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,586 INFO L273 TraceCheckUtils]: 131: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,586 INFO L273 TraceCheckUtils]: 132: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,586 INFO L273 TraceCheckUtils]: 133: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,586 INFO L273 TraceCheckUtils]: 134: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,586 INFO L273 TraceCheckUtils]: 135: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,586 INFO L273 TraceCheckUtils]: 136: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,587 INFO L273 TraceCheckUtils]: 137: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,587 INFO L273 TraceCheckUtils]: 138: Hoare triple {25764#true} assume !(~i~0 < 40); {25764#true} is VALID [2018-11-23 12:18:17,587 INFO L273 TraceCheckUtils]: 139: Hoare triple {25764#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {25764#true} is VALID [2018-11-23 12:18:17,587 INFO L273 TraceCheckUtils]: 140: Hoare triple {25764#true} assume true; {25764#true} is VALID [2018-11-23 12:18:17,587 INFO L268 TraceCheckUtils]: 141: Hoare quadruple {25764#true} {25765#false} #77#return; {25765#false} is VALID [2018-11-23 12:18:17,587 INFO L273 TraceCheckUtils]: 142: Hoare triple {25765#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; {25765#false} is VALID [2018-11-23 12:18:17,587 INFO L273 TraceCheckUtils]: 143: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:17,587 INFO L273 TraceCheckUtils]: 144: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:17,587 INFO L273 TraceCheckUtils]: 145: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:17,587 INFO L273 TraceCheckUtils]: 146: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:17,588 INFO L273 TraceCheckUtils]: 147: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:17,588 INFO L273 TraceCheckUtils]: 148: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:17,588 INFO L273 TraceCheckUtils]: 149: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:17,588 INFO L273 TraceCheckUtils]: 150: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:17,588 INFO L273 TraceCheckUtils]: 151: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:17,588 INFO L273 TraceCheckUtils]: 152: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:17,588 INFO L273 TraceCheckUtils]: 153: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:17,588 INFO L273 TraceCheckUtils]: 154: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:17,588 INFO L273 TraceCheckUtils]: 155: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:17,588 INFO L273 TraceCheckUtils]: 156: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:17,589 INFO L273 TraceCheckUtils]: 157: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:17,589 INFO L273 TraceCheckUtils]: 158: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:17,589 INFO L273 TraceCheckUtils]: 159: Hoare triple {25765#false} assume !(~i~2 < 39); {25765#false} is VALID [2018-11-23 12:18:17,589 INFO L273 TraceCheckUtils]: 160: Hoare triple {25765#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {25765#false} is VALID [2018-11-23 12:18:17,589 INFO L256 TraceCheckUtils]: 161: Hoare triple {25765#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {25764#true} is VALID [2018-11-23 12:18:17,589 INFO L273 TraceCheckUtils]: 162: Hoare triple {25764#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {25764#true} is VALID [2018-11-23 12:18:17,589 INFO L273 TraceCheckUtils]: 163: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,589 INFO L273 TraceCheckUtils]: 164: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,589 INFO L273 TraceCheckUtils]: 165: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,590 INFO L273 TraceCheckUtils]: 166: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,590 INFO L273 TraceCheckUtils]: 167: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,590 INFO L273 TraceCheckUtils]: 168: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,590 INFO L273 TraceCheckUtils]: 169: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,590 INFO L273 TraceCheckUtils]: 170: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,590 INFO L273 TraceCheckUtils]: 171: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,590 INFO L273 TraceCheckUtils]: 172: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,590 INFO L273 TraceCheckUtils]: 173: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,590 INFO L273 TraceCheckUtils]: 174: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,590 INFO L273 TraceCheckUtils]: 175: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,591 INFO L273 TraceCheckUtils]: 176: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,591 INFO L273 TraceCheckUtils]: 177: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,591 INFO L273 TraceCheckUtils]: 178: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,591 INFO L273 TraceCheckUtils]: 179: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,591 INFO L273 TraceCheckUtils]: 180: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,591 INFO L273 TraceCheckUtils]: 181: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,591 INFO L273 TraceCheckUtils]: 182: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,591 INFO L273 TraceCheckUtils]: 183: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,591 INFO L273 TraceCheckUtils]: 184: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,591 INFO L273 TraceCheckUtils]: 185: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,592 INFO L273 TraceCheckUtils]: 186: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,592 INFO L273 TraceCheckUtils]: 187: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,592 INFO L273 TraceCheckUtils]: 188: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,592 INFO L273 TraceCheckUtils]: 189: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,592 INFO L273 TraceCheckUtils]: 190: Hoare triple {25764#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25764#true} is VALID [2018-11-23 12:18:17,592 INFO L273 TraceCheckUtils]: 191: Hoare triple {25764#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25764#true} is VALID [2018-11-23 12:18:17,592 INFO L273 TraceCheckUtils]: 192: Hoare triple {25764#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25764#true} is VALID [2018-11-23 12:18:17,592 INFO L273 TraceCheckUtils]: 193: Hoare triple {25764#true} assume !(~i~0 < 40); {25764#true} is VALID [2018-11-23 12:18:17,592 INFO L273 TraceCheckUtils]: 194: Hoare triple {25764#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {25764#true} is VALID [2018-11-23 12:18:17,592 INFO L273 TraceCheckUtils]: 195: Hoare triple {25764#true} assume true; {25764#true} is VALID [2018-11-23 12:18:17,593 INFO L268 TraceCheckUtils]: 196: Hoare quadruple {25764#true} {25765#false} #79#return; {25765#false} is VALID [2018-11-23 12:18:17,593 INFO L273 TraceCheckUtils]: 197: Hoare triple {25765#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {25765#false} is VALID [2018-11-23 12:18:17,593 INFO L273 TraceCheckUtils]: 198: Hoare triple {25765#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {25765#false} is VALID [2018-11-23 12:18:17,593 INFO L273 TraceCheckUtils]: 199: Hoare triple {25765#false} assume !false; {25765#false} is VALID [2018-11-23 12:18:17,611 INFO L134 CoverageAnalysis]: Checked inductivity of 2435 backedges. 0 proven. 961 refuted. 0 times theorem prover too weak. 1474 trivial. 0 not checked. [2018-11-23 12:18:17,611 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:17,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 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:18:17,622 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:18:17,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:17,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:17,767 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:18,320 INFO L256 TraceCheckUtils]: 0: Hoare triple {25764#true} call ULTIMATE.init(); {25764#true} is VALID [2018-11-23 12:18:18,321 INFO L273 TraceCheckUtils]: 1: Hoare triple {25764#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {25764#true} is VALID [2018-11-23 12:18:18,321 INFO L273 TraceCheckUtils]: 2: Hoare triple {25764#true} assume true; {25764#true} is VALID [2018-11-23 12:18:18,321 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {25764#true} {25764#true} #71#return; {25764#true} is VALID [2018-11-23 12:18:18,321 INFO L256 TraceCheckUtils]: 4: Hoare triple {25764#true} call #t~ret14 := main(); {25764#true} is VALID [2018-11-23 12:18:18,322 INFO L273 TraceCheckUtils]: 5: Hoare triple {25764#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {25816#(<= main_~i~1 0)} is VALID [2018-11-23 12:18:18,322 INFO L273 TraceCheckUtils]: 6: Hoare triple {25816#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25816#(<= main_~i~1 0)} is VALID [2018-11-23 12:18:18,323 INFO L273 TraceCheckUtils]: 7: Hoare triple {25816#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25767#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:18,324 INFO L273 TraceCheckUtils]: 8: Hoare triple {25767#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25767#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:18,325 INFO L273 TraceCheckUtils]: 9: Hoare triple {25767#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25768#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:18,325 INFO L273 TraceCheckUtils]: 10: Hoare triple {25768#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25768#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:18,326 INFO L273 TraceCheckUtils]: 11: Hoare triple {25768#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25769#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:18,326 INFO L273 TraceCheckUtils]: 12: Hoare triple {25769#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25769#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:18,327 INFO L273 TraceCheckUtils]: 13: Hoare triple {25769#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25770#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:18,328 INFO L273 TraceCheckUtils]: 14: Hoare triple {25770#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25770#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:18,328 INFO L273 TraceCheckUtils]: 15: Hoare triple {25770#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25771#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:18,329 INFO L273 TraceCheckUtils]: 16: Hoare triple {25771#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25771#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:18,330 INFO L273 TraceCheckUtils]: 17: Hoare triple {25771#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25772#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:18,330 INFO L273 TraceCheckUtils]: 18: Hoare triple {25772#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25772#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:18,331 INFO L273 TraceCheckUtils]: 19: Hoare triple {25772#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25773#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:18,331 INFO L273 TraceCheckUtils]: 20: Hoare triple {25773#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25773#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:18,332 INFO L273 TraceCheckUtils]: 21: Hoare triple {25773#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25774#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:18,332 INFO L273 TraceCheckUtils]: 22: Hoare triple {25774#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25774#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:18,333 INFO L273 TraceCheckUtils]: 23: Hoare triple {25774#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25775#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:18,334 INFO L273 TraceCheckUtils]: 24: Hoare triple {25775#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25775#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:18,334 INFO L273 TraceCheckUtils]: 25: Hoare triple {25775#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25776#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:18,335 INFO L273 TraceCheckUtils]: 26: Hoare triple {25776#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25776#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:18,336 INFO L273 TraceCheckUtils]: 27: Hoare triple {25776#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25777#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:18,336 INFO L273 TraceCheckUtils]: 28: Hoare triple {25777#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25777#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:18,337 INFO L273 TraceCheckUtils]: 29: Hoare triple {25777#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25778#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:18,337 INFO L273 TraceCheckUtils]: 30: Hoare triple {25778#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25778#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:18,338 INFO L273 TraceCheckUtils]: 31: Hoare triple {25778#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25779#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:18,339 INFO L273 TraceCheckUtils]: 32: Hoare triple {25779#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25779#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:18,339 INFO L273 TraceCheckUtils]: 33: Hoare triple {25779#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25780#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:18,340 INFO L273 TraceCheckUtils]: 34: Hoare triple {25780#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25780#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:18,341 INFO L273 TraceCheckUtils]: 35: Hoare triple {25780#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25781#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:18,341 INFO L273 TraceCheckUtils]: 36: Hoare triple {25781#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25781#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:18,342 INFO L273 TraceCheckUtils]: 37: Hoare triple {25781#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25782#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:18,342 INFO L273 TraceCheckUtils]: 38: Hoare triple {25782#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25782#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:18,343 INFO L273 TraceCheckUtils]: 39: Hoare triple {25782#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25783#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:18,344 INFO L273 TraceCheckUtils]: 40: Hoare triple {25783#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25783#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:18,344 INFO L273 TraceCheckUtils]: 41: Hoare triple {25783#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25784#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:18,345 INFO L273 TraceCheckUtils]: 42: Hoare triple {25784#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25784#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:18,346 INFO L273 TraceCheckUtils]: 43: Hoare triple {25784#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25785#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:18,346 INFO L273 TraceCheckUtils]: 44: Hoare triple {25785#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25785#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:18,347 INFO L273 TraceCheckUtils]: 45: Hoare triple {25785#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25786#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:18,347 INFO L273 TraceCheckUtils]: 46: Hoare triple {25786#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25786#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:18,348 INFO L273 TraceCheckUtils]: 47: Hoare triple {25786#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25787#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:18,349 INFO L273 TraceCheckUtils]: 48: Hoare triple {25787#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25787#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:18,349 INFO L273 TraceCheckUtils]: 49: Hoare triple {25787#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25788#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:18,350 INFO L273 TraceCheckUtils]: 50: Hoare triple {25788#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25788#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:18,351 INFO L273 TraceCheckUtils]: 51: Hoare triple {25788#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25789#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:18,351 INFO L273 TraceCheckUtils]: 52: Hoare triple {25789#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25789#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:18,352 INFO L273 TraceCheckUtils]: 53: Hoare triple {25789#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25790#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:18,352 INFO L273 TraceCheckUtils]: 54: Hoare triple {25790#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25790#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:18,353 INFO L273 TraceCheckUtils]: 55: Hoare triple {25790#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25791#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:18,354 INFO L273 TraceCheckUtils]: 56: Hoare triple {25791#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25791#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:18,354 INFO L273 TraceCheckUtils]: 57: Hoare triple {25791#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25792#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:18,355 INFO L273 TraceCheckUtils]: 58: Hoare triple {25792#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25792#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:18,355 INFO L273 TraceCheckUtils]: 59: Hoare triple {25792#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25793#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:18,356 INFO L273 TraceCheckUtils]: 60: Hoare triple {25793#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25793#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:18,357 INFO L273 TraceCheckUtils]: 61: Hoare triple {25793#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25794#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:18,357 INFO L273 TraceCheckUtils]: 62: Hoare triple {25794#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25794#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:18,358 INFO L273 TraceCheckUtils]: 63: Hoare triple {25794#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25795#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:18,358 INFO L273 TraceCheckUtils]: 64: Hoare triple {25795#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25795#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:18,359 INFO L273 TraceCheckUtils]: 65: Hoare triple {25795#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25796#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:18,360 INFO L273 TraceCheckUtils]: 66: Hoare triple {25796#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {25796#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:18,360 INFO L273 TraceCheckUtils]: 67: Hoare triple {25796#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {25797#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:18,361 INFO L273 TraceCheckUtils]: 68: Hoare triple {25797#(<= main_~i~1 31)} assume !(~i~1 < 40); {25765#false} is VALID [2018-11-23 12:18:18,361 INFO L256 TraceCheckUtils]: 69: Hoare triple {25765#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {25765#false} is VALID [2018-11-23 12:18:18,361 INFO L273 TraceCheckUtils]: 70: Hoare triple {25765#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {25765#false} is VALID [2018-11-23 12:18:18,362 INFO L273 TraceCheckUtils]: 71: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,362 INFO L273 TraceCheckUtils]: 72: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,362 INFO L273 TraceCheckUtils]: 73: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,362 INFO L273 TraceCheckUtils]: 74: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,362 INFO L273 TraceCheckUtils]: 75: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,363 INFO L273 TraceCheckUtils]: 76: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,363 INFO L273 TraceCheckUtils]: 77: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,363 INFO L273 TraceCheckUtils]: 78: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,363 INFO L273 TraceCheckUtils]: 79: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,363 INFO L273 TraceCheckUtils]: 80: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,363 INFO L273 TraceCheckUtils]: 81: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,364 INFO L273 TraceCheckUtils]: 82: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,364 INFO L273 TraceCheckUtils]: 83: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,364 INFO L273 TraceCheckUtils]: 84: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,364 INFO L273 TraceCheckUtils]: 85: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,364 INFO L273 TraceCheckUtils]: 86: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,364 INFO L273 TraceCheckUtils]: 87: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,364 INFO L273 TraceCheckUtils]: 88: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,364 INFO L273 TraceCheckUtils]: 89: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,365 INFO L273 TraceCheckUtils]: 90: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,365 INFO L273 TraceCheckUtils]: 91: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,365 INFO L273 TraceCheckUtils]: 92: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,365 INFO L273 TraceCheckUtils]: 93: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,365 INFO L273 TraceCheckUtils]: 94: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,365 INFO L273 TraceCheckUtils]: 95: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,365 INFO L273 TraceCheckUtils]: 96: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,365 INFO L273 TraceCheckUtils]: 97: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,365 INFO L273 TraceCheckUtils]: 98: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,365 INFO L273 TraceCheckUtils]: 99: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,366 INFO L273 TraceCheckUtils]: 100: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,366 INFO L273 TraceCheckUtils]: 101: Hoare triple {25765#false} assume !(~i~0 < 40); {25765#false} is VALID [2018-11-23 12:18:18,366 INFO L273 TraceCheckUtils]: 102: Hoare triple {25765#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {25765#false} is VALID [2018-11-23 12:18:18,366 INFO L273 TraceCheckUtils]: 103: Hoare triple {25765#false} assume true; {25765#false} is VALID [2018-11-23 12:18:18,366 INFO L268 TraceCheckUtils]: 104: Hoare quadruple {25765#false} {25765#false} #75#return; {25765#false} is VALID [2018-11-23 12:18:18,366 INFO L273 TraceCheckUtils]: 105: Hoare triple {25765#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); {25765#false} is VALID [2018-11-23 12:18:18,366 INFO L256 TraceCheckUtils]: 106: Hoare triple {25765#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {25765#false} is VALID [2018-11-23 12:18:18,366 INFO L273 TraceCheckUtils]: 107: Hoare triple {25765#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {25765#false} is VALID [2018-11-23 12:18:18,366 INFO L273 TraceCheckUtils]: 108: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,366 INFO L273 TraceCheckUtils]: 109: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,367 INFO L273 TraceCheckUtils]: 110: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,367 INFO L273 TraceCheckUtils]: 111: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,367 INFO L273 TraceCheckUtils]: 112: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,367 INFO L273 TraceCheckUtils]: 113: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,367 INFO L273 TraceCheckUtils]: 114: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,367 INFO L273 TraceCheckUtils]: 115: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,367 INFO L273 TraceCheckUtils]: 116: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,367 INFO L273 TraceCheckUtils]: 117: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,367 INFO L273 TraceCheckUtils]: 118: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,368 INFO L273 TraceCheckUtils]: 119: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,368 INFO L273 TraceCheckUtils]: 120: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,368 INFO L273 TraceCheckUtils]: 121: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,368 INFO L273 TraceCheckUtils]: 122: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,368 INFO L273 TraceCheckUtils]: 123: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,368 INFO L273 TraceCheckUtils]: 124: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,368 INFO L273 TraceCheckUtils]: 125: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,368 INFO L273 TraceCheckUtils]: 126: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,368 INFO L273 TraceCheckUtils]: 127: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,368 INFO L273 TraceCheckUtils]: 128: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,369 INFO L273 TraceCheckUtils]: 129: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,369 INFO L273 TraceCheckUtils]: 130: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,369 INFO L273 TraceCheckUtils]: 131: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,369 INFO L273 TraceCheckUtils]: 132: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,369 INFO L273 TraceCheckUtils]: 133: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,369 INFO L273 TraceCheckUtils]: 134: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,369 INFO L273 TraceCheckUtils]: 135: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,369 INFO L273 TraceCheckUtils]: 136: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,369 INFO L273 TraceCheckUtils]: 137: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,369 INFO L273 TraceCheckUtils]: 138: Hoare triple {25765#false} assume !(~i~0 < 40); {25765#false} is VALID [2018-11-23 12:18:18,370 INFO L273 TraceCheckUtils]: 139: Hoare triple {25765#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {25765#false} is VALID [2018-11-23 12:18:18,370 INFO L273 TraceCheckUtils]: 140: Hoare triple {25765#false} assume true; {25765#false} is VALID [2018-11-23 12:18:18,370 INFO L268 TraceCheckUtils]: 141: Hoare quadruple {25765#false} {25765#false} #77#return; {25765#false} is VALID [2018-11-23 12:18:18,370 INFO L273 TraceCheckUtils]: 142: Hoare triple {25765#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; {25765#false} is VALID [2018-11-23 12:18:18,370 INFO L273 TraceCheckUtils]: 143: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:18,370 INFO L273 TraceCheckUtils]: 144: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:18,370 INFO L273 TraceCheckUtils]: 145: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:18,370 INFO L273 TraceCheckUtils]: 146: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:18,370 INFO L273 TraceCheckUtils]: 147: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:18,370 INFO L273 TraceCheckUtils]: 148: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:18,371 INFO L273 TraceCheckUtils]: 149: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:18,371 INFO L273 TraceCheckUtils]: 150: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:18,371 INFO L273 TraceCheckUtils]: 151: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:18,371 INFO L273 TraceCheckUtils]: 152: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:18,371 INFO L273 TraceCheckUtils]: 153: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:18,371 INFO L273 TraceCheckUtils]: 154: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:18,371 INFO L273 TraceCheckUtils]: 155: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:18,371 INFO L273 TraceCheckUtils]: 156: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:18,371 INFO L273 TraceCheckUtils]: 157: Hoare triple {25765#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {25765#false} is VALID [2018-11-23 12:18:18,371 INFO L273 TraceCheckUtils]: 158: Hoare triple {25765#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {25765#false} is VALID [2018-11-23 12:18:18,372 INFO L273 TraceCheckUtils]: 159: Hoare triple {25765#false} assume !(~i~2 < 39); {25765#false} is VALID [2018-11-23 12:18:18,372 INFO L273 TraceCheckUtils]: 160: Hoare triple {25765#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {25765#false} is VALID [2018-11-23 12:18:18,372 INFO L256 TraceCheckUtils]: 161: Hoare triple {25765#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {25765#false} is VALID [2018-11-23 12:18:18,372 INFO L273 TraceCheckUtils]: 162: Hoare triple {25765#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {25765#false} is VALID [2018-11-23 12:18:18,372 INFO L273 TraceCheckUtils]: 163: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,372 INFO L273 TraceCheckUtils]: 164: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,372 INFO L273 TraceCheckUtils]: 165: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,372 INFO L273 TraceCheckUtils]: 166: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,372 INFO L273 TraceCheckUtils]: 167: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,372 INFO L273 TraceCheckUtils]: 168: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,373 INFO L273 TraceCheckUtils]: 169: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,373 INFO L273 TraceCheckUtils]: 170: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,373 INFO L273 TraceCheckUtils]: 171: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,373 INFO L273 TraceCheckUtils]: 172: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,373 INFO L273 TraceCheckUtils]: 173: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,373 INFO L273 TraceCheckUtils]: 174: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,373 INFO L273 TraceCheckUtils]: 175: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,373 INFO L273 TraceCheckUtils]: 176: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,373 INFO L273 TraceCheckUtils]: 177: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,373 INFO L273 TraceCheckUtils]: 178: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,374 INFO L273 TraceCheckUtils]: 179: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,374 INFO L273 TraceCheckUtils]: 180: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,374 INFO L273 TraceCheckUtils]: 181: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,374 INFO L273 TraceCheckUtils]: 182: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,374 INFO L273 TraceCheckUtils]: 183: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,374 INFO L273 TraceCheckUtils]: 184: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,374 INFO L273 TraceCheckUtils]: 185: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,374 INFO L273 TraceCheckUtils]: 186: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,374 INFO L273 TraceCheckUtils]: 187: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,374 INFO L273 TraceCheckUtils]: 188: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,375 INFO L273 TraceCheckUtils]: 189: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,375 INFO L273 TraceCheckUtils]: 190: Hoare triple {25765#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {25765#false} is VALID [2018-11-23 12:18:18,375 INFO L273 TraceCheckUtils]: 191: Hoare triple {25765#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {25765#false} is VALID [2018-11-23 12:18:18,375 INFO L273 TraceCheckUtils]: 192: Hoare triple {25765#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25765#false} is VALID [2018-11-23 12:18:18,375 INFO L273 TraceCheckUtils]: 193: Hoare triple {25765#false} assume !(~i~0 < 40); {25765#false} is VALID [2018-11-23 12:18:18,375 INFO L273 TraceCheckUtils]: 194: Hoare triple {25765#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {25765#false} is VALID [2018-11-23 12:18:18,375 INFO L273 TraceCheckUtils]: 195: Hoare triple {25765#false} assume true; {25765#false} is VALID [2018-11-23 12:18:18,375 INFO L268 TraceCheckUtils]: 196: Hoare quadruple {25765#false} {25765#false} #79#return; {25765#false} is VALID [2018-11-23 12:18:18,375 INFO L273 TraceCheckUtils]: 197: Hoare triple {25765#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {25765#false} is VALID [2018-11-23 12:18:18,375 INFO L273 TraceCheckUtils]: 198: Hoare triple {25765#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {25765#false} is VALID [2018-11-23 12:18:18,376 INFO L273 TraceCheckUtils]: 199: Hoare triple {25765#false} assume !false; {25765#false} is VALID [2018-11-23 12:18:18,393 INFO L134 CoverageAnalysis]: Checked inductivity of 2435 backedges. 0 proven. 961 refuted. 0 times theorem prover too weak. 1474 trivial. 0 not checked. [2018-11-23 12:18:18,412 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:18,413 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 34] total 35 [2018-11-23 12:18:18,413 INFO L78 Accepts]: Start accepts. Automaton has 35 states. Word has length 200 [2018-11-23 12:18:18,414 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:18,414 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states. [2018-11-23 12:18:18,519 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:18,519 INFO L459 AbstractCegarLoop]: Interpolant automaton has 35 states [2018-11-23 12:18:18,520 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2018-11-23 12:18:18,520 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=595, Invalid=595, Unknown=0, NotChecked=0, Total=1190 [2018-11-23 12:18:18,521 INFO L87 Difference]: Start difference. First operand 131 states and 145 transitions. Second operand 35 states. [2018-11-23 12:18:18,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:18,915 INFO L93 Difference]: Finished difference Result 196 states and 224 transitions. [2018-11-23 12:18:18,915 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2018-11-23 12:18:18,915 INFO L78 Accepts]: Start accepts. Automaton has 35 states. Word has length 200 [2018-11-23 12:18:18,915 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:18,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-23 12:18:18,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 120 transitions. [2018-11-23 12:18:18,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-23 12:18:18,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 120 transitions. [2018-11-23 12:18:18,917 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states and 120 transitions. [2018-11-23 12:18:19,076 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:18:19,079 INFO L225 Difference]: With dead ends: 196 [2018-11-23 12:18:19,079 INFO L226 Difference]: Without dead ends: 134 [2018-11-23 12:18:19,080 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 233 GetRequests, 200 SyntacticMatches, 0 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=595, Invalid=595, Unknown=0, NotChecked=0, Total=1190 [2018-11-23 12:18:19,080 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states. [2018-11-23 12:18:19,123 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 133. [2018-11-23 12:18:19,123 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:19,123 INFO L82 GeneralOperation]: Start isEquivalent. First operand 134 states. Second operand 133 states. [2018-11-23 12:18:19,124 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 133 states. [2018-11-23 12:18:19,124 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 133 states. [2018-11-23 12:18:19,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:19,126 INFO L93 Difference]: Finished difference Result 134 states and 148 transitions. [2018-11-23 12:18:19,126 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 148 transitions. [2018-11-23 12:18:19,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:19,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:19,126 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 134 states. [2018-11-23 12:18:19,126 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 134 states. [2018-11-23 12:18:19,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:19,129 INFO L93 Difference]: Finished difference Result 134 states and 148 transitions. [2018-11-23 12:18:19,129 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 148 transitions. [2018-11-23 12:18:19,129 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:19,129 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:19,130 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:19,130 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:19,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2018-11-23 12:18:19,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 147 transitions. [2018-11-23 12:18:19,132 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 147 transitions. Word has length 200 [2018-11-23 12:18:19,132 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:19,133 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 147 transitions. [2018-11-23 12:18:19,133 INFO L481 AbstractCegarLoop]: Interpolant automaton has 35 states. [2018-11-23 12:18:19,133 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 147 transitions. [2018-11-23 12:18:19,134 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 203 [2018-11-23 12:18:19,134 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:19,134 INFO L402 BasicCegarLoop]: trace histogram [32, 32, 30, 30, 30, 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:18:19,135 INFO L423 AbstractCegarLoop]: === Iteration 36 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:19,135 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:19,135 INFO L82 PathProgramCache]: Analyzing trace with hash 88488390, now seen corresponding path program 32 times [2018-11-23 12:18:19,135 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:19,135 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:19,136 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:19,136 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:18:19,136 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:19,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:20,682 INFO L256 TraceCheckUtils]: 0: Hoare triple {27141#true} call ULTIMATE.init(); {27141#true} is VALID [2018-11-23 12:18:20,683 INFO L273 TraceCheckUtils]: 1: Hoare triple {27141#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {27141#true} is VALID [2018-11-23 12:18:20,683 INFO L273 TraceCheckUtils]: 2: Hoare triple {27141#true} assume true; {27141#true} is VALID [2018-11-23 12:18:20,683 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {27141#true} {27141#true} #71#return; {27141#true} is VALID [2018-11-23 12:18:20,683 INFO L256 TraceCheckUtils]: 4: Hoare triple {27141#true} call #t~ret14 := main(); {27141#true} is VALID [2018-11-23 12:18:20,684 INFO L273 TraceCheckUtils]: 5: Hoare triple {27141#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {27143#(= main_~i~1 0)} is VALID [2018-11-23 12:18:20,684 INFO L273 TraceCheckUtils]: 6: Hoare triple {27143#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27143#(= main_~i~1 0)} is VALID [2018-11-23 12:18:20,685 INFO L273 TraceCheckUtils]: 7: Hoare triple {27143#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27144#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:20,685 INFO L273 TraceCheckUtils]: 8: Hoare triple {27144#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27144#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:20,685 INFO L273 TraceCheckUtils]: 9: Hoare triple {27144#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27145#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:20,686 INFO L273 TraceCheckUtils]: 10: Hoare triple {27145#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27145#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:20,686 INFO L273 TraceCheckUtils]: 11: Hoare triple {27145#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27146#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:20,686 INFO L273 TraceCheckUtils]: 12: Hoare triple {27146#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27146#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:20,687 INFO L273 TraceCheckUtils]: 13: Hoare triple {27146#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27147#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:20,687 INFO L273 TraceCheckUtils]: 14: Hoare triple {27147#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27147#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:20,688 INFO L273 TraceCheckUtils]: 15: Hoare triple {27147#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27148#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:20,688 INFO L273 TraceCheckUtils]: 16: Hoare triple {27148#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27148#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:20,689 INFO L273 TraceCheckUtils]: 17: Hoare triple {27148#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27149#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:20,689 INFO L273 TraceCheckUtils]: 18: Hoare triple {27149#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27149#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:20,690 INFO L273 TraceCheckUtils]: 19: Hoare triple {27149#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27150#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:20,691 INFO L273 TraceCheckUtils]: 20: Hoare triple {27150#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27150#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:20,691 INFO L273 TraceCheckUtils]: 21: Hoare triple {27150#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27151#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:20,692 INFO L273 TraceCheckUtils]: 22: Hoare triple {27151#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27151#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:20,692 INFO L273 TraceCheckUtils]: 23: Hoare triple {27151#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27152#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:20,693 INFO L273 TraceCheckUtils]: 24: Hoare triple {27152#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27152#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:20,694 INFO L273 TraceCheckUtils]: 25: Hoare triple {27152#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27153#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:20,694 INFO L273 TraceCheckUtils]: 26: Hoare triple {27153#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27153#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:20,695 INFO L273 TraceCheckUtils]: 27: Hoare triple {27153#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27154#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:20,695 INFO L273 TraceCheckUtils]: 28: Hoare triple {27154#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27154#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:20,696 INFO L273 TraceCheckUtils]: 29: Hoare triple {27154#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27155#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:20,696 INFO L273 TraceCheckUtils]: 30: Hoare triple {27155#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27155#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:20,697 INFO L273 TraceCheckUtils]: 31: Hoare triple {27155#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27156#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:20,698 INFO L273 TraceCheckUtils]: 32: Hoare triple {27156#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27156#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:20,698 INFO L273 TraceCheckUtils]: 33: Hoare triple {27156#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27157#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:20,699 INFO L273 TraceCheckUtils]: 34: Hoare triple {27157#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27157#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:20,699 INFO L273 TraceCheckUtils]: 35: Hoare triple {27157#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27158#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:20,700 INFO L273 TraceCheckUtils]: 36: Hoare triple {27158#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27158#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:20,701 INFO L273 TraceCheckUtils]: 37: Hoare triple {27158#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27159#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:20,701 INFO L273 TraceCheckUtils]: 38: Hoare triple {27159#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27159#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:20,702 INFO L273 TraceCheckUtils]: 39: Hoare triple {27159#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27160#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:20,702 INFO L273 TraceCheckUtils]: 40: Hoare triple {27160#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27160#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:20,703 INFO L273 TraceCheckUtils]: 41: Hoare triple {27160#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27161#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:20,703 INFO L273 TraceCheckUtils]: 42: Hoare triple {27161#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27161#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:20,704 INFO L273 TraceCheckUtils]: 43: Hoare triple {27161#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27162#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:20,705 INFO L273 TraceCheckUtils]: 44: Hoare triple {27162#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27162#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:20,705 INFO L273 TraceCheckUtils]: 45: Hoare triple {27162#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27163#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:20,706 INFO L273 TraceCheckUtils]: 46: Hoare triple {27163#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27163#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:20,706 INFO L273 TraceCheckUtils]: 47: Hoare triple {27163#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27164#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:20,707 INFO L273 TraceCheckUtils]: 48: Hoare triple {27164#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27164#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:20,707 INFO L273 TraceCheckUtils]: 49: Hoare triple {27164#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27165#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:20,708 INFO L273 TraceCheckUtils]: 50: Hoare triple {27165#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27165#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:20,709 INFO L273 TraceCheckUtils]: 51: Hoare triple {27165#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27166#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:20,709 INFO L273 TraceCheckUtils]: 52: Hoare triple {27166#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27166#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:20,710 INFO L273 TraceCheckUtils]: 53: Hoare triple {27166#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27167#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:20,710 INFO L273 TraceCheckUtils]: 54: Hoare triple {27167#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27167#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:20,711 INFO L273 TraceCheckUtils]: 55: Hoare triple {27167#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27168#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:20,711 INFO L273 TraceCheckUtils]: 56: Hoare triple {27168#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27168#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:20,712 INFO L273 TraceCheckUtils]: 57: Hoare triple {27168#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27169#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:20,713 INFO L273 TraceCheckUtils]: 58: Hoare triple {27169#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27169#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:20,713 INFO L273 TraceCheckUtils]: 59: Hoare triple {27169#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27170#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:20,714 INFO L273 TraceCheckUtils]: 60: Hoare triple {27170#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27170#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:20,715 INFO L273 TraceCheckUtils]: 61: Hoare triple {27170#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27171#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:20,715 INFO L273 TraceCheckUtils]: 62: Hoare triple {27171#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27171#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:20,716 INFO L273 TraceCheckUtils]: 63: Hoare triple {27171#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27172#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:20,716 INFO L273 TraceCheckUtils]: 64: Hoare triple {27172#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27172#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:20,717 INFO L273 TraceCheckUtils]: 65: Hoare triple {27172#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27173#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:20,717 INFO L273 TraceCheckUtils]: 66: Hoare triple {27173#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27173#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:20,718 INFO L273 TraceCheckUtils]: 67: Hoare triple {27173#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27174#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:20,718 INFO L273 TraceCheckUtils]: 68: Hoare triple {27174#(<= main_~i~1 31)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27174#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:20,719 INFO L273 TraceCheckUtils]: 69: Hoare triple {27174#(<= main_~i~1 31)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27175#(<= main_~i~1 32)} is VALID [2018-11-23 12:18:20,720 INFO L273 TraceCheckUtils]: 70: Hoare triple {27175#(<= main_~i~1 32)} assume !(~i~1 < 40); {27142#false} is VALID [2018-11-23 12:18:20,720 INFO L256 TraceCheckUtils]: 71: Hoare triple {27142#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {27141#true} is VALID [2018-11-23 12:18:20,720 INFO L273 TraceCheckUtils]: 72: Hoare triple {27141#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {27141#true} is VALID [2018-11-23 12:18:20,720 INFO L273 TraceCheckUtils]: 73: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,720 INFO L273 TraceCheckUtils]: 74: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,721 INFO L273 TraceCheckUtils]: 75: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,721 INFO L273 TraceCheckUtils]: 76: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,721 INFO L273 TraceCheckUtils]: 77: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,721 INFO L273 TraceCheckUtils]: 78: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,721 INFO L273 TraceCheckUtils]: 79: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,721 INFO L273 TraceCheckUtils]: 80: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,722 INFO L273 TraceCheckUtils]: 81: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,722 INFO L273 TraceCheckUtils]: 82: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,722 INFO L273 TraceCheckUtils]: 83: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,722 INFO L273 TraceCheckUtils]: 84: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,722 INFO L273 TraceCheckUtils]: 85: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,722 INFO L273 TraceCheckUtils]: 86: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,723 INFO L273 TraceCheckUtils]: 87: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,723 INFO L273 TraceCheckUtils]: 88: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,723 INFO L273 TraceCheckUtils]: 89: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,723 INFO L273 TraceCheckUtils]: 90: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,723 INFO L273 TraceCheckUtils]: 91: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,723 INFO L273 TraceCheckUtils]: 92: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,723 INFO L273 TraceCheckUtils]: 93: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,723 INFO L273 TraceCheckUtils]: 94: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,723 INFO L273 TraceCheckUtils]: 95: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,723 INFO L273 TraceCheckUtils]: 96: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,724 INFO L273 TraceCheckUtils]: 97: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,724 INFO L273 TraceCheckUtils]: 98: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,724 INFO L273 TraceCheckUtils]: 99: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,724 INFO L273 TraceCheckUtils]: 100: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,724 INFO L273 TraceCheckUtils]: 101: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,724 INFO L273 TraceCheckUtils]: 102: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,724 INFO L273 TraceCheckUtils]: 103: Hoare triple {27141#true} assume !(~i~0 < 40); {27141#true} is VALID [2018-11-23 12:18:20,724 INFO L273 TraceCheckUtils]: 104: Hoare triple {27141#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {27141#true} is VALID [2018-11-23 12:18:20,724 INFO L273 TraceCheckUtils]: 105: Hoare triple {27141#true} assume true; {27141#true} is VALID [2018-11-23 12:18:20,724 INFO L268 TraceCheckUtils]: 106: Hoare quadruple {27141#true} {27142#false} #75#return; {27142#false} is VALID [2018-11-23 12:18:20,725 INFO L273 TraceCheckUtils]: 107: Hoare triple {27142#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); {27142#false} is VALID [2018-11-23 12:18:20,725 INFO L256 TraceCheckUtils]: 108: Hoare triple {27142#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {27141#true} is VALID [2018-11-23 12:18:20,725 INFO L273 TraceCheckUtils]: 109: Hoare triple {27141#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {27141#true} is VALID [2018-11-23 12:18:20,725 INFO L273 TraceCheckUtils]: 110: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,725 INFO L273 TraceCheckUtils]: 111: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,725 INFO L273 TraceCheckUtils]: 112: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,725 INFO L273 TraceCheckUtils]: 113: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,725 INFO L273 TraceCheckUtils]: 114: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,725 INFO L273 TraceCheckUtils]: 115: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,725 INFO L273 TraceCheckUtils]: 116: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,726 INFO L273 TraceCheckUtils]: 117: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,726 INFO L273 TraceCheckUtils]: 118: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,726 INFO L273 TraceCheckUtils]: 119: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,726 INFO L273 TraceCheckUtils]: 120: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,726 INFO L273 TraceCheckUtils]: 121: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,726 INFO L273 TraceCheckUtils]: 122: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,726 INFO L273 TraceCheckUtils]: 123: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,726 INFO L273 TraceCheckUtils]: 124: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,726 INFO L273 TraceCheckUtils]: 125: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,726 INFO L273 TraceCheckUtils]: 126: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,727 INFO L273 TraceCheckUtils]: 127: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,727 INFO L273 TraceCheckUtils]: 128: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,727 INFO L273 TraceCheckUtils]: 129: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,727 INFO L273 TraceCheckUtils]: 130: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,727 INFO L273 TraceCheckUtils]: 131: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,727 INFO L273 TraceCheckUtils]: 132: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,727 INFO L273 TraceCheckUtils]: 133: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,727 INFO L273 TraceCheckUtils]: 134: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,727 INFO L273 TraceCheckUtils]: 135: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,727 INFO L273 TraceCheckUtils]: 136: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,728 INFO L273 TraceCheckUtils]: 137: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,728 INFO L273 TraceCheckUtils]: 138: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,728 INFO L273 TraceCheckUtils]: 139: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,728 INFO L273 TraceCheckUtils]: 140: Hoare triple {27141#true} assume !(~i~0 < 40); {27141#true} is VALID [2018-11-23 12:18:20,728 INFO L273 TraceCheckUtils]: 141: Hoare triple {27141#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {27141#true} is VALID [2018-11-23 12:18:20,728 INFO L273 TraceCheckUtils]: 142: Hoare triple {27141#true} assume true; {27141#true} is VALID [2018-11-23 12:18:20,728 INFO L268 TraceCheckUtils]: 143: Hoare quadruple {27141#true} {27142#false} #77#return; {27142#false} is VALID [2018-11-23 12:18:20,728 INFO L273 TraceCheckUtils]: 144: Hoare triple {27142#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; {27142#false} is VALID [2018-11-23 12:18:20,728 INFO L273 TraceCheckUtils]: 145: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:20,729 INFO L273 TraceCheckUtils]: 146: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:20,729 INFO L273 TraceCheckUtils]: 147: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:20,729 INFO L273 TraceCheckUtils]: 148: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:20,729 INFO L273 TraceCheckUtils]: 149: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:20,729 INFO L273 TraceCheckUtils]: 150: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:20,729 INFO L273 TraceCheckUtils]: 151: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:20,729 INFO L273 TraceCheckUtils]: 152: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:20,729 INFO L273 TraceCheckUtils]: 153: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:20,729 INFO L273 TraceCheckUtils]: 154: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:20,729 INFO L273 TraceCheckUtils]: 155: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:20,730 INFO L273 TraceCheckUtils]: 156: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:20,730 INFO L273 TraceCheckUtils]: 157: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:20,730 INFO L273 TraceCheckUtils]: 158: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:20,730 INFO L273 TraceCheckUtils]: 159: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:20,730 INFO L273 TraceCheckUtils]: 160: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:20,730 INFO L273 TraceCheckUtils]: 161: Hoare triple {27142#false} assume !(~i~2 < 39); {27142#false} is VALID [2018-11-23 12:18:20,730 INFO L273 TraceCheckUtils]: 162: Hoare triple {27142#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {27142#false} is VALID [2018-11-23 12:18:20,730 INFO L256 TraceCheckUtils]: 163: Hoare triple {27142#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {27141#true} is VALID [2018-11-23 12:18:20,730 INFO L273 TraceCheckUtils]: 164: Hoare triple {27141#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {27141#true} is VALID [2018-11-23 12:18:20,730 INFO L273 TraceCheckUtils]: 165: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,731 INFO L273 TraceCheckUtils]: 166: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,731 INFO L273 TraceCheckUtils]: 167: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,731 INFO L273 TraceCheckUtils]: 168: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,731 INFO L273 TraceCheckUtils]: 169: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,731 INFO L273 TraceCheckUtils]: 170: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,731 INFO L273 TraceCheckUtils]: 171: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,731 INFO L273 TraceCheckUtils]: 172: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,731 INFO L273 TraceCheckUtils]: 173: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,731 INFO L273 TraceCheckUtils]: 174: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,731 INFO L273 TraceCheckUtils]: 175: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,732 INFO L273 TraceCheckUtils]: 176: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,732 INFO L273 TraceCheckUtils]: 177: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,732 INFO L273 TraceCheckUtils]: 178: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,732 INFO L273 TraceCheckUtils]: 179: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,732 INFO L273 TraceCheckUtils]: 180: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,732 INFO L273 TraceCheckUtils]: 181: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,732 INFO L273 TraceCheckUtils]: 182: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,732 INFO L273 TraceCheckUtils]: 183: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,732 INFO L273 TraceCheckUtils]: 184: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,732 INFO L273 TraceCheckUtils]: 185: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,733 INFO L273 TraceCheckUtils]: 186: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,733 INFO L273 TraceCheckUtils]: 187: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,733 INFO L273 TraceCheckUtils]: 188: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,733 INFO L273 TraceCheckUtils]: 189: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,733 INFO L273 TraceCheckUtils]: 190: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,733 INFO L273 TraceCheckUtils]: 191: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,733 INFO L273 TraceCheckUtils]: 192: Hoare triple {27141#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27141#true} is VALID [2018-11-23 12:18:20,733 INFO L273 TraceCheckUtils]: 193: Hoare triple {27141#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27141#true} is VALID [2018-11-23 12:18:20,733 INFO L273 TraceCheckUtils]: 194: Hoare triple {27141#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27141#true} is VALID [2018-11-23 12:18:20,733 INFO L273 TraceCheckUtils]: 195: Hoare triple {27141#true} assume !(~i~0 < 40); {27141#true} is VALID [2018-11-23 12:18:20,734 INFO L273 TraceCheckUtils]: 196: Hoare triple {27141#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {27141#true} is VALID [2018-11-23 12:18:20,734 INFO L273 TraceCheckUtils]: 197: Hoare triple {27141#true} assume true; {27141#true} is VALID [2018-11-23 12:18:20,734 INFO L268 TraceCheckUtils]: 198: Hoare quadruple {27141#true} {27142#false} #79#return; {27142#false} is VALID [2018-11-23 12:18:20,734 INFO L273 TraceCheckUtils]: 199: Hoare triple {27142#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {27142#false} is VALID [2018-11-23 12:18:20,734 INFO L273 TraceCheckUtils]: 200: Hoare triple {27142#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {27142#false} is VALID [2018-11-23 12:18:20,734 INFO L273 TraceCheckUtils]: 201: Hoare triple {27142#false} assume !false; {27142#false} is VALID [2018-11-23 12:18:20,751 INFO L134 CoverageAnalysis]: Checked inductivity of 2498 backedges. 0 proven. 1024 refuted. 0 times theorem prover too weak. 1474 trivial. 0 not checked. [2018-11-23 12:18:20,751 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:20,751 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:18:20,759 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:18:20,865 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:18:20,865 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:20,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:20,909 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:21,193 INFO L256 TraceCheckUtils]: 0: Hoare triple {27141#true} call ULTIMATE.init(); {27141#true} is VALID [2018-11-23 12:18:21,193 INFO L273 TraceCheckUtils]: 1: Hoare triple {27141#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {27141#true} is VALID [2018-11-23 12:18:21,193 INFO L273 TraceCheckUtils]: 2: Hoare triple {27141#true} assume true; {27141#true} is VALID [2018-11-23 12:18:21,193 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {27141#true} {27141#true} #71#return; {27141#true} is VALID [2018-11-23 12:18:21,193 INFO L256 TraceCheckUtils]: 4: Hoare triple {27141#true} call #t~ret14 := main(); {27141#true} is VALID [2018-11-23 12:18:21,194 INFO L273 TraceCheckUtils]: 5: Hoare triple {27141#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {27194#(<= main_~i~1 0)} is VALID [2018-11-23 12:18:21,194 INFO L273 TraceCheckUtils]: 6: Hoare triple {27194#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27194#(<= main_~i~1 0)} is VALID [2018-11-23 12:18:21,195 INFO L273 TraceCheckUtils]: 7: Hoare triple {27194#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27144#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:21,195 INFO L273 TraceCheckUtils]: 8: Hoare triple {27144#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27144#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:21,196 INFO L273 TraceCheckUtils]: 9: Hoare triple {27144#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27145#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:21,196 INFO L273 TraceCheckUtils]: 10: Hoare triple {27145#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27145#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:21,197 INFO L273 TraceCheckUtils]: 11: Hoare triple {27145#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27146#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:21,197 INFO L273 TraceCheckUtils]: 12: Hoare triple {27146#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27146#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:21,198 INFO L273 TraceCheckUtils]: 13: Hoare triple {27146#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27147#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:21,199 INFO L273 TraceCheckUtils]: 14: Hoare triple {27147#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27147#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:21,199 INFO L273 TraceCheckUtils]: 15: Hoare triple {27147#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27148#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:21,200 INFO L273 TraceCheckUtils]: 16: Hoare triple {27148#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27148#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:21,201 INFO L273 TraceCheckUtils]: 17: Hoare triple {27148#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27149#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:21,201 INFO L273 TraceCheckUtils]: 18: Hoare triple {27149#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27149#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:21,202 INFO L273 TraceCheckUtils]: 19: Hoare triple {27149#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27150#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:21,202 INFO L273 TraceCheckUtils]: 20: Hoare triple {27150#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27150#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:21,203 INFO L273 TraceCheckUtils]: 21: Hoare triple {27150#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27151#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:21,204 INFO L273 TraceCheckUtils]: 22: Hoare triple {27151#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27151#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:21,204 INFO L273 TraceCheckUtils]: 23: Hoare triple {27151#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27152#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:21,205 INFO L273 TraceCheckUtils]: 24: Hoare triple {27152#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27152#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:21,205 INFO L273 TraceCheckUtils]: 25: Hoare triple {27152#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27153#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:21,206 INFO L273 TraceCheckUtils]: 26: Hoare triple {27153#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27153#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:21,207 INFO L273 TraceCheckUtils]: 27: Hoare triple {27153#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27154#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:21,207 INFO L273 TraceCheckUtils]: 28: Hoare triple {27154#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27154#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:21,208 INFO L273 TraceCheckUtils]: 29: Hoare triple {27154#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27155#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:21,208 INFO L273 TraceCheckUtils]: 30: Hoare triple {27155#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27155#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:21,209 INFO L273 TraceCheckUtils]: 31: Hoare triple {27155#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27156#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:21,210 INFO L273 TraceCheckUtils]: 32: Hoare triple {27156#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27156#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:21,210 INFO L273 TraceCheckUtils]: 33: Hoare triple {27156#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27157#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:21,211 INFO L273 TraceCheckUtils]: 34: Hoare triple {27157#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27157#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:21,212 INFO L273 TraceCheckUtils]: 35: Hoare triple {27157#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27158#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:21,212 INFO L273 TraceCheckUtils]: 36: Hoare triple {27158#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27158#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:21,213 INFO L273 TraceCheckUtils]: 37: Hoare triple {27158#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27159#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:21,213 INFO L273 TraceCheckUtils]: 38: Hoare triple {27159#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27159#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:21,214 INFO L273 TraceCheckUtils]: 39: Hoare triple {27159#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27160#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:21,215 INFO L273 TraceCheckUtils]: 40: Hoare triple {27160#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27160#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:21,215 INFO L273 TraceCheckUtils]: 41: Hoare triple {27160#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27161#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:21,216 INFO L273 TraceCheckUtils]: 42: Hoare triple {27161#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27161#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:21,217 INFO L273 TraceCheckUtils]: 43: Hoare triple {27161#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27162#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:21,217 INFO L273 TraceCheckUtils]: 44: Hoare triple {27162#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27162#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:21,218 INFO L273 TraceCheckUtils]: 45: Hoare triple {27162#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27163#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:21,218 INFO L273 TraceCheckUtils]: 46: Hoare triple {27163#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27163#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:21,219 INFO L273 TraceCheckUtils]: 47: Hoare triple {27163#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27164#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:21,220 INFO L273 TraceCheckUtils]: 48: Hoare triple {27164#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27164#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:21,220 INFO L273 TraceCheckUtils]: 49: Hoare triple {27164#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27165#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:21,221 INFO L273 TraceCheckUtils]: 50: Hoare triple {27165#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27165#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:21,222 INFO L273 TraceCheckUtils]: 51: Hoare triple {27165#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27166#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:21,222 INFO L273 TraceCheckUtils]: 52: Hoare triple {27166#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27166#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:21,223 INFO L273 TraceCheckUtils]: 53: Hoare triple {27166#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27167#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:21,223 INFO L273 TraceCheckUtils]: 54: Hoare triple {27167#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27167#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:21,224 INFO L273 TraceCheckUtils]: 55: Hoare triple {27167#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27168#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:21,225 INFO L273 TraceCheckUtils]: 56: Hoare triple {27168#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27168#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:21,225 INFO L273 TraceCheckUtils]: 57: Hoare triple {27168#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27169#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:21,226 INFO L273 TraceCheckUtils]: 58: Hoare triple {27169#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27169#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:21,226 INFO L273 TraceCheckUtils]: 59: Hoare triple {27169#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27170#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:21,227 INFO L273 TraceCheckUtils]: 60: Hoare triple {27170#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27170#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:21,228 INFO L273 TraceCheckUtils]: 61: Hoare triple {27170#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27171#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:21,228 INFO L273 TraceCheckUtils]: 62: Hoare triple {27171#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27171#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:21,229 INFO L273 TraceCheckUtils]: 63: Hoare triple {27171#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27172#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:21,229 INFO L273 TraceCheckUtils]: 64: Hoare triple {27172#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27172#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:21,230 INFO L273 TraceCheckUtils]: 65: Hoare triple {27172#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27173#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:21,231 INFO L273 TraceCheckUtils]: 66: Hoare triple {27173#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27173#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:21,231 INFO L273 TraceCheckUtils]: 67: Hoare triple {27173#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27174#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:21,232 INFO L273 TraceCheckUtils]: 68: Hoare triple {27174#(<= main_~i~1 31)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {27174#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:21,233 INFO L273 TraceCheckUtils]: 69: Hoare triple {27174#(<= main_~i~1 31)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {27175#(<= main_~i~1 32)} is VALID [2018-11-23 12:18:21,233 INFO L273 TraceCheckUtils]: 70: Hoare triple {27175#(<= main_~i~1 32)} assume !(~i~1 < 40); {27142#false} is VALID [2018-11-23 12:18:21,233 INFO L256 TraceCheckUtils]: 71: Hoare triple {27142#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {27142#false} is VALID [2018-11-23 12:18:21,234 INFO L273 TraceCheckUtils]: 72: Hoare triple {27142#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {27142#false} is VALID [2018-11-23 12:18:21,234 INFO L273 TraceCheckUtils]: 73: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,234 INFO L273 TraceCheckUtils]: 74: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,234 INFO L273 TraceCheckUtils]: 75: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,234 INFO L273 TraceCheckUtils]: 76: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,234 INFO L273 TraceCheckUtils]: 77: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,235 INFO L273 TraceCheckUtils]: 78: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,235 INFO L273 TraceCheckUtils]: 79: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,235 INFO L273 TraceCheckUtils]: 80: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,235 INFO L273 TraceCheckUtils]: 81: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,235 INFO L273 TraceCheckUtils]: 82: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,236 INFO L273 TraceCheckUtils]: 83: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,236 INFO L273 TraceCheckUtils]: 84: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,236 INFO L273 TraceCheckUtils]: 85: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,236 INFO L273 TraceCheckUtils]: 86: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,236 INFO L273 TraceCheckUtils]: 87: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,236 INFO L273 TraceCheckUtils]: 88: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,237 INFO L273 TraceCheckUtils]: 89: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,237 INFO L273 TraceCheckUtils]: 90: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,237 INFO L273 TraceCheckUtils]: 91: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,237 INFO L273 TraceCheckUtils]: 92: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,237 INFO L273 TraceCheckUtils]: 93: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,237 INFO L273 TraceCheckUtils]: 94: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,238 INFO L273 TraceCheckUtils]: 95: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,238 INFO L273 TraceCheckUtils]: 96: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,238 INFO L273 TraceCheckUtils]: 97: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,238 INFO L273 TraceCheckUtils]: 98: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,238 INFO L273 TraceCheckUtils]: 99: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,238 INFO L273 TraceCheckUtils]: 100: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,238 INFO L273 TraceCheckUtils]: 101: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,238 INFO L273 TraceCheckUtils]: 102: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,238 INFO L273 TraceCheckUtils]: 103: Hoare triple {27142#false} assume !(~i~0 < 40); {27142#false} is VALID [2018-11-23 12:18:21,238 INFO L273 TraceCheckUtils]: 104: Hoare triple {27142#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {27142#false} is VALID [2018-11-23 12:18:21,239 INFO L273 TraceCheckUtils]: 105: Hoare triple {27142#false} assume true; {27142#false} is VALID [2018-11-23 12:18:21,239 INFO L268 TraceCheckUtils]: 106: Hoare quadruple {27142#false} {27142#false} #75#return; {27142#false} is VALID [2018-11-23 12:18:21,239 INFO L273 TraceCheckUtils]: 107: Hoare triple {27142#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); {27142#false} is VALID [2018-11-23 12:18:21,239 INFO L256 TraceCheckUtils]: 108: Hoare triple {27142#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {27142#false} is VALID [2018-11-23 12:18:21,239 INFO L273 TraceCheckUtils]: 109: Hoare triple {27142#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {27142#false} is VALID [2018-11-23 12:18:21,239 INFO L273 TraceCheckUtils]: 110: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,239 INFO L273 TraceCheckUtils]: 111: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,239 INFO L273 TraceCheckUtils]: 112: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,239 INFO L273 TraceCheckUtils]: 113: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,239 INFO L273 TraceCheckUtils]: 114: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,240 INFO L273 TraceCheckUtils]: 115: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,240 INFO L273 TraceCheckUtils]: 116: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,240 INFO L273 TraceCheckUtils]: 117: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,240 INFO L273 TraceCheckUtils]: 118: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,240 INFO L273 TraceCheckUtils]: 119: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,240 INFO L273 TraceCheckUtils]: 120: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,240 INFO L273 TraceCheckUtils]: 121: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,240 INFO L273 TraceCheckUtils]: 122: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,240 INFO L273 TraceCheckUtils]: 123: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,240 INFO L273 TraceCheckUtils]: 124: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,241 INFO L273 TraceCheckUtils]: 125: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,241 INFO L273 TraceCheckUtils]: 126: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,241 INFO L273 TraceCheckUtils]: 127: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,241 INFO L273 TraceCheckUtils]: 128: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,241 INFO L273 TraceCheckUtils]: 129: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,241 INFO L273 TraceCheckUtils]: 130: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,241 INFO L273 TraceCheckUtils]: 131: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,241 INFO L273 TraceCheckUtils]: 132: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,241 INFO L273 TraceCheckUtils]: 133: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,242 INFO L273 TraceCheckUtils]: 134: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,242 INFO L273 TraceCheckUtils]: 135: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,242 INFO L273 TraceCheckUtils]: 136: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,242 INFO L273 TraceCheckUtils]: 137: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,242 INFO L273 TraceCheckUtils]: 138: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,242 INFO L273 TraceCheckUtils]: 139: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,242 INFO L273 TraceCheckUtils]: 140: Hoare triple {27142#false} assume !(~i~0 < 40); {27142#false} is VALID [2018-11-23 12:18:21,242 INFO L273 TraceCheckUtils]: 141: Hoare triple {27142#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {27142#false} is VALID [2018-11-23 12:18:21,242 INFO L273 TraceCheckUtils]: 142: Hoare triple {27142#false} assume true; {27142#false} is VALID [2018-11-23 12:18:21,242 INFO L268 TraceCheckUtils]: 143: Hoare quadruple {27142#false} {27142#false} #77#return; {27142#false} is VALID [2018-11-23 12:18:21,243 INFO L273 TraceCheckUtils]: 144: Hoare triple {27142#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; {27142#false} is VALID [2018-11-23 12:18:21,243 INFO L273 TraceCheckUtils]: 145: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:21,243 INFO L273 TraceCheckUtils]: 146: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:21,243 INFO L273 TraceCheckUtils]: 147: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:21,243 INFO L273 TraceCheckUtils]: 148: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:21,243 INFO L273 TraceCheckUtils]: 149: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:21,243 INFO L273 TraceCheckUtils]: 150: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:21,243 INFO L273 TraceCheckUtils]: 151: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:21,243 INFO L273 TraceCheckUtils]: 152: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:21,243 INFO L273 TraceCheckUtils]: 153: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:21,244 INFO L273 TraceCheckUtils]: 154: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:21,244 INFO L273 TraceCheckUtils]: 155: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:21,244 INFO L273 TraceCheckUtils]: 156: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:21,244 INFO L273 TraceCheckUtils]: 157: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:21,244 INFO L273 TraceCheckUtils]: 158: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:21,244 INFO L273 TraceCheckUtils]: 159: Hoare triple {27142#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {27142#false} is VALID [2018-11-23 12:18:21,244 INFO L273 TraceCheckUtils]: 160: Hoare triple {27142#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {27142#false} is VALID [2018-11-23 12:18:21,244 INFO L273 TraceCheckUtils]: 161: Hoare triple {27142#false} assume !(~i~2 < 39); {27142#false} is VALID [2018-11-23 12:18:21,244 INFO L273 TraceCheckUtils]: 162: Hoare triple {27142#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {27142#false} is VALID [2018-11-23 12:18:21,244 INFO L256 TraceCheckUtils]: 163: Hoare triple {27142#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {27142#false} is VALID [2018-11-23 12:18:21,245 INFO L273 TraceCheckUtils]: 164: Hoare triple {27142#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {27142#false} is VALID [2018-11-23 12:18:21,245 INFO L273 TraceCheckUtils]: 165: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,245 INFO L273 TraceCheckUtils]: 166: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,245 INFO L273 TraceCheckUtils]: 167: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,245 INFO L273 TraceCheckUtils]: 168: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,245 INFO L273 TraceCheckUtils]: 169: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,245 INFO L273 TraceCheckUtils]: 170: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,245 INFO L273 TraceCheckUtils]: 171: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,245 INFO L273 TraceCheckUtils]: 172: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,245 INFO L273 TraceCheckUtils]: 173: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,246 INFO L273 TraceCheckUtils]: 174: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,246 INFO L273 TraceCheckUtils]: 175: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,246 INFO L273 TraceCheckUtils]: 176: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,246 INFO L273 TraceCheckUtils]: 177: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,246 INFO L273 TraceCheckUtils]: 178: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,246 INFO L273 TraceCheckUtils]: 179: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,246 INFO L273 TraceCheckUtils]: 180: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,246 INFO L273 TraceCheckUtils]: 181: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,246 INFO L273 TraceCheckUtils]: 182: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,246 INFO L273 TraceCheckUtils]: 183: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,247 INFO L273 TraceCheckUtils]: 184: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,247 INFO L273 TraceCheckUtils]: 185: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,247 INFO L273 TraceCheckUtils]: 186: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,247 INFO L273 TraceCheckUtils]: 187: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,247 INFO L273 TraceCheckUtils]: 188: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,247 INFO L273 TraceCheckUtils]: 189: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,247 INFO L273 TraceCheckUtils]: 190: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,247 INFO L273 TraceCheckUtils]: 191: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,247 INFO L273 TraceCheckUtils]: 192: Hoare triple {27142#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {27142#false} is VALID [2018-11-23 12:18:21,247 INFO L273 TraceCheckUtils]: 193: Hoare triple {27142#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {27142#false} is VALID [2018-11-23 12:18:21,248 INFO L273 TraceCheckUtils]: 194: Hoare triple {27142#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27142#false} is VALID [2018-11-23 12:18:21,248 INFO L273 TraceCheckUtils]: 195: Hoare triple {27142#false} assume !(~i~0 < 40); {27142#false} is VALID [2018-11-23 12:18:21,248 INFO L273 TraceCheckUtils]: 196: Hoare triple {27142#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {27142#false} is VALID [2018-11-23 12:18:21,248 INFO L273 TraceCheckUtils]: 197: Hoare triple {27142#false} assume true; {27142#false} is VALID [2018-11-23 12:18:21,248 INFO L268 TraceCheckUtils]: 198: Hoare quadruple {27142#false} {27142#false} #79#return; {27142#false} is VALID [2018-11-23 12:18:21,248 INFO L273 TraceCheckUtils]: 199: Hoare triple {27142#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {27142#false} is VALID [2018-11-23 12:18:21,248 INFO L273 TraceCheckUtils]: 200: Hoare triple {27142#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {27142#false} is VALID [2018-11-23 12:18:21,248 INFO L273 TraceCheckUtils]: 201: Hoare triple {27142#false} assume !false; {27142#false} is VALID [2018-11-23 12:18:21,264 INFO L134 CoverageAnalysis]: Checked inductivity of 2498 backedges. 0 proven. 1024 refuted. 0 times theorem prover too weak. 1474 trivial. 0 not checked. [2018-11-23 12:18:21,283 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:21,283 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [35, 35] total 36 [2018-11-23 12:18:21,284 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 202 [2018-11-23 12:18:21,284 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:21,284 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 36 states. [2018-11-23 12:18:21,400 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:18:21,400 INFO L459 AbstractCegarLoop]: Interpolant automaton has 36 states [2018-11-23 12:18:21,400 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2018-11-23 12:18:21,401 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=630, Invalid=630, Unknown=0, NotChecked=0, Total=1260 [2018-11-23 12:18:21,401 INFO L87 Difference]: Start difference. First operand 133 states and 147 transitions. Second operand 36 states. [2018-11-23 12:18:22,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:22,741 INFO L93 Difference]: Finished difference Result 198 states and 226 transitions. [2018-11-23 12:18:22,741 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2018-11-23 12:18:22,741 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 202 [2018-11-23 12:18:22,741 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:22,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 12:18:22,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 122 transitions. [2018-11-23 12:18:22,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 12:18:22,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 122 transitions. [2018-11-23 12:18:22,743 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states and 122 transitions. [2018-11-23 12:18:22,860 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:22,863 INFO L225 Difference]: With dead ends: 198 [2018-11-23 12:18:22,863 INFO L226 Difference]: Without dead ends: 136 [2018-11-23 12:18:22,863 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 236 GetRequests, 202 SyntacticMatches, 0 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=630, Invalid=630, Unknown=0, NotChecked=0, Total=1260 [2018-11-23 12:18:22,864 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2018-11-23 12:18:23,175 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 135. [2018-11-23 12:18:23,176 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:23,176 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand 135 states. [2018-11-23 12:18:23,176 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 135 states. [2018-11-23 12:18:23,176 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 135 states. [2018-11-23 12:18:23,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:23,179 INFO L93 Difference]: Finished difference Result 136 states and 150 transitions. [2018-11-23 12:18:23,179 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 150 transitions. [2018-11-23 12:18:23,179 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:23,179 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:23,179 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 136 states. [2018-11-23 12:18:23,179 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 136 states. [2018-11-23 12:18:23,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:23,181 INFO L93 Difference]: Finished difference Result 136 states and 150 transitions. [2018-11-23 12:18:23,181 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 150 transitions. [2018-11-23 12:18:23,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:23,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:23,182 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:23,182 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:23,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 135 states. [2018-11-23 12:18:23,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 149 transitions. [2018-11-23 12:18:23,184 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 149 transitions. Word has length 202 [2018-11-23 12:18:23,184 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:23,184 INFO L480 AbstractCegarLoop]: Abstraction has 135 states and 149 transitions. [2018-11-23 12:18:23,184 INFO L481 AbstractCegarLoop]: Interpolant automaton has 36 states. [2018-11-23 12:18:23,184 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 149 transitions. [2018-11-23 12:18:23,185 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 205 [2018-11-23 12:18:23,185 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:23,185 INFO L402 BasicCegarLoop]: trace histogram [33, 33, 30, 30, 30, 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:18:23,185 INFO L423 AbstractCegarLoop]: === Iteration 37 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:23,185 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:23,185 INFO L82 PathProgramCache]: Analyzing trace with hash 181406440, now seen corresponding path program 33 times [2018-11-23 12:18:23,186 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:23,186 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:23,186 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:23,186 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:23,186 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:23,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:24,261 INFO L256 TraceCheckUtils]: 0: Hoare triple {28535#true} call ULTIMATE.init(); {28535#true} is VALID [2018-11-23 12:18:24,261 INFO L273 TraceCheckUtils]: 1: Hoare triple {28535#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {28535#true} is VALID [2018-11-23 12:18:24,261 INFO L273 TraceCheckUtils]: 2: Hoare triple {28535#true} assume true; {28535#true} is VALID [2018-11-23 12:18:24,261 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {28535#true} {28535#true} #71#return; {28535#true} is VALID [2018-11-23 12:18:24,261 INFO L256 TraceCheckUtils]: 4: Hoare triple {28535#true} call #t~ret14 := main(); {28535#true} is VALID [2018-11-23 12:18:24,262 INFO L273 TraceCheckUtils]: 5: Hoare triple {28535#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {28537#(= main_~i~1 0)} is VALID [2018-11-23 12:18:24,262 INFO L273 TraceCheckUtils]: 6: Hoare triple {28537#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28537#(= main_~i~1 0)} is VALID [2018-11-23 12:18:24,263 INFO L273 TraceCheckUtils]: 7: Hoare triple {28537#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28538#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:24,263 INFO L273 TraceCheckUtils]: 8: Hoare triple {28538#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28538#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:24,263 INFO L273 TraceCheckUtils]: 9: Hoare triple {28538#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28539#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:24,264 INFO L273 TraceCheckUtils]: 10: Hoare triple {28539#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28539#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:24,264 INFO L273 TraceCheckUtils]: 11: Hoare triple {28539#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28540#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:24,265 INFO L273 TraceCheckUtils]: 12: Hoare triple {28540#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28540#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:24,265 INFO L273 TraceCheckUtils]: 13: Hoare triple {28540#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28541#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:24,265 INFO L273 TraceCheckUtils]: 14: Hoare triple {28541#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28541#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:24,266 INFO L273 TraceCheckUtils]: 15: Hoare triple {28541#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28542#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:24,267 INFO L273 TraceCheckUtils]: 16: Hoare triple {28542#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28542#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:24,267 INFO L273 TraceCheckUtils]: 17: Hoare triple {28542#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28543#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:24,268 INFO L273 TraceCheckUtils]: 18: Hoare triple {28543#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28543#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:24,269 INFO L273 TraceCheckUtils]: 19: Hoare triple {28543#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28544#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:24,269 INFO L273 TraceCheckUtils]: 20: Hoare triple {28544#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28544#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:24,270 INFO L273 TraceCheckUtils]: 21: Hoare triple {28544#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28545#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:24,270 INFO L273 TraceCheckUtils]: 22: Hoare triple {28545#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28545#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:24,271 INFO L273 TraceCheckUtils]: 23: Hoare triple {28545#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28546#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:24,271 INFO L273 TraceCheckUtils]: 24: Hoare triple {28546#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28546#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:24,272 INFO L273 TraceCheckUtils]: 25: Hoare triple {28546#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28547#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:24,273 INFO L273 TraceCheckUtils]: 26: Hoare triple {28547#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28547#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:24,273 INFO L273 TraceCheckUtils]: 27: Hoare triple {28547#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28548#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:24,274 INFO L273 TraceCheckUtils]: 28: Hoare triple {28548#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28548#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:24,275 INFO L273 TraceCheckUtils]: 29: Hoare triple {28548#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28549#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:24,275 INFO L273 TraceCheckUtils]: 30: Hoare triple {28549#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28549#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:24,276 INFO L273 TraceCheckUtils]: 31: Hoare triple {28549#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28550#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:24,276 INFO L273 TraceCheckUtils]: 32: Hoare triple {28550#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28550#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:24,277 INFO L273 TraceCheckUtils]: 33: Hoare triple {28550#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28551#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:24,278 INFO L273 TraceCheckUtils]: 34: Hoare triple {28551#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28551#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:24,278 INFO L273 TraceCheckUtils]: 35: Hoare triple {28551#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28552#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:24,279 INFO L273 TraceCheckUtils]: 36: Hoare triple {28552#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28552#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:24,279 INFO L273 TraceCheckUtils]: 37: Hoare triple {28552#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28553#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:24,280 INFO L273 TraceCheckUtils]: 38: Hoare triple {28553#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28553#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:24,281 INFO L273 TraceCheckUtils]: 39: Hoare triple {28553#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28554#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:24,281 INFO L273 TraceCheckUtils]: 40: Hoare triple {28554#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28554#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:24,282 INFO L273 TraceCheckUtils]: 41: Hoare triple {28554#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28555#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:24,282 INFO L273 TraceCheckUtils]: 42: Hoare triple {28555#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28555#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:24,283 INFO L273 TraceCheckUtils]: 43: Hoare triple {28555#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28556#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:24,284 INFO L273 TraceCheckUtils]: 44: Hoare triple {28556#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28556#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:24,284 INFO L273 TraceCheckUtils]: 45: Hoare triple {28556#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28557#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:24,285 INFO L273 TraceCheckUtils]: 46: Hoare triple {28557#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28557#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:24,286 INFO L273 TraceCheckUtils]: 47: Hoare triple {28557#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28558#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:24,286 INFO L273 TraceCheckUtils]: 48: Hoare triple {28558#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28558#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:24,287 INFO L273 TraceCheckUtils]: 49: Hoare triple {28558#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28559#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:24,287 INFO L273 TraceCheckUtils]: 50: Hoare triple {28559#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28559#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:24,288 INFO L273 TraceCheckUtils]: 51: Hoare triple {28559#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28560#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:24,288 INFO L273 TraceCheckUtils]: 52: Hoare triple {28560#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28560#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:24,289 INFO L273 TraceCheckUtils]: 53: Hoare triple {28560#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28561#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:24,289 INFO L273 TraceCheckUtils]: 54: Hoare triple {28561#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28561#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:24,290 INFO L273 TraceCheckUtils]: 55: Hoare triple {28561#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28562#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:24,291 INFO L273 TraceCheckUtils]: 56: Hoare triple {28562#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28562#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:24,291 INFO L273 TraceCheckUtils]: 57: Hoare triple {28562#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28563#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:24,292 INFO L273 TraceCheckUtils]: 58: Hoare triple {28563#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28563#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:24,292 INFO L273 TraceCheckUtils]: 59: Hoare triple {28563#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28564#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:24,293 INFO L273 TraceCheckUtils]: 60: Hoare triple {28564#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28564#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:24,294 INFO L273 TraceCheckUtils]: 61: Hoare triple {28564#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28565#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:24,294 INFO L273 TraceCheckUtils]: 62: Hoare triple {28565#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28565#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:24,295 INFO L273 TraceCheckUtils]: 63: Hoare triple {28565#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28566#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:24,295 INFO L273 TraceCheckUtils]: 64: Hoare triple {28566#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28566#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:24,296 INFO L273 TraceCheckUtils]: 65: Hoare triple {28566#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28567#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:24,296 INFO L273 TraceCheckUtils]: 66: Hoare triple {28567#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28567#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:24,297 INFO L273 TraceCheckUtils]: 67: Hoare triple {28567#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28568#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:24,298 INFO L273 TraceCheckUtils]: 68: Hoare triple {28568#(<= main_~i~1 31)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28568#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:24,298 INFO L273 TraceCheckUtils]: 69: Hoare triple {28568#(<= main_~i~1 31)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28569#(<= main_~i~1 32)} is VALID [2018-11-23 12:18:24,299 INFO L273 TraceCheckUtils]: 70: Hoare triple {28569#(<= main_~i~1 32)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28569#(<= main_~i~1 32)} is VALID [2018-11-23 12:18:24,300 INFO L273 TraceCheckUtils]: 71: Hoare triple {28569#(<= main_~i~1 32)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28570#(<= main_~i~1 33)} is VALID [2018-11-23 12:18:24,300 INFO L273 TraceCheckUtils]: 72: Hoare triple {28570#(<= main_~i~1 33)} assume !(~i~1 < 40); {28536#false} is VALID [2018-11-23 12:18:24,300 INFO L256 TraceCheckUtils]: 73: Hoare triple {28536#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {28535#true} is VALID [2018-11-23 12:18:24,301 INFO L273 TraceCheckUtils]: 74: Hoare triple {28535#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {28535#true} is VALID [2018-11-23 12:18:24,301 INFO L273 TraceCheckUtils]: 75: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,301 INFO L273 TraceCheckUtils]: 76: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,301 INFO L273 TraceCheckUtils]: 77: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,301 INFO L273 TraceCheckUtils]: 78: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,301 INFO L273 TraceCheckUtils]: 79: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,302 INFO L273 TraceCheckUtils]: 80: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,302 INFO L273 TraceCheckUtils]: 81: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,302 INFO L273 TraceCheckUtils]: 82: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,302 INFO L273 TraceCheckUtils]: 83: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,302 INFO L273 TraceCheckUtils]: 84: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,303 INFO L273 TraceCheckUtils]: 85: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,303 INFO L273 TraceCheckUtils]: 86: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,303 INFO L273 TraceCheckUtils]: 87: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,303 INFO L273 TraceCheckUtils]: 88: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,303 INFO L273 TraceCheckUtils]: 89: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,303 INFO L273 TraceCheckUtils]: 90: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,304 INFO L273 TraceCheckUtils]: 91: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,304 INFO L273 TraceCheckUtils]: 92: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,304 INFO L273 TraceCheckUtils]: 93: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,304 INFO L273 TraceCheckUtils]: 94: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,304 INFO L273 TraceCheckUtils]: 95: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,304 INFO L273 TraceCheckUtils]: 96: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,304 INFO L273 TraceCheckUtils]: 97: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,305 INFO L273 TraceCheckUtils]: 98: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,305 INFO L273 TraceCheckUtils]: 99: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,305 INFO L273 TraceCheckUtils]: 100: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,305 INFO L273 TraceCheckUtils]: 101: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,305 INFO L273 TraceCheckUtils]: 102: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,305 INFO L273 TraceCheckUtils]: 103: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,305 INFO L273 TraceCheckUtils]: 104: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,305 INFO L273 TraceCheckUtils]: 105: Hoare triple {28535#true} assume !(~i~0 < 40); {28535#true} is VALID [2018-11-23 12:18:24,305 INFO L273 TraceCheckUtils]: 106: Hoare triple {28535#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {28535#true} is VALID [2018-11-23 12:18:24,305 INFO L273 TraceCheckUtils]: 107: Hoare triple {28535#true} assume true; {28535#true} is VALID [2018-11-23 12:18:24,306 INFO L268 TraceCheckUtils]: 108: Hoare quadruple {28535#true} {28536#false} #75#return; {28536#false} is VALID [2018-11-23 12:18:24,306 INFO L273 TraceCheckUtils]: 109: Hoare triple {28536#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); {28536#false} is VALID [2018-11-23 12:18:24,306 INFO L256 TraceCheckUtils]: 110: Hoare triple {28536#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {28535#true} is VALID [2018-11-23 12:18:24,306 INFO L273 TraceCheckUtils]: 111: Hoare triple {28535#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {28535#true} is VALID [2018-11-23 12:18:24,306 INFO L273 TraceCheckUtils]: 112: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,306 INFO L273 TraceCheckUtils]: 113: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,306 INFO L273 TraceCheckUtils]: 114: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,306 INFO L273 TraceCheckUtils]: 115: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,306 INFO L273 TraceCheckUtils]: 116: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,306 INFO L273 TraceCheckUtils]: 117: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,307 INFO L273 TraceCheckUtils]: 118: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,307 INFO L273 TraceCheckUtils]: 119: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,307 INFO L273 TraceCheckUtils]: 120: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,307 INFO L273 TraceCheckUtils]: 121: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,307 INFO L273 TraceCheckUtils]: 122: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,307 INFO L273 TraceCheckUtils]: 123: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,307 INFO L273 TraceCheckUtils]: 124: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,307 INFO L273 TraceCheckUtils]: 125: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,307 INFO L273 TraceCheckUtils]: 126: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,307 INFO L273 TraceCheckUtils]: 127: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,308 INFO L273 TraceCheckUtils]: 128: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,308 INFO L273 TraceCheckUtils]: 129: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,308 INFO L273 TraceCheckUtils]: 130: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,308 INFO L273 TraceCheckUtils]: 131: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,308 INFO L273 TraceCheckUtils]: 132: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,308 INFO L273 TraceCheckUtils]: 133: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,308 INFO L273 TraceCheckUtils]: 134: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,308 INFO L273 TraceCheckUtils]: 135: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,308 INFO L273 TraceCheckUtils]: 136: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,308 INFO L273 TraceCheckUtils]: 137: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,309 INFO L273 TraceCheckUtils]: 138: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,309 INFO L273 TraceCheckUtils]: 139: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,309 INFO L273 TraceCheckUtils]: 140: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,309 INFO L273 TraceCheckUtils]: 141: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,309 INFO L273 TraceCheckUtils]: 142: Hoare triple {28535#true} assume !(~i~0 < 40); {28535#true} is VALID [2018-11-23 12:18:24,309 INFO L273 TraceCheckUtils]: 143: Hoare triple {28535#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {28535#true} is VALID [2018-11-23 12:18:24,309 INFO L273 TraceCheckUtils]: 144: Hoare triple {28535#true} assume true; {28535#true} is VALID [2018-11-23 12:18:24,309 INFO L268 TraceCheckUtils]: 145: Hoare quadruple {28535#true} {28536#false} #77#return; {28536#false} is VALID [2018-11-23 12:18:24,309 INFO L273 TraceCheckUtils]: 146: Hoare triple {28536#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; {28536#false} is VALID [2018-11-23 12:18:24,309 INFO L273 TraceCheckUtils]: 147: Hoare triple {28536#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {28536#false} is VALID [2018-11-23 12:18:24,310 INFO L273 TraceCheckUtils]: 148: Hoare triple {28536#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {28536#false} is VALID [2018-11-23 12:18:24,310 INFO L273 TraceCheckUtils]: 149: Hoare triple {28536#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {28536#false} is VALID [2018-11-23 12:18:24,310 INFO L273 TraceCheckUtils]: 150: Hoare triple {28536#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {28536#false} is VALID [2018-11-23 12:18:24,310 INFO L273 TraceCheckUtils]: 151: Hoare triple {28536#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {28536#false} is VALID [2018-11-23 12:18:24,310 INFO L273 TraceCheckUtils]: 152: Hoare triple {28536#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {28536#false} is VALID [2018-11-23 12:18:24,310 INFO L273 TraceCheckUtils]: 153: Hoare triple {28536#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {28536#false} is VALID [2018-11-23 12:18:24,310 INFO L273 TraceCheckUtils]: 154: Hoare triple {28536#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {28536#false} is VALID [2018-11-23 12:18:24,310 INFO L273 TraceCheckUtils]: 155: Hoare triple {28536#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {28536#false} is VALID [2018-11-23 12:18:24,310 INFO L273 TraceCheckUtils]: 156: Hoare triple {28536#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {28536#false} is VALID [2018-11-23 12:18:24,310 INFO L273 TraceCheckUtils]: 157: Hoare triple {28536#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {28536#false} is VALID [2018-11-23 12:18:24,311 INFO L273 TraceCheckUtils]: 158: Hoare triple {28536#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {28536#false} is VALID [2018-11-23 12:18:24,311 INFO L273 TraceCheckUtils]: 159: Hoare triple {28536#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {28536#false} is VALID [2018-11-23 12:18:24,311 INFO L273 TraceCheckUtils]: 160: Hoare triple {28536#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {28536#false} is VALID [2018-11-23 12:18:24,311 INFO L273 TraceCheckUtils]: 161: Hoare triple {28536#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {28536#false} is VALID [2018-11-23 12:18:24,311 INFO L273 TraceCheckUtils]: 162: Hoare triple {28536#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {28536#false} is VALID [2018-11-23 12:18:24,311 INFO L273 TraceCheckUtils]: 163: Hoare triple {28536#false} assume !(~i~2 < 39); {28536#false} is VALID [2018-11-23 12:18:24,311 INFO L273 TraceCheckUtils]: 164: Hoare triple {28536#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {28536#false} is VALID [2018-11-23 12:18:24,311 INFO L256 TraceCheckUtils]: 165: Hoare triple {28536#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {28535#true} is VALID [2018-11-23 12:18:24,311 INFO L273 TraceCheckUtils]: 166: Hoare triple {28535#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {28535#true} is VALID [2018-11-23 12:18:24,311 INFO L273 TraceCheckUtils]: 167: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,312 INFO L273 TraceCheckUtils]: 168: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,312 INFO L273 TraceCheckUtils]: 169: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,312 INFO L273 TraceCheckUtils]: 170: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,312 INFO L273 TraceCheckUtils]: 171: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,312 INFO L273 TraceCheckUtils]: 172: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,312 INFO L273 TraceCheckUtils]: 173: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,312 INFO L273 TraceCheckUtils]: 174: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,312 INFO L273 TraceCheckUtils]: 175: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,312 INFO L273 TraceCheckUtils]: 176: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,312 INFO L273 TraceCheckUtils]: 177: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,313 INFO L273 TraceCheckUtils]: 178: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,313 INFO L273 TraceCheckUtils]: 179: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,313 INFO L273 TraceCheckUtils]: 180: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,313 INFO L273 TraceCheckUtils]: 181: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,313 INFO L273 TraceCheckUtils]: 182: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,313 INFO L273 TraceCheckUtils]: 183: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,313 INFO L273 TraceCheckUtils]: 184: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,313 INFO L273 TraceCheckUtils]: 185: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,313 INFO L273 TraceCheckUtils]: 186: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,314 INFO L273 TraceCheckUtils]: 187: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,314 INFO L273 TraceCheckUtils]: 188: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,314 INFO L273 TraceCheckUtils]: 189: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,314 INFO L273 TraceCheckUtils]: 190: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,314 INFO L273 TraceCheckUtils]: 191: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,314 INFO L273 TraceCheckUtils]: 192: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,314 INFO L273 TraceCheckUtils]: 193: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,314 INFO L273 TraceCheckUtils]: 194: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,314 INFO L273 TraceCheckUtils]: 195: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,314 INFO L273 TraceCheckUtils]: 196: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,315 INFO L273 TraceCheckUtils]: 197: Hoare triple {28535#true} assume !(~i~0 < 40); {28535#true} is VALID [2018-11-23 12:18:24,315 INFO L273 TraceCheckUtils]: 198: Hoare triple {28535#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {28535#true} is VALID [2018-11-23 12:18:24,315 INFO L273 TraceCheckUtils]: 199: Hoare triple {28535#true} assume true; {28535#true} is VALID [2018-11-23 12:18:24,315 INFO L268 TraceCheckUtils]: 200: Hoare quadruple {28535#true} {28536#false} #79#return; {28536#false} is VALID [2018-11-23 12:18:24,315 INFO L273 TraceCheckUtils]: 201: Hoare triple {28536#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {28536#false} is VALID [2018-11-23 12:18:24,315 INFO L273 TraceCheckUtils]: 202: Hoare triple {28536#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {28536#false} is VALID [2018-11-23 12:18:24,315 INFO L273 TraceCheckUtils]: 203: Hoare triple {28536#false} assume !false; {28536#false} is VALID [2018-11-23 12:18:24,331 INFO L134 CoverageAnalysis]: Checked inductivity of 2563 backedges. 0 proven. 1089 refuted. 0 times theorem prover too weak. 1474 trivial. 0 not checked. [2018-11-23 12:18:24,331 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:24,331 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:24,340 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:18:24,498 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 10 check-sat command(s) [2018-11-23 12:18:24,499 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:24,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:24,540 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:24,935 INFO L256 TraceCheckUtils]: 0: Hoare triple {28535#true} call ULTIMATE.init(); {28535#true} is VALID [2018-11-23 12:18:24,935 INFO L273 TraceCheckUtils]: 1: Hoare triple {28535#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {28535#true} is VALID [2018-11-23 12:18:24,935 INFO L273 TraceCheckUtils]: 2: Hoare triple {28535#true} assume true; {28535#true} is VALID [2018-11-23 12:18:24,936 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {28535#true} {28535#true} #71#return; {28535#true} is VALID [2018-11-23 12:18:24,936 INFO L256 TraceCheckUtils]: 4: Hoare triple {28535#true} call #t~ret14 := main(); {28535#true} is VALID [2018-11-23 12:18:24,936 INFO L273 TraceCheckUtils]: 5: Hoare triple {28535#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {28535#true} is VALID [2018-11-23 12:18:24,936 INFO L273 TraceCheckUtils]: 6: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,936 INFO L273 TraceCheckUtils]: 7: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,937 INFO L273 TraceCheckUtils]: 8: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,937 INFO L273 TraceCheckUtils]: 9: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,937 INFO L273 TraceCheckUtils]: 10: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,937 INFO L273 TraceCheckUtils]: 11: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,937 INFO L273 TraceCheckUtils]: 12: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,937 INFO L273 TraceCheckUtils]: 13: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,938 INFO L273 TraceCheckUtils]: 14: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,938 INFO L273 TraceCheckUtils]: 15: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,938 INFO L273 TraceCheckUtils]: 16: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,938 INFO L273 TraceCheckUtils]: 17: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,938 INFO L273 TraceCheckUtils]: 18: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,938 INFO L273 TraceCheckUtils]: 19: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,938 INFO L273 TraceCheckUtils]: 20: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,938 INFO L273 TraceCheckUtils]: 21: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,938 INFO L273 TraceCheckUtils]: 22: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,938 INFO L273 TraceCheckUtils]: 23: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,939 INFO L273 TraceCheckUtils]: 24: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,939 INFO L273 TraceCheckUtils]: 25: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,939 INFO L273 TraceCheckUtils]: 26: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,939 INFO L273 TraceCheckUtils]: 27: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,939 INFO L273 TraceCheckUtils]: 28: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,939 INFO L273 TraceCheckUtils]: 29: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,939 INFO L273 TraceCheckUtils]: 30: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,939 INFO L273 TraceCheckUtils]: 31: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,939 INFO L273 TraceCheckUtils]: 32: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,939 INFO L273 TraceCheckUtils]: 33: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,940 INFO L273 TraceCheckUtils]: 34: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,940 INFO L273 TraceCheckUtils]: 35: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,940 INFO L273 TraceCheckUtils]: 36: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,940 INFO L273 TraceCheckUtils]: 37: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,940 INFO L273 TraceCheckUtils]: 38: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,940 INFO L273 TraceCheckUtils]: 39: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,940 INFO L273 TraceCheckUtils]: 40: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,940 INFO L273 TraceCheckUtils]: 41: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,940 INFO L273 TraceCheckUtils]: 42: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,940 INFO L273 TraceCheckUtils]: 43: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,941 INFO L273 TraceCheckUtils]: 44: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,941 INFO L273 TraceCheckUtils]: 45: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,941 INFO L273 TraceCheckUtils]: 46: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,941 INFO L273 TraceCheckUtils]: 47: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,941 INFO L273 TraceCheckUtils]: 48: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,941 INFO L273 TraceCheckUtils]: 49: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,941 INFO L273 TraceCheckUtils]: 50: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,941 INFO L273 TraceCheckUtils]: 51: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,941 INFO L273 TraceCheckUtils]: 52: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,941 INFO L273 TraceCheckUtils]: 53: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,942 INFO L273 TraceCheckUtils]: 54: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,942 INFO L273 TraceCheckUtils]: 55: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,942 INFO L273 TraceCheckUtils]: 56: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,942 INFO L273 TraceCheckUtils]: 57: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,942 INFO L273 TraceCheckUtils]: 58: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,942 INFO L273 TraceCheckUtils]: 59: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,942 INFO L273 TraceCheckUtils]: 60: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,942 INFO L273 TraceCheckUtils]: 61: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,942 INFO L273 TraceCheckUtils]: 62: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,942 INFO L273 TraceCheckUtils]: 63: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,943 INFO L273 TraceCheckUtils]: 64: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,943 INFO L273 TraceCheckUtils]: 65: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,943 INFO L273 TraceCheckUtils]: 66: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,943 INFO L273 TraceCheckUtils]: 67: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,943 INFO L273 TraceCheckUtils]: 68: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,943 INFO L273 TraceCheckUtils]: 69: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,943 INFO L273 TraceCheckUtils]: 70: Hoare triple {28535#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {28535#true} is VALID [2018-11-23 12:18:24,943 INFO L273 TraceCheckUtils]: 71: Hoare triple {28535#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {28535#true} is VALID [2018-11-23 12:18:24,943 INFO L273 TraceCheckUtils]: 72: Hoare triple {28535#true} assume !(~i~1 < 40); {28535#true} is VALID [2018-11-23 12:18:24,943 INFO L256 TraceCheckUtils]: 73: Hoare triple {28535#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {28535#true} is VALID [2018-11-23 12:18:24,944 INFO L273 TraceCheckUtils]: 74: Hoare triple {28535#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {28535#true} is VALID [2018-11-23 12:18:24,944 INFO L273 TraceCheckUtils]: 75: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,944 INFO L273 TraceCheckUtils]: 76: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,944 INFO L273 TraceCheckUtils]: 77: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,944 INFO L273 TraceCheckUtils]: 78: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,944 INFO L273 TraceCheckUtils]: 79: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,944 INFO L273 TraceCheckUtils]: 80: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,944 INFO L273 TraceCheckUtils]: 81: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,944 INFO L273 TraceCheckUtils]: 82: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,944 INFO L273 TraceCheckUtils]: 83: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,945 INFO L273 TraceCheckUtils]: 84: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,945 INFO L273 TraceCheckUtils]: 85: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,945 INFO L273 TraceCheckUtils]: 86: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,945 INFO L273 TraceCheckUtils]: 87: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,945 INFO L273 TraceCheckUtils]: 88: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,945 INFO L273 TraceCheckUtils]: 89: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,945 INFO L273 TraceCheckUtils]: 90: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,945 INFO L273 TraceCheckUtils]: 91: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,945 INFO L273 TraceCheckUtils]: 92: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,945 INFO L273 TraceCheckUtils]: 93: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,946 INFO L273 TraceCheckUtils]: 94: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,946 INFO L273 TraceCheckUtils]: 95: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,946 INFO L273 TraceCheckUtils]: 96: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,946 INFO L273 TraceCheckUtils]: 97: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,946 INFO L273 TraceCheckUtils]: 98: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,946 INFO L273 TraceCheckUtils]: 99: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,946 INFO L273 TraceCheckUtils]: 100: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,946 INFO L273 TraceCheckUtils]: 101: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,946 INFO L273 TraceCheckUtils]: 102: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,946 INFO L273 TraceCheckUtils]: 103: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,947 INFO L273 TraceCheckUtils]: 104: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,947 INFO L273 TraceCheckUtils]: 105: Hoare triple {28535#true} assume !(~i~0 < 40); {28535#true} is VALID [2018-11-23 12:18:24,947 INFO L273 TraceCheckUtils]: 106: Hoare triple {28535#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {28535#true} is VALID [2018-11-23 12:18:24,947 INFO L273 TraceCheckUtils]: 107: Hoare triple {28535#true} assume true; {28535#true} is VALID [2018-11-23 12:18:24,947 INFO L268 TraceCheckUtils]: 108: Hoare quadruple {28535#true} {28535#true} #75#return; {28535#true} is VALID [2018-11-23 12:18:24,947 INFO L273 TraceCheckUtils]: 109: Hoare triple {28535#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); {28535#true} is VALID [2018-11-23 12:18:24,947 INFO L256 TraceCheckUtils]: 110: Hoare triple {28535#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {28535#true} is VALID [2018-11-23 12:18:24,947 INFO L273 TraceCheckUtils]: 111: Hoare triple {28535#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {28535#true} is VALID [2018-11-23 12:18:24,947 INFO L273 TraceCheckUtils]: 112: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,947 INFO L273 TraceCheckUtils]: 113: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,948 INFO L273 TraceCheckUtils]: 114: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,948 INFO L273 TraceCheckUtils]: 115: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,948 INFO L273 TraceCheckUtils]: 116: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,948 INFO L273 TraceCheckUtils]: 117: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,948 INFO L273 TraceCheckUtils]: 118: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,948 INFO L273 TraceCheckUtils]: 119: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,948 INFO L273 TraceCheckUtils]: 120: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,948 INFO L273 TraceCheckUtils]: 121: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,948 INFO L273 TraceCheckUtils]: 122: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,949 INFO L273 TraceCheckUtils]: 123: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,949 INFO L273 TraceCheckUtils]: 124: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,949 INFO L273 TraceCheckUtils]: 125: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,949 INFO L273 TraceCheckUtils]: 126: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,949 INFO L273 TraceCheckUtils]: 127: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,949 INFO L273 TraceCheckUtils]: 128: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,949 INFO L273 TraceCheckUtils]: 129: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,949 INFO L273 TraceCheckUtils]: 130: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,949 INFO L273 TraceCheckUtils]: 131: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,949 INFO L273 TraceCheckUtils]: 132: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,950 INFO L273 TraceCheckUtils]: 133: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,950 INFO L273 TraceCheckUtils]: 134: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,950 INFO L273 TraceCheckUtils]: 135: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,950 INFO L273 TraceCheckUtils]: 136: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,950 INFO L273 TraceCheckUtils]: 137: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,950 INFO L273 TraceCheckUtils]: 138: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,950 INFO L273 TraceCheckUtils]: 139: Hoare triple {28535#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28535#true} is VALID [2018-11-23 12:18:24,950 INFO L273 TraceCheckUtils]: 140: Hoare triple {28535#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28535#true} is VALID [2018-11-23 12:18:24,950 INFO L273 TraceCheckUtils]: 141: Hoare triple {28535#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28535#true} is VALID [2018-11-23 12:18:24,950 INFO L273 TraceCheckUtils]: 142: Hoare triple {28535#true} assume !(~i~0 < 40); {28535#true} is VALID [2018-11-23 12:18:24,951 INFO L273 TraceCheckUtils]: 143: Hoare triple {28535#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {28535#true} is VALID [2018-11-23 12:18:24,951 INFO L273 TraceCheckUtils]: 144: Hoare triple {28535#true} assume true; {28535#true} is VALID [2018-11-23 12:18:24,951 INFO L268 TraceCheckUtils]: 145: Hoare quadruple {28535#true} {28535#true} #77#return; {28535#true} is VALID [2018-11-23 12:18:24,951 INFO L273 TraceCheckUtils]: 146: Hoare triple {28535#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; {29012#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:24,952 INFO L273 TraceCheckUtils]: 147: Hoare triple {29012#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29012#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:24,952 INFO L273 TraceCheckUtils]: 148: Hoare triple {29012#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29019#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:24,952 INFO L273 TraceCheckUtils]: 149: Hoare triple {29019#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29019#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:24,953 INFO L273 TraceCheckUtils]: 150: Hoare triple {29019#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29026#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:24,953 INFO L273 TraceCheckUtils]: 151: Hoare triple {29026#(<= main_~i~2 2)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29026#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:24,954 INFO L273 TraceCheckUtils]: 152: Hoare triple {29026#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29033#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:24,954 INFO L273 TraceCheckUtils]: 153: Hoare triple {29033#(<= main_~i~2 3)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29033#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:24,954 INFO L273 TraceCheckUtils]: 154: Hoare triple {29033#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29040#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:24,955 INFO L273 TraceCheckUtils]: 155: Hoare triple {29040#(<= main_~i~2 4)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29040#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:24,956 INFO L273 TraceCheckUtils]: 156: Hoare triple {29040#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29047#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:24,956 INFO L273 TraceCheckUtils]: 157: Hoare triple {29047#(<= main_~i~2 5)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29047#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:24,957 INFO L273 TraceCheckUtils]: 158: Hoare triple {29047#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29054#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:24,957 INFO L273 TraceCheckUtils]: 159: Hoare triple {29054#(<= main_~i~2 6)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29054#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:24,958 INFO L273 TraceCheckUtils]: 160: Hoare triple {29054#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29061#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:24,959 INFO L273 TraceCheckUtils]: 161: Hoare triple {29061#(<= main_~i~2 7)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29061#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:24,959 INFO L273 TraceCheckUtils]: 162: Hoare triple {29061#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29068#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:24,960 INFO L273 TraceCheckUtils]: 163: Hoare triple {29068#(<= main_~i~2 8)} assume !(~i~2 < 39); {28536#false} is VALID [2018-11-23 12:18:24,960 INFO L273 TraceCheckUtils]: 164: Hoare triple {28536#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {28536#false} is VALID [2018-11-23 12:18:24,960 INFO L256 TraceCheckUtils]: 165: Hoare triple {28536#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {28536#false} is VALID [2018-11-23 12:18:24,961 INFO L273 TraceCheckUtils]: 166: Hoare triple {28536#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {28536#false} is VALID [2018-11-23 12:18:24,961 INFO L273 TraceCheckUtils]: 167: Hoare triple {28536#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28536#false} is VALID [2018-11-23 12:18:24,961 INFO L273 TraceCheckUtils]: 168: Hoare triple {28536#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28536#false} is VALID [2018-11-23 12:18:24,961 INFO L273 TraceCheckUtils]: 169: Hoare triple {28536#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28536#false} is VALID [2018-11-23 12:18:24,961 INFO L273 TraceCheckUtils]: 170: Hoare triple {28536#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28536#false} is VALID [2018-11-23 12:18:24,962 INFO L273 TraceCheckUtils]: 171: Hoare triple {28536#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28536#false} is VALID [2018-11-23 12:18:24,962 INFO L273 TraceCheckUtils]: 172: Hoare triple {28536#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28536#false} is VALID [2018-11-23 12:18:24,962 INFO L273 TraceCheckUtils]: 173: Hoare triple {28536#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28536#false} is VALID [2018-11-23 12:18:24,962 INFO L273 TraceCheckUtils]: 174: Hoare triple {28536#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28536#false} is VALID [2018-11-23 12:18:24,962 INFO L273 TraceCheckUtils]: 175: Hoare triple {28536#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28536#false} is VALID [2018-11-23 12:18:24,962 INFO L273 TraceCheckUtils]: 176: Hoare triple {28536#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28536#false} is VALID [2018-11-23 12:18:24,963 INFO L273 TraceCheckUtils]: 177: Hoare triple {28536#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28536#false} is VALID [2018-11-23 12:18:24,963 INFO L273 TraceCheckUtils]: 178: Hoare triple {28536#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28536#false} is VALID [2018-11-23 12:18:24,963 INFO L273 TraceCheckUtils]: 179: Hoare triple {28536#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28536#false} is VALID [2018-11-23 12:18:24,963 INFO L273 TraceCheckUtils]: 180: Hoare triple {28536#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28536#false} is VALID [2018-11-23 12:18:24,963 INFO L273 TraceCheckUtils]: 181: Hoare triple {28536#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28536#false} is VALID [2018-11-23 12:18:24,963 INFO L273 TraceCheckUtils]: 182: Hoare triple {28536#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28536#false} is VALID [2018-11-23 12:18:24,964 INFO L273 TraceCheckUtils]: 183: Hoare triple {28536#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28536#false} is VALID [2018-11-23 12:18:24,964 INFO L273 TraceCheckUtils]: 184: Hoare triple {28536#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28536#false} is VALID [2018-11-23 12:18:24,964 INFO L273 TraceCheckUtils]: 185: Hoare triple {28536#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28536#false} is VALID [2018-11-23 12:18:24,964 INFO L273 TraceCheckUtils]: 186: Hoare triple {28536#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28536#false} is VALID [2018-11-23 12:18:24,964 INFO L273 TraceCheckUtils]: 187: Hoare triple {28536#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28536#false} is VALID [2018-11-23 12:18:24,964 INFO L273 TraceCheckUtils]: 188: Hoare triple {28536#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28536#false} is VALID [2018-11-23 12:18:24,965 INFO L273 TraceCheckUtils]: 189: Hoare triple {28536#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28536#false} is VALID [2018-11-23 12:18:24,965 INFO L273 TraceCheckUtils]: 190: Hoare triple {28536#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28536#false} is VALID [2018-11-23 12:18:24,965 INFO L273 TraceCheckUtils]: 191: Hoare triple {28536#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28536#false} is VALID [2018-11-23 12:18:24,965 INFO L273 TraceCheckUtils]: 192: Hoare triple {28536#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28536#false} is VALID [2018-11-23 12:18:24,965 INFO L273 TraceCheckUtils]: 193: Hoare triple {28536#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28536#false} is VALID [2018-11-23 12:18:24,965 INFO L273 TraceCheckUtils]: 194: Hoare triple {28536#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {28536#false} is VALID [2018-11-23 12:18:24,966 INFO L273 TraceCheckUtils]: 195: Hoare triple {28536#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {28536#false} is VALID [2018-11-23 12:18:24,966 INFO L273 TraceCheckUtils]: 196: Hoare triple {28536#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {28536#false} is VALID [2018-11-23 12:18:24,966 INFO L273 TraceCheckUtils]: 197: Hoare triple {28536#false} assume !(~i~0 < 40); {28536#false} is VALID [2018-11-23 12:18:24,966 INFO L273 TraceCheckUtils]: 198: Hoare triple {28536#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {28536#false} is VALID [2018-11-23 12:18:24,966 INFO L273 TraceCheckUtils]: 199: Hoare triple {28536#false} assume true; {28536#false} is VALID [2018-11-23 12:18:24,966 INFO L268 TraceCheckUtils]: 200: Hoare quadruple {28536#false} {28536#false} #79#return; {28536#false} is VALID [2018-11-23 12:18:24,966 INFO L273 TraceCheckUtils]: 201: Hoare triple {28536#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {28536#false} is VALID [2018-11-23 12:18:24,966 INFO L273 TraceCheckUtils]: 202: Hoare triple {28536#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {28536#false} is VALID [2018-11-23 12:18:24,966 INFO L273 TraceCheckUtils]: 203: Hoare triple {28536#false} assume !false; {28536#false} is VALID [2018-11-23 12:18:24,981 INFO L134 CoverageAnalysis]: Checked inductivity of 2563 backedges. 650 proven. 64 refuted. 0 times theorem prover too weak. 1849 trivial. 0 not checked. [2018-11-23 12:18:25,003 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:25,003 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [36, 11] total 45 [2018-11-23 12:18:25,003 INFO L78 Accepts]: Start accepts. Automaton has 45 states. Word has length 204 [2018-11-23 12:18:25,004 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:25,004 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 45 states. [2018-11-23 12:18:25,193 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:25,194 INFO L459 AbstractCegarLoop]: Interpolant automaton has 45 states [2018-11-23 12:18:25,194 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2018-11-23 12:18:25,195 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=684, Invalid=1296, Unknown=0, NotChecked=0, Total=1980 [2018-11-23 12:18:25,195 INFO L87 Difference]: Start difference. First operand 135 states and 149 transitions. Second operand 45 states. [2018-11-23 12:18:26,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:26,306 INFO L93 Difference]: Finished difference Result 203 states and 232 transitions. [2018-11-23 12:18:26,306 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 45 states. [2018-11-23 12:18:26,306 INFO L78 Accepts]: Start accepts. Automaton has 45 states. Word has length 204 [2018-11-23 12:18:26,306 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:26,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-23 12:18:26,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 143 transitions. [2018-11-23 12:18:26,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-23 12:18:26,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 143 transitions. [2018-11-23 12:18:26,308 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 45 states and 143 transitions. [2018-11-23 12:18:26,443 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:26,446 INFO L225 Difference]: With dead ends: 203 [2018-11-23 12:18:26,446 INFO L226 Difference]: Without dead ends: 141 [2018-11-23 12:18:26,447 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 239 GetRequests, 196 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 297 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=684, Invalid=1296, Unknown=0, NotChecked=0, Total=1980 [2018-11-23 12:18:26,447 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2018-11-23 12:18:26,491 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 139. [2018-11-23 12:18:26,491 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:26,491 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand 139 states. [2018-11-23 12:18:26,491 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand 139 states. [2018-11-23 12:18:26,491 INFO L87 Difference]: Start difference. First operand 141 states. Second operand 139 states. [2018-11-23 12:18:26,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:26,493 INFO L93 Difference]: Finished difference Result 141 states and 155 transitions. [2018-11-23 12:18:26,493 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 155 transitions. [2018-11-23 12:18:26,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:26,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:26,494 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 141 states. [2018-11-23 12:18:26,494 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 141 states. [2018-11-23 12:18:26,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:26,496 INFO L93 Difference]: Finished difference Result 141 states and 155 transitions. [2018-11-23 12:18:26,496 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 155 transitions. [2018-11-23 12:18:26,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:26,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:26,497 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:26,497 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:26,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 139 states. [2018-11-23 12:18:26,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 153 transitions. [2018-11-23 12:18:26,499 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 153 transitions. Word has length 204 [2018-11-23 12:18:26,499 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:26,499 INFO L480 AbstractCegarLoop]: Abstraction has 139 states and 153 transitions. [2018-11-23 12:18:26,499 INFO L481 AbstractCegarLoop]: Interpolant automaton has 45 states. [2018-11-23 12:18:26,499 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 153 transitions. [2018-11-23 12:18:26,500 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 209 [2018-11-23 12:18:26,500 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:26,500 INFO L402 BasicCegarLoop]: trace histogram [34, 34, 30, 30, 30, 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:26,500 INFO L423 AbstractCegarLoop]: === Iteration 38 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:26,500 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:26,500 INFO L82 PathProgramCache]: Analyzing trace with hash 1382401224, now seen corresponding path program 34 times [2018-11-23 12:18:26,501 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:26,501 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:26,501 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:26,501 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:26,501 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:26,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:28,294 INFO L256 TraceCheckUtils]: 0: Hoare triple {29967#true} call ULTIMATE.init(); {29967#true} is VALID [2018-11-23 12:18:28,295 INFO L273 TraceCheckUtils]: 1: Hoare triple {29967#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {29967#true} is VALID [2018-11-23 12:18:28,295 INFO L273 TraceCheckUtils]: 2: Hoare triple {29967#true} assume true; {29967#true} is VALID [2018-11-23 12:18:28,295 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {29967#true} {29967#true} #71#return; {29967#true} is VALID [2018-11-23 12:18:28,295 INFO L256 TraceCheckUtils]: 4: Hoare triple {29967#true} call #t~ret14 := main(); {29967#true} is VALID [2018-11-23 12:18:28,296 INFO L273 TraceCheckUtils]: 5: Hoare triple {29967#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {29969#(= main_~i~1 0)} is VALID [2018-11-23 12:18:28,296 INFO L273 TraceCheckUtils]: 6: Hoare triple {29969#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29969#(= main_~i~1 0)} is VALID [2018-11-23 12:18:28,297 INFO L273 TraceCheckUtils]: 7: Hoare triple {29969#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29970#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:28,297 INFO L273 TraceCheckUtils]: 8: Hoare triple {29970#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29970#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:28,298 INFO L273 TraceCheckUtils]: 9: Hoare triple {29970#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29971#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:28,298 INFO L273 TraceCheckUtils]: 10: Hoare triple {29971#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29971#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:28,298 INFO L273 TraceCheckUtils]: 11: Hoare triple {29971#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29972#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:28,299 INFO L273 TraceCheckUtils]: 12: Hoare triple {29972#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29972#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:28,300 INFO L273 TraceCheckUtils]: 13: Hoare triple {29972#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29973#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:28,300 INFO L273 TraceCheckUtils]: 14: Hoare triple {29973#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29973#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:28,301 INFO L273 TraceCheckUtils]: 15: Hoare triple {29973#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29974#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:28,301 INFO L273 TraceCheckUtils]: 16: Hoare triple {29974#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29974#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:28,302 INFO L273 TraceCheckUtils]: 17: Hoare triple {29974#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29975#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:28,302 INFO L273 TraceCheckUtils]: 18: Hoare triple {29975#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29975#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:28,303 INFO L273 TraceCheckUtils]: 19: Hoare triple {29975#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29976#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:28,304 INFO L273 TraceCheckUtils]: 20: Hoare triple {29976#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29976#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:28,304 INFO L273 TraceCheckUtils]: 21: Hoare triple {29976#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29977#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:28,305 INFO L273 TraceCheckUtils]: 22: Hoare triple {29977#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29977#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:28,306 INFO L273 TraceCheckUtils]: 23: Hoare triple {29977#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29978#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:28,306 INFO L273 TraceCheckUtils]: 24: Hoare triple {29978#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29978#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:28,307 INFO L273 TraceCheckUtils]: 25: Hoare triple {29978#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29979#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:28,307 INFO L273 TraceCheckUtils]: 26: Hoare triple {29979#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29979#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:28,308 INFO L273 TraceCheckUtils]: 27: Hoare triple {29979#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29980#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:28,309 INFO L273 TraceCheckUtils]: 28: Hoare triple {29980#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29980#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:28,309 INFO L273 TraceCheckUtils]: 29: Hoare triple {29980#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29981#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:28,310 INFO L273 TraceCheckUtils]: 30: Hoare triple {29981#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29981#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:28,311 INFO L273 TraceCheckUtils]: 31: Hoare triple {29981#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29982#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:28,311 INFO L273 TraceCheckUtils]: 32: Hoare triple {29982#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29982#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:28,312 INFO L273 TraceCheckUtils]: 33: Hoare triple {29982#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29983#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:28,312 INFO L273 TraceCheckUtils]: 34: Hoare triple {29983#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29983#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:28,313 INFO L273 TraceCheckUtils]: 35: Hoare triple {29983#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29984#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:28,313 INFO L273 TraceCheckUtils]: 36: Hoare triple {29984#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29984#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:28,314 INFO L273 TraceCheckUtils]: 37: Hoare triple {29984#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29985#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:28,315 INFO L273 TraceCheckUtils]: 38: Hoare triple {29985#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29985#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:28,315 INFO L273 TraceCheckUtils]: 39: Hoare triple {29985#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29986#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:28,316 INFO L273 TraceCheckUtils]: 40: Hoare triple {29986#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29986#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:28,317 INFO L273 TraceCheckUtils]: 41: Hoare triple {29986#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29987#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:28,317 INFO L273 TraceCheckUtils]: 42: Hoare triple {29987#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29987#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:28,318 INFO L273 TraceCheckUtils]: 43: Hoare triple {29987#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29988#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:28,318 INFO L273 TraceCheckUtils]: 44: Hoare triple {29988#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29988#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:28,319 INFO L273 TraceCheckUtils]: 45: Hoare triple {29988#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29989#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:28,319 INFO L273 TraceCheckUtils]: 46: Hoare triple {29989#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29989#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:28,320 INFO L273 TraceCheckUtils]: 47: Hoare triple {29989#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29990#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:28,321 INFO L273 TraceCheckUtils]: 48: Hoare triple {29990#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29990#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:28,321 INFO L273 TraceCheckUtils]: 49: Hoare triple {29990#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29991#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:28,322 INFO L273 TraceCheckUtils]: 50: Hoare triple {29991#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29991#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:28,323 INFO L273 TraceCheckUtils]: 51: Hoare triple {29991#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29992#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:28,323 INFO L273 TraceCheckUtils]: 52: Hoare triple {29992#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29992#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:28,324 INFO L273 TraceCheckUtils]: 53: Hoare triple {29992#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29993#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:28,324 INFO L273 TraceCheckUtils]: 54: Hoare triple {29993#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29993#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:28,325 INFO L273 TraceCheckUtils]: 55: Hoare triple {29993#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29994#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:28,326 INFO L273 TraceCheckUtils]: 56: Hoare triple {29994#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29994#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:28,326 INFO L273 TraceCheckUtils]: 57: Hoare triple {29994#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29995#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:28,327 INFO L273 TraceCheckUtils]: 58: Hoare triple {29995#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29995#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:28,327 INFO L273 TraceCheckUtils]: 59: Hoare triple {29995#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29996#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:28,328 INFO L273 TraceCheckUtils]: 60: Hoare triple {29996#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29996#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:28,329 INFO L273 TraceCheckUtils]: 61: Hoare triple {29996#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29997#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:28,329 INFO L273 TraceCheckUtils]: 62: Hoare triple {29997#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29997#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:28,330 INFO L273 TraceCheckUtils]: 63: Hoare triple {29997#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29998#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:28,330 INFO L273 TraceCheckUtils]: 64: Hoare triple {29998#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29998#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:28,331 INFO L273 TraceCheckUtils]: 65: Hoare triple {29998#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29999#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:28,332 INFO L273 TraceCheckUtils]: 66: Hoare triple {29999#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29999#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:28,332 INFO L273 TraceCheckUtils]: 67: Hoare triple {29999#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30000#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:28,333 INFO L273 TraceCheckUtils]: 68: Hoare triple {30000#(<= main_~i~1 31)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30000#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:28,334 INFO L273 TraceCheckUtils]: 69: Hoare triple {30000#(<= main_~i~1 31)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30001#(<= main_~i~1 32)} is VALID [2018-11-23 12:18:28,334 INFO L273 TraceCheckUtils]: 70: Hoare triple {30001#(<= main_~i~1 32)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30001#(<= main_~i~1 32)} is VALID [2018-11-23 12:18:28,335 INFO L273 TraceCheckUtils]: 71: Hoare triple {30001#(<= main_~i~1 32)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30002#(<= main_~i~1 33)} is VALID [2018-11-23 12:18:28,335 INFO L273 TraceCheckUtils]: 72: Hoare triple {30002#(<= main_~i~1 33)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30002#(<= main_~i~1 33)} is VALID [2018-11-23 12:18:28,336 INFO L273 TraceCheckUtils]: 73: Hoare triple {30002#(<= main_~i~1 33)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30003#(<= main_~i~1 34)} is VALID [2018-11-23 12:18:28,337 INFO L273 TraceCheckUtils]: 74: Hoare triple {30003#(<= main_~i~1 34)} assume !(~i~1 < 40); {29968#false} is VALID [2018-11-23 12:18:28,337 INFO L256 TraceCheckUtils]: 75: Hoare triple {29968#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {29967#true} is VALID [2018-11-23 12:18:28,337 INFO L273 TraceCheckUtils]: 76: Hoare triple {29967#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {29967#true} is VALID [2018-11-23 12:18:28,337 INFO L273 TraceCheckUtils]: 77: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,337 INFO L273 TraceCheckUtils]: 78: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,338 INFO L273 TraceCheckUtils]: 79: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,338 INFO L273 TraceCheckUtils]: 80: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,338 INFO L273 TraceCheckUtils]: 81: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,338 INFO L273 TraceCheckUtils]: 82: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,338 INFO L273 TraceCheckUtils]: 83: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,339 INFO L273 TraceCheckUtils]: 84: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,339 INFO L273 TraceCheckUtils]: 85: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,339 INFO L273 TraceCheckUtils]: 86: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,339 INFO L273 TraceCheckUtils]: 87: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,339 INFO L273 TraceCheckUtils]: 88: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,339 INFO L273 TraceCheckUtils]: 89: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,340 INFO L273 TraceCheckUtils]: 90: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,340 INFO L273 TraceCheckUtils]: 91: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,340 INFO L273 TraceCheckUtils]: 92: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,340 INFO L273 TraceCheckUtils]: 93: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,340 INFO L273 TraceCheckUtils]: 94: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,340 INFO L273 TraceCheckUtils]: 95: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,341 INFO L273 TraceCheckUtils]: 96: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,341 INFO L273 TraceCheckUtils]: 97: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,341 INFO L273 TraceCheckUtils]: 98: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,341 INFO L273 TraceCheckUtils]: 99: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,341 INFO L273 TraceCheckUtils]: 100: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,341 INFO L273 TraceCheckUtils]: 101: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,342 INFO L273 TraceCheckUtils]: 102: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,342 INFO L273 TraceCheckUtils]: 103: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,342 INFO L273 TraceCheckUtils]: 104: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,342 INFO L273 TraceCheckUtils]: 105: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,342 INFO L273 TraceCheckUtils]: 106: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,342 INFO L273 TraceCheckUtils]: 107: Hoare triple {29967#true} assume !(~i~0 < 40); {29967#true} is VALID [2018-11-23 12:18:28,343 INFO L273 TraceCheckUtils]: 108: Hoare triple {29967#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {29967#true} is VALID [2018-11-23 12:18:28,343 INFO L273 TraceCheckUtils]: 109: Hoare triple {29967#true} assume true; {29967#true} is VALID [2018-11-23 12:18:28,343 INFO L268 TraceCheckUtils]: 110: Hoare quadruple {29967#true} {29968#false} #75#return; {29968#false} is VALID [2018-11-23 12:18:28,343 INFO L273 TraceCheckUtils]: 111: Hoare triple {29968#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); {29968#false} is VALID [2018-11-23 12:18:28,343 INFO L256 TraceCheckUtils]: 112: Hoare triple {29968#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {29967#true} is VALID [2018-11-23 12:18:28,343 INFO L273 TraceCheckUtils]: 113: Hoare triple {29967#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {29967#true} is VALID [2018-11-23 12:18:28,343 INFO L273 TraceCheckUtils]: 114: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,343 INFO L273 TraceCheckUtils]: 115: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,343 INFO L273 TraceCheckUtils]: 116: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,344 INFO L273 TraceCheckUtils]: 117: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,344 INFO L273 TraceCheckUtils]: 118: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,344 INFO L273 TraceCheckUtils]: 119: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,344 INFO L273 TraceCheckUtils]: 120: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,344 INFO L273 TraceCheckUtils]: 121: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,344 INFO L273 TraceCheckUtils]: 122: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,344 INFO L273 TraceCheckUtils]: 123: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,344 INFO L273 TraceCheckUtils]: 124: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,344 INFO L273 TraceCheckUtils]: 125: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,345 INFO L273 TraceCheckUtils]: 126: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,345 INFO L273 TraceCheckUtils]: 127: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,345 INFO L273 TraceCheckUtils]: 128: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,345 INFO L273 TraceCheckUtils]: 129: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,345 INFO L273 TraceCheckUtils]: 130: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,345 INFO L273 TraceCheckUtils]: 131: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,345 INFO L273 TraceCheckUtils]: 132: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,345 INFO L273 TraceCheckUtils]: 133: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,345 INFO L273 TraceCheckUtils]: 134: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,345 INFO L273 TraceCheckUtils]: 135: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,346 INFO L273 TraceCheckUtils]: 136: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,346 INFO L273 TraceCheckUtils]: 137: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,346 INFO L273 TraceCheckUtils]: 138: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,346 INFO L273 TraceCheckUtils]: 139: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,346 INFO L273 TraceCheckUtils]: 140: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,346 INFO L273 TraceCheckUtils]: 141: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,346 INFO L273 TraceCheckUtils]: 142: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,346 INFO L273 TraceCheckUtils]: 143: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,346 INFO L273 TraceCheckUtils]: 144: Hoare triple {29967#true} assume !(~i~0 < 40); {29967#true} is VALID [2018-11-23 12:18:28,346 INFO L273 TraceCheckUtils]: 145: Hoare triple {29967#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {29967#true} is VALID [2018-11-23 12:18:28,347 INFO L273 TraceCheckUtils]: 146: Hoare triple {29967#true} assume true; {29967#true} is VALID [2018-11-23 12:18:28,347 INFO L268 TraceCheckUtils]: 147: Hoare quadruple {29967#true} {29968#false} #77#return; {29968#false} is VALID [2018-11-23 12:18:28,347 INFO L273 TraceCheckUtils]: 148: Hoare triple {29968#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; {29968#false} is VALID [2018-11-23 12:18:28,347 INFO L273 TraceCheckUtils]: 149: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,347 INFO L273 TraceCheckUtils]: 150: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,347 INFO L273 TraceCheckUtils]: 151: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,347 INFO L273 TraceCheckUtils]: 152: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,347 INFO L273 TraceCheckUtils]: 153: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,347 INFO L273 TraceCheckUtils]: 154: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,347 INFO L273 TraceCheckUtils]: 155: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,348 INFO L273 TraceCheckUtils]: 156: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,348 INFO L273 TraceCheckUtils]: 157: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,348 INFO L273 TraceCheckUtils]: 158: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,348 INFO L273 TraceCheckUtils]: 159: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,348 INFO L273 TraceCheckUtils]: 160: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,348 INFO L273 TraceCheckUtils]: 161: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,348 INFO L273 TraceCheckUtils]: 162: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,348 INFO L273 TraceCheckUtils]: 163: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,348 INFO L273 TraceCheckUtils]: 164: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,348 INFO L273 TraceCheckUtils]: 165: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,349 INFO L273 TraceCheckUtils]: 166: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,349 INFO L273 TraceCheckUtils]: 167: Hoare triple {29968#false} assume !(~i~2 < 39); {29968#false} is VALID [2018-11-23 12:18:28,349 INFO L273 TraceCheckUtils]: 168: Hoare triple {29968#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {29968#false} is VALID [2018-11-23 12:18:28,349 INFO L256 TraceCheckUtils]: 169: Hoare triple {29968#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {29967#true} is VALID [2018-11-23 12:18:28,349 INFO L273 TraceCheckUtils]: 170: Hoare triple {29967#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {29967#true} is VALID [2018-11-23 12:18:28,349 INFO L273 TraceCheckUtils]: 171: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,349 INFO L273 TraceCheckUtils]: 172: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,349 INFO L273 TraceCheckUtils]: 173: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,349 INFO L273 TraceCheckUtils]: 174: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,349 INFO L273 TraceCheckUtils]: 175: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,350 INFO L273 TraceCheckUtils]: 176: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,350 INFO L273 TraceCheckUtils]: 177: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,350 INFO L273 TraceCheckUtils]: 178: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,350 INFO L273 TraceCheckUtils]: 179: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,350 INFO L273 TraceCheckUtils]: 180: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,350 INFO L273 TraceCheckUtils]: 181: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,350 INFO L273 TraceCheckUtils]: 182: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,350 INFO L273 TraceCheckUtils]: 183: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,350 INFO L273 TraceCheckUtils]: 184: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,350 INFO L273 TraceCheckUtils]: 185: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,351 INFO L273 TraceCheckUtils]: 186: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,351 INFO L273 TraceCheckUtils]: 187: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,351 INFO L273 TraceCheckUtils]: 188: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,351 INFO L273 TraceCheckUtils]: 189: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,351 INFO L273 TraceCheckUtils]: 190: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,351 INFO L273 TraceCheckUtils]: 191: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,351 INFO L273 TraceCheckUtils]: 192: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,351 INFO L273 TraceCheckUtils]: 193: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,351 INFO L273 TraceCheckUtils]: 194: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,351 INFO L273 TraceCheckUtils]: 195: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,352 INFO L273 TraceCheckUtils]: 196: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,352 INFO L273 TraceCheckUtils]: 197: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,352 INFO L273 TraceCheckUtils]: 198: Hoare triple {29967#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29967#true} is VALID [2018-11-23 12:18:28,352 INFO L273 TraceCheckUtils]: 199: Hoare triple {29967#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29967#true} is VALID [2018-11-23 12:18:28,352 INFO L273 TraceCheckUtils]: 200: Hoare triple {29967#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29967#true} is VALID [2018-11-23 12:18:28,352 INFO L273 TraceCheckUtils]: 201: Hoare triple {29967#true} assume !(~i~0 < 40); {29967#true} is VALID [2018-11-23 12:18:28,352 INFO L273 TraceCheckUtils]: 202: Hoare triple {29967#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {29967#true} is VALID [2018-11-23 12:18:28,352 INFO L273 TraceCheckUtils]: 203: Hoare triple {29967#true} assume true; {29967#true} is VALID [2018-11-23 12:18:28,352 INFO L268 TraceCheckUtils]: 204: Hoare quadruple {29967#true} {29968#false} #79#return; {29968#false} is VALID [2018-11-23 12:18:28,352 INFO L273 TraceCheckUtils]: 205: Hoare triple {29968#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {29968#false} is VALID [2018-11-23 12:18:28,353 INFO L273 TraceCheckUtils]: 206: Hoare triple {29968#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {29968#false} is VALID [2018-11-23 12:18:28,353 INFO L273 TraceCheckUtils]: 207: Hoare triple {29968#false} assume !false; {29968#false} is VALID [2018-11-23 12:18:28,371 INFO L134 CoverageAnalysis]: Checked inductivity of 2647 backedges. 0 proven. 1156 refuted. 0 times theorem prover too weak. 1491 trivial. 0 not checked. [2018-11-23 12:18:28,371 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:28,371 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:28,380 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:18:28,489 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:18:28,489 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:28,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:28,565 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:28,914 INFO L256 TraceCheckUtils]: 0: Hoare triple {29967#true} call ULTIMATE.init(); {29967#true} is VALID [2018-11-23 12:18:28,915 INFO L273 TraceCheckUtils]: 1: Hoare triple {29967#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {29967#true} is VALID [2018-11-23 12:18:28,915 INFO L273 TraceCheckUtils]: 2: Hoare triple {29967#true} assume true; {29967#true} is VALID [2018-11-23 12:18:28,915 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {29967#true} {29967#true} #71#return; {29967#true} is VALID [2018-11-23 12:18:28,915 INFO L256 TraceCheckUtils]: 4: Hoare triple {29967#true} call #t~ret14 := main(); {29967#true} is VALID [2018-11-23 12:18:28,916 INFO L273 TraceCheckUtils]: 5: Hoare triple {29967#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {30022#(<= main_~i~1 0)} is VALID [2018-11-23 12:18:28,917 INFO L273 TraceCheckUtils]: 6: Hoare triple {30022#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30022#(<= main_~i~1 0)} is VALID [2018-11-23 12:18:28,917 INFO L273 TraceCheckUtils]: 7: Hoare triple {30022#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29970#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:28,917 INFO L273 TraceCheckUtils]: 8: Hoare triple {29970#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29970#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:28,918 INFO L273 TraceCheckUtils]: 9: Hoare triple {29970#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29971#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:28,918 INFO L273 TraceCheckUtils]: 10: Hoare triple {29971#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29971#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:28,919 INFO L273 TraceCheckUtils]: 11: Hoare triple {29971#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29972#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:28,919 INFO L273 TraceCheckUtils]: 12: Hoare triple {29972#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29972#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:28,920 INFO L273 TraceCheckUtils]: 13: Hoare triple {29972#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29973#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:28,920 INFO L273 TraceCheckUtils]: 14: Hoare triple {29973#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29973#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:28,921 INFO L273 TraceCheckUtils]: 15: Hoare triple {29973#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29974#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:28,921 INFO L273 TraceCheckUtils]: 16: Hoare triple {29974#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29974#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:28,922 INFO L273 TraceCheckUtils]: 17: Hoare triple {29974#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29975#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:28,922 INFO L273 TraceCheckUtils]: 18: Hoare triple {29975#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29975#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:28,923 INFO L273 TraceCheckUtils]: 19: Hoare triple {29975#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29976#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:28,924 INFO L273 TraceCheckUtils]: 20: Hoare triple {29976#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29976#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:28,924 INFO L273 TraceCheckUtils]: 21: Hoare triple {29976#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29977#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:28,925 INFO L273 TraceCheckUtils]: 22: Hoare triple {29977#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29977#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:28,925 INFO L273 TraceCheckUtils]: 23: Hoare triple {29977#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29978#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:28,926 INFO L273 TraceCheckUtils]: 24: Hoare triple {29978#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29978#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:28,927 INFO L273 TraceCheckUtils]: 25: Hoare triple {29978#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29979#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:28,927 INFO L273 TraceCheckUtils]: 26: Hoare triple {29979#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29979#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:28,928 INFO L273 TraceCheckUtils]: 27: Hoare triple {29979#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29980#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:28,928 INFO L273 TraceCheckUtils]: 28: Hoare triple {29980#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29980#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:28,929 INFO L273 TraceCheckUtils]: 29: Hoare triple {29980#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29981#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:28,929 INFO L273 TraceCheckUtils]: 30: Hoare triple {29981#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29981#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:28,930 INFO L273 TraceCheckUtils]: 31: Hoare triple {29981#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29982#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:28,931 INFO L273 TraceCheckUtils]: 32: Hoare triple {29982#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29982#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:28,931 INFO L273 TraceCheckUtils]: 33: Hoare triple {29982#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29983#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:28,932 INFO L273 TraceCheckUtils]: 34: Hoare triple {29983#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29983#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:28,932 INFO L273 TraceCheckUtils]: 35: Hoare triple {29983#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29984#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:28,933 INFO L273 TraceCheckUtils]: 36: Hoare triple {29984#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29984#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:28,934 INFO L273 TraceCheckUtils]: 37: Hoare triple {29984#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29985#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:28,934 INFO L273 TraceCheckUtils]: 38: Hoare triple {29985#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29985#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:28,935 INFO L273 TraceCheckUtils]: 39: Hoare triple {29985#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29986#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:28,935 INFO L273 TraceCheckUtils]: 40: Hoare triple {29986#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29986#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:28,936 INFO L273 TraceCheckUtils]: 41: Hoare triple {29986#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29987#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:28,936 INFO L273 TraceCheckUtils]: 42: Hoare triple {29987#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29987#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:28,937 INFO L273 TraceCheckUtils]: 43: Hoare triple {29987#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29988#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:28,938 INFO L273 TraceCheckUtils]: 44: Hoare triple {29988#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29988#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:28,938 INFO L273 TraceCheckUtils]: 45: Hoare triple {29988#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29989#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:28,939 INFO L273 TraceCheckUtils]: 46: Hoare triple {29989#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29989#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:28,939 INFO L273 TraceCheckUtils]: 47: Hoare triple {29989#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29990#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:28,940 INFO L273 TraceCheckUtils]: 48: Hoare triple {29990#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29990#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:28,941 INFO L273 TraceCheckUtils]: 49: Hoare triple {29990#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29991#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:28,941 INFO L273 TraceCheckUtils]: 50: Hoare triple {29991#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29991#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:28,942 INFO L273 TraceCheckUtils]: 51: Hoare triple {29991#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29992#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:28,942 INFO L273 TraceCheckUtils]: 52: Hoare triple {29992#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29992#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:28,943 INFO L273 TraceCheckUtils]: 53: Hoare triple {29992#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29993#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:28,943 INFO L273 TraceCheckUtils]: 54: Hoare triple {29993#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29993#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:28,944 INFO L273 TraceCheckUtils]: 55: Hoare triple {29993#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29994#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:28,945 INFO L273 TraceCheckUtils]: 56: Hoare triple {29994#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29994#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:28,945 INFO L273 TraceCheckUtils]: 57: Hoare triple {29994#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29995#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:28,946 INFO L273 TraceCheckUtils]: 58: Hoare triple {29995#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29995#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:28,946 INFO L273 TraceCheckUtils]: 59: Hoare triple {29995#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29996#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:28,947 INFO L273 TraceCheckUtils]: 60: Hoare triple {29996#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29996#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:28,947 INFO L273 TraceCheckUtils]: 61: Hoare triple {29996#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29997#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:28,948 INFO L273 TraceCheckUtils]: 62: Hoare triple {29997#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29997#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:28,949 INFO L273 TraceCheckUtils]: 63: Hoare triple {29997#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29998#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:28,949 INFO L273 TraceCheckUtils]: 64: Hoare triple {29998#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29998#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:28,950 INFO L273 TraceCheckUtils]: 65: Hoare triple {29998#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {29999#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:28,950 INFO L273 TraceCheckUtils]: 66: Hoare triple {29999#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {29999#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:28,951 INFO L273 TraceCheckUtils]: 67: Hoare triple {29999#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30000#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:28,951 INFO L273 TraceCheckUtils]: 68: Hoare triple {30000#(<= main_~i~1 31)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30000#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:28,952 INFO L273 TraceCheckUtils]: 69: Hoare triple {30000#(<= main_~i~1 31)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30001#(<= main_~i~1 32)} is VALID [2018-11-23 12:18:28,953 INFO L273 TraceCheckUtils]: 70: Hoare triple {30001#(<= main_~i~1 32)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30001#(<= main_~i~1 32)} is VALID [2018-11-23 12:18:28,953 INFO L273 TraceCheckUtils]: 71: Hoare triple {30001#(<= main_~i~1 32)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30002#(<= main_~i~1 33)} is VALID [2018-11-23 12:18:28,954 INFO L273 TraceCheckUtils]: 72: Hoare triple {30002#(<= main_~i~1 33)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {30002#(<= main_~i~1 33)} is VALID [2018-11-23 12:18:28,954 INFO L273 TraceCheckUtils]: 73: Hoare triple {30002#(<= main_~i~1 33)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {30003#(<= main_~i~1 34)} is VALID [2018-11-23 12:18:28,955 INFO L273 TraceCheckUtils]: 74: Hoare triple {30003#(<= main_~i~1 34)} assume !(~i~1 < 40); {29968#false} is VALID [2018-11-23 12:18:28,955 INFO L256 TraceCheckUtils]: 75: Hoare triple {29968#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {29968#false} is VALID [2018-11-23 12:18:28,955 INFO L273 TraceCheckUtils]: 76: Hoare triple {29968#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {29968#false} is VALID [2018-11-23 12:18:28,956 INFO L273 TraceCheckUtils]: 77: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,956 INFO L273 TraceCheckUtils]: 78: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,956 INFO L273 TraceCheckUtils]: 79: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,956 INFO L273 TraceCheckUtils]: 80: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,956 INFO L273 TraceCheckUtils]: 81: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,956 INFO L273 TraceCheckUtils]: 82: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,956 INFO L273 TraceCheckUtils]: 83: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,957 INFO L273 TraceCheckUtils]: 84: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,957 INFO L273 TraceCheckUtils]: 85: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,957 INFO L273 TraceCheckUtils]: 86: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,957 INFO L273 TraceCheckUtils]: 87: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,957 INFO L273 TraceCheckUtils]: 88: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,957 INFO L273 TraceCheckUtils]: 89: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,958 INFO L273 TraceCheckUtils]: 90: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,958 INFO L273 TraceCheckUtils]: 91: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,958 INFO L273 TraceCheckUtils]: 92: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,958 INFO L273 TraceCheckUtils]: 93: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,958 INFO L273 TraceCheckUtils]: 94: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,958 INFO L273 TraceCheckUtils]: 95: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,959 INFO L273 TraceCheckUtils]: 96: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,959 INFO L273 TraceCheckUtils]: 97: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,959 INFO L273 TraceCheckUtils]: 98: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,959 INFO L273 TraceCheckUtils]: 99: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,959 INFO L273 TraceCheckUtils]: 100: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,959 INFO L273 TraceCheckUtils]: 101: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,960 INFO L273 TraceCheckUtils]: 102: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,960 INFO L273 TraceCheckUtils]: 103: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,960 INFO L273 TraceCheckUtils]: 104: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,960 INFO L273 TraceCheckUtils]: 105: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,960 INFO L273 TraceCheckUtils]: 106: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,960 INFO L273 TraceCheckUtils]: 107: Hoare triple {29968#false} assume !(~i~0 < 40); {29968#false} is VALID [2018-11-23 12:18:28,960 INFO L273 TraceCheckUtils]: 108: Hoare triple {29968#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {29968#false} is VALID [2018-11-23 12:18:28,960 INFO L273 TraceCheckUtils]: 109: Hoare triple {29968#false} assume true; {29968#false} is VALID [2018-11-23 12:18:28,961 INFO L268 TraceCheckUtils]: 110: Hoare quadruple {29968#false} {29968#false} #75#return; {29968#false} is VALID [2018-11-23 12:18:28,961 INFO L273 TraceCheckUtils]: 111: Hoare triple {29968#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); {29968#false} is VALID [2018-11-23 12:18:28,961 INFO L256 TraceCheckUtils]: 112: Hoare triple {29968#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {29968#false} is VALID [2018-11-23 12:18:28,961 INFO L273 TraceCheckUtils]: 113: Hoare triple {29968#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {29968#false} is VALID [2018-11-23 12:18:28,961 INFO L273 TraceCheckUtils]: 114: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,961 INFO L273 TraceCheckUtils]: 115: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,961 INFO L273 TraceCheckUtils]: 116: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,961 INFO L273 TraceCheckUtils]: 117: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,961 INFO L273 TraceCheckUtils]: 118: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,961 INFO L273 TraceCheckUtils]: 119: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,962 INFO L273 TraceCheckUtils]: 120: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,962 INFO L273 TraceCheckUtils]: 121: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,962 INFO L273 TraceCheckUtils]: 122: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,962 INFO L273 TraceCheckUtils]: 123: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,962 INFO L273 TraceCheckUtils]: 124: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,962 INFO L273 TraceCheckUtils]: 125: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,962 INFO L273 TraceCheckUtils]: 126: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,962 INFO L273 TraceCheckUtils]: 127: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,962 INFO L273 TraceCheckUtils]: 128: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,962 INFO L273 TraceCheckUtils]: 129: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,962 INFO L273 TraceCheckUtils]: 130: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,963 INFO L273 TraceCheckUtils]: 131: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,963 INFO L273 TraceCheckUtils]: 132: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,963 INFO L273 TraceCheckUtils]: 133: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,963 INFO L273 TraceCheckUtils]: 134: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,963 INFO L273 TraceCheckUtils]: 135: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,963 INFO L273 TraceCheckUtils]: 136: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,963 INFO L273 TraceCheckUtils]: 137: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,963 INFO L273 TraceCheckUtils]: 138: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,963 INFO L273 TraceCheckUtils]: 139: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,964 INFO L273 TraceCheckUtils]: 140: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,964 INFO L273 TraceCheckUtils]: 141: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,964 INFO L273 TraceCheckUtils]: 142: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,964 INFO L273 TraceCheckUtils]: 143: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,964 INFO L273 TraceCheckUtils]: 144: Hoare triple {29968#false} assume !(~i~0 < 40); {29968#false} is VALID [2018-11-23 12:18:28,964 INFO L273 TraceCheckUtils]: 145: Hoare triple {29968#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {29968#false} is VALID [2018-11-23 12:18:28,964 INFO L273 TraceCheckUtils]: 146: Hoare triple {29968#false} assume true; {29968#false} is VALID [2018-11-23 12:18:28,964 INFO L268 TraceCheckUtils]: 147: Hoare quadruple {29968#false} {29968#false} #77#return; {29968#false} is VALID [2018-11-23 12:18:28,964 INFO L273 TraceCheckUtils]: 148: Hoare triple {29968#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; {29968#false} is VALID [2018-11-23 12:18:28,964 INFO L273 TraceCheckUtils]: 149: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,965 INFO L273 TraceCheckUtils]: 150: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,965 INFO L273 TraceCheckUtils]: 151: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,965 INFO L273 TraceCheckUtils]: 152: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,965 INFO L273 TraceCheckUtils]: 153: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,965 INFO L273 TraceCheckUtils]: 154: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,965 INFO L273 TraceCheckUtils]: 155: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,965 INFO L273 TraceCheckUtils]: 156: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,965 INFO L273 TraceCheckUtils]: 157: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,965 INFO L273 TraceCheckUtils]: 158: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,965 INFO L273 TraceCheckUtils]: 159: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,966 INFO L273 TraceCheckUtils]: 160: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,966 INFO L273 TraceCheckUtils]: 161: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,966 INFO L273 TraceCheckUtils]: 162: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,966 INFO L273 TraceCheckUtils]: 163: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,966 INFO L273 TraceCheckUtils]: 164: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,966 INFO L273 TraceCheckUtils]: 165: Hoare triple {29968#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {29968#false} is VALID [2018-11-23 12:18:28,966 INFO L273 TraceCheckUtils]: 166: Hoare triple {29968#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {29968#false} is VALID [2018-11-23 12:18:28,966 INFO L273 TraceCheckUtils]: 167: Hoare triple {29968#false} assume !(~i~2 < 39); {29968#false} is VALID [2018-11-23 12:18:28,966 INFO L273 TraceCheckUtils]: 168: Hoare triple {29968#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {29968#false} is VALID [2018-11-23 12:18:28,966 INFO L256 TraceCheckUtils]: 169: Hoare triple {29968#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {29968#false} is VALID [2018-11-23 12:18:28,967 INFO L273 TraceCheckUtils]: 170: Hoare triple {29968#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {29968#false} is VALID [2018-11-23 12:18:28,967 INFO L273 TraceCheckUtils]: 171: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,967 INFO L273 TraceCheckUtils]: 172: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,967 INFO L273 TraceCheckUtils]: 173: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,967 INFO L273 TraceCheckUtils]: 174: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,967 INFO L273 TraceCheckUtils]: 175: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,967 INFO L273 TraceCheckUtils]: 176: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,967 INFO L273 TraceCheckUtils]: 177: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,967 INFO L273 TraceCheckUtils]: 178: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,967 INFO L273 TraceCheckUtils]: 179: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,968 INFO L273 TraceCheckUtils]: 180: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,968 INFO L273 TraceCheckUtils]: 181: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,968 INFO L273 TraceCheckUtils]: 182: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,968 INFO L273 TraceCheckUtils]: 183: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,968 INFO L273 TraceCheckUtils]: 184: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,968 INFO L273 TraceCheckUtils]: 185: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,968 INFO L273 TraceCheckUtils]: 186: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,968 INFO L273 TraceCheckUtils]: 187: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,968 INFO L273 TraceCheckUtils]: 188: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,968 INFO L273 TraceCheckUtils]: 189: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,969 INFO L273 TraceCheckUtils]: 190: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,969 INFO L273 TraceCheckUtils]: 191: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,969 INFO L273 TraceCheckUtils]: 192: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,969 INFO L273 TraceCheckUtils]: 193: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,969 INFO L273 TraceCheckUtils]: 194: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,969 INFO L273 TraceCheckUtils]: 195: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,969 INFO L273 TraceCheckUtils]: 196: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,969 INFO L273 TraceCheckUtils]: 197: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,969 INFO L273 TraceCheckUtils]: 198: Hoare triple {29968#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {29968#false} is VALID [2018-11-23 12:18:28,969 INFO L273 TraceCheckUtils]: 199: Hoare triple {29968#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {29968#false} is VALID [2018-11-23 12:18:28,970 INFO L273 TraceCheckUtils]: 200: Hoare triple {29968#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29968#false} is VALID [2018-11-23 12:18:28,970 INFO L273 TraceCheckUtils]: 201: Hoare triple {29968#false} assume !(~i~0 < 40); {29968#false} is VALID [2018-11-23 12:18:28,970 INFO L273 TraceCheckUtils]: 202: Hoare triple {29968#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {29968#false} is VALID [2018-11-23 12:18:28,970 INFO L273 TraceCheckUtils]: 203: Hoare triple {29968#false} assume true; {29968#false} is VALID [2018-11-23 12:18:28,970 INFO L268 TraceCheckUtils]: 204: Hoare quadruple {29968#false} {29968#false} #79#return; {29968#false} is VALID [2018-11-23 12:18:28,970 INFO L273 TraceCheckUtils]: 205: Hoare triple {29968#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {29968#false} is VALID [2018-11-23 12:18:28,970 INFO L273 TraceCheckUtils]: 206: Hoare triple {29968#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {29968#false} is VALID [2018-11-23 12:18:28,970 INFO L273 TraceCheckUtils]: 207: Hoare triple {29968#false} assume !false; {29968#false} is VALID [2018-11-23 12:18:28,989 INFO L134 CoverageAnalysis]: Checked inductivity of 2647 backedges. 0 proven. 1156 refuted. 0 times theorem prover too weak. 1491 trivial. 0 not checked. [2018-11-23 12:18:29,008 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:29,008 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [37, 37] total 38 [2018-11-23 12:18:29,008 INFO L78 Accepts]: Start accepts. Automaton has 38 states. Word has length 208 [2018-11-23 12:18:29,009 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:29,009 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 38 states. [2018-11-23 12:18:29,122 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:29,122 INFO L459 AbstractCegarLoop]: Interpolant automaton has 38 states [2018-11-23 12:18:29,123 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2018-11-23 12:18:29,123 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=703, Invalid=703, Unknown=0, NotChecked=0, Total=1406 [2018-11-23 12:18:29,123 INFO L87 Difference]: Start difference. First operand 139 states and 153 transitions. Second operand 38 states. [2018-11-23 12:18:30,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:30,257 INFO L93 Difference]: Finished difference Result 206 states and 234 transitions. [2018-11-23 12:18:30,257 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2018-11-23 12:18:30,257 INFO L78 Accepts]: Start accepts. Automaton has 38 states. Word has length 208 [2018-11-23 12:18:30,258 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:30,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-11-23 12:18:30,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 126 transitions. [2018-11-23 12:18:30,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-11-23 12:18:30,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 126 transitions. [2018-11-23 12:18:30,260 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states and 126 transitions. [2018-11-23 12:18:30,471 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:30,473 INFO L225 Difference]: With dead ends: 206 [2018-11-23 12:18:30,473 INFO L226 Difference]: Without dead ends: 142 [2018-11-23 12:18:30,474 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 244 GetRequests, 208 SyntacticMatches, 0 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 66 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=703, Invalid=703, Unknown=0, NotChecked=0, Total=1406 [2018-11-23 12:18:30,474 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 142 states. [2018-11-23 12:18:30,587 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 142 to 141. [2018-11-23 12:18:30,587 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:30,587 INFO L82 GeneralOperation]: Start isEquivalent. First operand 142 states. Second operand 141 states. [2018-11-23 12:18:30,587 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand 141 states. [2018-11-23 12:18:30,588 INFO L87 Difference]: Start difference. First operand 142 states. Second operand 141 states. [2018-11-23 12:18:30,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:30,591 INFO L93 Difference]: Finished difference Result 142 states and 156 transitions. [2018-11-23 12:18:30,591 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 156 transitions. [2018-11-23 12:18:30,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:30,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:30,591 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand 142 states. [2018-11-23 12:18:30,591 INFO L87 Difference]: Start difference. First operand 141 states. Second operand 142 states. [2018-11-23 12:18:30,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:30,594 INFO L93 Difference]: Finished difference Result 142 states and 156 transitions. [2018-11-23 12:18:30,594 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 156 transitions. [2018-11-23 12:18:30,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:30,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:30,594 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:30,594 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:30,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 141 states. [2018-11-23 12:18:30,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 155 transitions. [2018-11-23 12:18:30,597 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 155 transitions. Word has length 208 [2018-11-23 12:18:30,597 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:30,597 INFO L480 AbstractCegarLoop]: Abstraction has 141 states and 155 transitions. [2018-11-23 12:18:30,597 INFO L481 AbstractCegarLoop]: Interpolant automaton has 38 states. [2018-11-23 12:18:30,598 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 155 transitions. [2018-11-23 12:18:30,598 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 211 [2018-11-23 12:18:30,599 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:30,599 INFO L402 BasicCegarLoop]: trace histogram [35, 35, 30, 30, 30, 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:30,599 INFO L423 AbstractCegarLoop]: === Iteration 39 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:30,599 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:30,599 INFO L82 PathProgramCache]: Analyzing trace with hash 1243788394, now seen corresponding path program 35 times [2018-11-23 12:18:30,599 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:30,600 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:30,600 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:30,600 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:30,600 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:30,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:31,533 INFO L256 TraceCheckUtils]: 0: Hoare triple {31414#true} call ULTIMATE.init(); {31414#true} is VALID [2018-11-23 12:18:31,533 INFO L273 TraceCheckUtils]: 1: Hoare triple {31414#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {31414#true} is VALID [2018-11-23 12:18:31,533 INFO L273 TraceCheckUtils]: 2: Hoare triple {31414#true} assume true; {31414#true} is VALID [2018-11-23 12:18:31,533 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {31414#true} {31414#true} #71#return; {31414#true} is VALID [2018-11-23 12:18:31,534 INFO L256 TraceCheckUtils]: 4: Hoare triple {31414#true} call #t~ret14 := main(); {31414#true} is VALID [2018-11-23 12:18:31,534 INFO L273 TraceCheckUtils]: 5: Hoare triple {31414#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {31416#(= main_~i~1 0)} is VALID [2018-11-23 12:18:31,534 INFO L273 TraceCheckUtils]: 6: Hoare triple {31416#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31416#(= main_~i~1 0)} is VALID [2018-11-23 12:18:31,535 INFO L273 TraceCheckUtils]: 7: Hoare triple {31416#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31417#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:31,536 INFO L273 TraceCheckUtils]: 8: Hoare triple {31417#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31417#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:31,536 INFO L273 TraceCheckUtils]: 9: Hoare triple {31417#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31418#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:31,537 INFO L273 TraceCheckUtils]: 10: Hoare triple {31418#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31418#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:31,537 INFO L273 TraceCheckUtils]: 11: Hoare triple {31418#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31419#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:31,538 INFO L273 TraceCheckUtils]: 12: Hoare triple {31419#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31419#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:31,539 INFO L273 TraceCheckUtils]: 13: Hoare triple {31419#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31420#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:31,539 INFO L273 TraceCheckUtils]: 14: Hoare triple {31420#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31420#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:31,540 INFO L273 TraceCheckUtils]: 15: Hoare triple {31420#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31421#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:31,540 INFO L273 TraceCheckUtils]: 16: Hoare triple {31421#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31421#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:31,541 INFO L273 TraceCheckUtils]: 17: Hoare triple {31421#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31422#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:31,541 INFO L273 TraceCheckUtils]: 18: Hoare triple {31422#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31422#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:31,542 INFO L273 TraceCheckUtils]: 19: Hoare triple {31422#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31423#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:31,542 INFO L273 TraceCheckUtils]: 20: Hoare triple {31423#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31423#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:31,543 INFO L273 TraceCheckUtils]: 21: Hoare triple {31423#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31424#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:31,544 INFO L273 TraceCheckUtils]: 22: Hoare triple {31424#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31424#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:31,544 INFO L273 TraceCheckUtils]: 23: Hoare triple {31424#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31425#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:31,545 INFO L273 TraceCheckUtils]: 24: Hoare triple {31425#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31425#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:31,545 INFO L273 TraceCheckUtils]: 25: Hoare triple {31425#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31426#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:31,546 INFO L273 TraceCheckUtils]: 26: Hoare triple {31426#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31426#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:31,547 INFO L273 TraceCheckUtils]: 27: Hoare triple {31426#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31427#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:31,547 INFO L273 TraceCheckUtils]: 28: Hoare triple {31427#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31427#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:31,548 INFO L273 TraceCheckUtils]: 29: Hoare triple {31427#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31428#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:31,548 INFO L273 TraceCheckUtils]: 30: Hoare triple {31428#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31428#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:31,549 INFO L273 TraceCheckUtils]: 31: Hoare triple {31428#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31429#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:31,549 INFO L273 TraceCheckUtils]: 32: Hoare triple {31429#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31429#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:31,550 INFO L273 TraceCheckUtils]: 33: Hoare triple {31429#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31430#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:31,551 INFO L273 TraceCheckUtils]: 34: Hoare triple {31430#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31430#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:31,551 INFO L273 TraceCheckUtils]: 35: Hoare triple {31430#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31431#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:31,552 INFO L273 TraceCheckUtils]: 36: Hoare triple {31431#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31431#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:31,552 INFO L273 TraceCheckUtils]: 37: Hoare triple {31431#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31432#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:31,553 INFO L273 TraceCheckUtils]: 38: Hoare triple {31432#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31432#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:31,554 INFO L273 TraceCheckUtils]: 39: Hoare triple {31432#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31433#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:31,554 INFO L273 TraceCheckUtils]: 40: Hoare triple {31433#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31433#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:31,555 INFO L273 TraceCheckUtils]: 41: Hoare triple {31433#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31434#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:31,555 INFO L273 TraceCheckUtils]: 42: Hoare triple {31434#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31434#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:31,556 INFO L273 TraceCheckUtils]: 43: Hoare triple {31434#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31435#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:31,556 INFO L273 TraceCheckUtils]: 44: Hoare triple {31435#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31435#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:31,557 INFO L273 TraceCheckUtils]: 45: Hoare triple {31435#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31436#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:31,558 INFO L273 TraceCheckUtils]: 46: Hoare triple {31436#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31436#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:31,558 INFO L273 TraceCheckUtils]: 47: Hoare triple {31436#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31437#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:31,559 INFO L273 TraceCheckUtils]: 48: Hoare triple {31437#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31437#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:31,560 INFO L273 TraceCheckUtils]: 49: Hoare triple {31437#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31438#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:31,560 INFO L273 TraceCheckUtils]: 50: Hoare triple {31438#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31438#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:31,561 INFO L273 TraceCheckUtils]: 51: Hoare triple {31438#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31439#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:31,561 INFO L273 TraceCheckUtils]: 52: Hoare triple {31439#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31439#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:31,562 INFO L273 TraceCheckUtils]: 53: Hoare triple {31439#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31440#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:31,562 INFO L273 TraceCheckUtils]: 54: Hoare triple {31440#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31440#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:31,563 INFO L273 TraceCheckUtils]: 55: Hoare triple {31440#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31441#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:31,563 INFO L273 TraceCheckUtils]: 56: Hoare triple {31441#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31441#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:31,564 INFO L273 TraceCheckUtils]: 57: Hoare triple {31441#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31442#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:31,565 INFO L273 TraceCheckUtils]: 58: Hoare triple {31442#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31442#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:31,565 INFO L273 TraceCheckUtils]: 59: Hoare triple {31442#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31443#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:31,566 INFO L273 TraceCheckUtils]: 60: Hoare triple {31443#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31443#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:31,567 INFO L273 TraceCheckUtils]: 61: Hoare triple {31443#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31444#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:31,567 INFO L273 TraceCheckUtils]: 62: Hoare triple {31444#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31444#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:31,568 INFO L273 TraceCheckUtils]: 63: Hoare triple {31444#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31445#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:31,568 INFO L273 TraceCheckUtils]: 64: Hoare triple {31445#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31445#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:31,569 INFO L273 TraceCheckUtils]: 65: Hoare triple {31445#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31446#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:31,569 INFO L273 TraceCheckUtils]: 66: Hoare triple {31446#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31446#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:31,570 INFO L273 TraceCheckUtils]: 67: Hoare triple {31446#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31447#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:31,570 INFO L273 TraceCheckUtils]: 68: Hoare triple {31447#(<= main_~i~1 31)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31447#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:31,571 INFO L273 TraceCheckUtils]: 69: Hoare triple {31447#(<= main_~i~1 31)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31448#(<= main_~i~1 32)} is VALID [2018-11-23 12:18:31,572 INFO L273 TraceCheckUtils]: 70: Hoare triple {31448#(<= main_~i~1 32)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31448#(<= main_~i~1 32)} is VALID [2018-11-23 12:18:31,572 INFO L273 TraceCheckUtils]: 71: Hoare triple {31448#(<= main_~i~1 32)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31449#(<= main_~i~1 33)} is VALID [2018-11-23 12:18:31,573 INFO L273 TraceCheckUtils]: 72: Hoare triple {31449#(<= main_~i~1 33)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31449#(<= main_~i~1 33)} is VALID [2018-11-23 12:18:31,574 INFO L273 TraceCheckUtils]: 73: Hoare triple {31449#(<= main_~i~1 33)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31450#(<= main_~i~1 34)} is VALID [2018-11-23 12:18:31,574 INFO L273 TraceCheckUtils]: 74: Hoare triple {31450#(<= main_~i~1 34)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31450#(<= main_~i~1 34)} is VALID [2018-11-23 12:18:31,575 INFO L273 TraceCheckUtils]: 75: Hoare triple {31450#(<= main_~i~1 34)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31451#(<= main_~i~1 35)} is VALID [2018-11-23 12:18:31,576 INFO L273 TraceCheckUtils]: 76: Hoare triple {31451#(<= main_~i~1 35)} assume !(~i~1 < 40); {31415#false} is VALID [2018-11-23 12:18:31,576 INFO L256 TraceCheckUtils]: 77: Hoare triple {31415#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {31414#true} is VALID [2018-11-23 12:18:31,576 INFO L273 TraceCheckUtils]: 78: Hoare triple {31414#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {31414#true} is VALID [2018-11-23 12:18:31,576 INFO L273 TraceCheckUtils]: 79: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,576 INFO L273 TraceCheckUtils]: 80: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,576 INFO L273 TraceCheckUtils]: 81: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,577 INFO L273 TraceCheckUtils]: 82: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,577 INFO L273 TraceCheckUtils]: 83: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,577 INFO L273 TraceCheckUtils]: 84: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,577 INFO L273 TraceCheckUtils]: 85: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,577 INFO L273 TraceCheckUtils]: 86: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,577 INFO L273 TraceCheckUtils]: 87: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,578 INFO L273 TraceCheckUtils]: 88: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,578 INFO L273 TraceCheckUtils]: 89: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,578 INFO L273 TraceCheckUtils]: 90: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,578 INFO L273 TraceCheckUtils]: 91: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,578 INFO L273 TraceCheckUtils]: 92: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,578 INFO L273 TraceCheckUtils]: 93: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,579 INFO L273 TraceCheckUtils]: 94: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,579 INFO L273 TraceCheckUtils]: 95: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,579 INFO L273 TraceCheckUtils]: 96: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,579 INFO L273 TraceCheckUtils]: 97: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,579 INFO L273 TraceCheckUtils]: 98: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,579 INFO L273 TraceCheckUtils]: 99: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,579 INFO L273 TraceCheckUtils]: 100: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,579 INFO L273 TraceCheckUtils]: 101: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,580 INFO L273 TraceCheckUtils]: 102: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,580 INFO L273 TraceCheckUtils]: 103: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,580 INFO L273 TraceCheckUtils]: 104: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,580 INFO L273 TraceCheckUtils]: 105: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,580 INFO L273 TraceCheckUtils]: 106: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,580 INFO L273 TraceCheckUtils]: 107: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,580 INFO L273 TraceCheckUtils]: 108: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,580 INFO L273 TraceCheckUtils]: 109: Hoare triple {31414#true} assume !(~i~0 < 40); {31414#true} is VALID [2018-11-23 12:18:31,580 INFO L273 TraceCheckUtils]: 110: Hoare triple {31414#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {31414#true} is VALID [2018-11-23 12:18:31,580 INFO L273 TraceCheckUtils]: 111: Hoare triple {31414#true} assume true; {31414#true} is VALID [2018-11-23 12:18:31,581 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {31414#true} {31415#false} #75#return; {31415#false} is VALID [2018-11-23 12:18:31,581 INFO L273 TraceCheckUtils]: 113: Hoare triple {31415#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); {31415#false} is VALID [2018-11-23 12:18:31,581 INFO L256 TraceCheckUtils]: 114: Hoare triple {31415#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {31414#true} is VALID [2018-11-23 12:18:31,581 INFO L273 TraceCheckUtils]: 115: Hoare triple {31414#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {31414#true} is VALID [2018-11-23 12:18:31,581 INFO L273 TraceCheckUtils]: 116: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,581 INFO L273 TraceCheckUtils]: 117: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,581 INFO L273 TraceCheckUtils]: 118: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,581 INFO L273 TraceCheckUtils]: 119: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,581 INFO L273 TraceCheckUtils]: 120: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,581 INFO L273 TraceCheckUtils]: 121: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,582 INFO L273 TraceCheckUtils]: 122: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,582 INFO L273 TraceCheckUtils]: 123: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,582 INFO L273 TraceCheckUtils]: 124: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,582 INFO L273 TraceCheckUtils]: 125: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,582 INFO L273 TraceCheckUtils]: 126: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,582 INFO L273 TraceCheckUtils]: 127: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,582 INFO L273 TraceCheckUtils]: 128: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,582 INFO L273 TraceCheckUtils]: 129: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,582 INFO L273 TraceCheckUtils]: 130: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,582 INFO L273 TraceCheckUtils]: 131: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,583 INFO L273 TraceCheckUtils]: 132: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,583 INFO L273 TraceCheckUtils]: 133: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,583 INFO L273 TraceCheckUtils]: 134: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,583 INFO L273 TraceCheckUtils]: 135: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,583 INFO L273 TraceCheckUtils]: 136: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,583 INFO L273 TraceCheckUtils]: 137: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,583 INFO L273 TraceCheckUtils]: 138: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,583 INFO L273 TraceCheckUtils]: 139: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,583 INFO L273 TraceCheckUtils]: 140: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,583 INFO L273 TraceCheckUtils]: 141: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,584 INFO L273 TraceCheckUtils]: 142: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,584 INFO L273 TraceCheckUtils]: 143: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,584 INFO L273 TraceCheckUtils]: 144: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,584 INFO L273 TraceCheckUtils]: 145: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,584 INFO L273 TraceCheckUtils]: 146: Hoare triple {31414#true} assume !(~i~0 < 40); {31414#true} is VALID [2018-11-23 12:18:31,584 INFO L273 TraceCheckUtils]: 147: Hoare triple {31414#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {31414#true} is VALID [2018-11-23 12:18:31,584 INFO L273 TraceCheckUtils]: 148: Hoare triple {31414#true} assume true; {31414#true} is VALID [2018-11-23 12:18:31,584 INFO L268 TraceCheckUtils]: 149: Hoare quadruple {31414#true} {31415#false} #77#return; {31415#false} is VALID [2018-11-23 12:18:31,584 INFO L273 TraceCheckUtils]: 150: Hoare triple {31415#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; {31415#false} is VALID [2018-11-23 12:18:31,584 INFO L273 TraceCheckUtils]: 151: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:31,585 INFO L273 TraceCheckUtils]: 152: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:31,585 INFO L273 TraceCheckUtils]: 153: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:31,585 INFO L273 TraceCheckUtils]: 154: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:31,585 INFO L273 TraceCheckUtils]: 155: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:31,585 INFO L273 TraceCheckUtils]: 156: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:31,585 INFO L273 TraceCheckUtils]: 157: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:31,585 INFO L273 TraceCheckUtils]: 158: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:31,585 INFO L273 TraceCheckUtils]: 159: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:31,585 INFO L273 TraceCheckUtils]: 160: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:31,585 INFO L273 TraceCheckUtils]: 161: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:31,586 INFO L273 TraceCheckUtils]: 162: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:31,586 INFO L273 TraceCheckUtils]: 163: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:31,586 INFO L273 TraceCheckUtils]: 164: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:31,586 INFO L273 TraceCheckUtils]: 165: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:31,586 INFO L273 TraceCheckUtils]: 166: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:31,586 INFO L273 TraceCheckUtils]: 167: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:31,586 INFO L273 TraceCheckUtils]: 168: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:31,586 INFO L273 TraceCheckUtils]: 169: Hoare triple {31415#false} assume !(~i~2 < 39); {31415#false} is VALID [2018-11-23 12:18:31,586 INFO L273 TraceCheckUtils]: 170: Hoare triple {31415#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {31415#false} is VALID [2018-11-23 12:18:31,586 INFO L256 TraceCheckUtils]: 171: Hoare triple {31415#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {31414#true} is VALID [2018-11-23 12:18:31,587 INFO L273 TraceCheckUtils]: 172: Hoare triple {31414#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {31414#true} is VALID [2018-11-23 12:18:31,587 INFO L273 TraceCheckUtils]: 173: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,587 INFO L273 TraceCheckUtils]: 174: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,587 INFO L273 TraceCheckUtils]: 175: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,587 INFO L273 TraceCheckUtils]: 176: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,587 INFO L273 TraceCheckUtils]: 177: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,587 INFO L273 TraceCheckUtils]: 178: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,587 INFO L273 TraceCheckUtils]: 179: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,587 INFO L273 TraceCheckUtils]: 180: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,587 INFO L273 TraceCheckUtils]: 181: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,588 INFO L273 TraceCheckUtils]: 182: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,588 INFO L273 TraceCheckUtils]: 183: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,588 INFO L273 TraceCheckUtils]: 184: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,588 INFO L273 TraceCheckUtils]: 185: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,588 INFO L273 TraceCheckUtils]: 186: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,588 INFO L273 TraceCheckUtils]: 187: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,588 INFO L273 TraceCheckUtils]: 188: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,588 INFO L273 TraceCheckUtils]: 189: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,588 INFO L273 TraceCheckUtils]: 190: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,588 INFO L273 TraceCheckUtils]: 191: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,589 INFO L273 TraceCheckUtils]: 192: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,589 INFO L273 TraceCheckUtils]: 193: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,589 INFO L273 TraceCheckUtils]: 194: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,589 INFO L273 TraceCheckUtils]: 195: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,589 INFO L273 TraceCheckUtils]: 196: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,589 INFO L273 TraceCheckUtils]: 197: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,589 INFO L273 TraceCheckUtils]: 198: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,589 INFO L273 TraceCheckUtils]: 199: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,589 INFO L273 TraceCheckUtils]: 200: Hoare triple {31414#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31414#true} is VALID [2018-11-23 12:18:31,589 INFO L273 TraceCheckUtils]: 201: Hoare triple {31414#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31414#true} is VALID [2018-11-23 12:18:31,590 INFO L273 TraceCheckUtils]: 202: Hoare triple {31414#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31414#true} is VALID [2018-11-23 12:18:31,590 INFO L273 TraceCheckUtils]: 203: Hoare triple {31414#true} assume !(~i~0 < 40); {31414#true} is VALID [2018-11-23 12:18:31,590 INFO L273 TraceCheckUtils]: 204: Hoare triple {31414#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {31414#true} is VALID [2018-11-23 12:18:31,590 INFO L273 TraceCheckUtils]: 205: Hoare triple {31414#true} assume true; {31414#true} is VALID [2018-11-23 12:18:31,590 INFO L268 TraceCheckUtils]: 206: Hoare quadruple {31414#true} {31415#false} #79#return; {31415#false} is VALID [2018-11-23 12:18:31,590 INFO L273 TraceCheckUtils]: 207: Hoare triple {31415#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {31415#false} is VALID [2018-11-23 12:18:31,590 INFO L273 TraceCheckUtils]: 208: Hoare triple {31415#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {31415#false} is VALID [2018-11-23 12:18:31,590 INFO L273 TraceCheckUtils]: 209: Hoare triple {31415#false} assume !false; {31415#false} is VALID [2018-11-23 12:18:31,609 INFO L134 CoverageAnalysis]: Checked inductivity of 2716 backedges. 0 proven. 1225 refuted. 0 times theorem prover too weak. 1491 trivial. 0 not checked. [2018-11-23 12:18:31,609 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:31,609 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:31,618 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:18:48,971 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 35 check-sat command(s) [2018-11-23 12:18:48,971 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:49,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:49,026 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:49,426 INFO L256 TraceCheckUtils]: 0: Hoare triple {31414#true} call ULTIMATE.init(); {31414#true} is VALID [2018-11-23 12:18:49,426 INFO L273 TraceCheckUtils]: 1: Hoare triple {31414#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {31414#true} is VALID [2018-11-23 12:18:49,426 INFO L273 TraceCheckUtils]: 2: Hoare triple {31414#true} assume true; {31414#true} is VALID [2018-11-23 12:18:49,426 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {31414#true} {31414#true} #71#return; {31414#true} is VALID [2018-11-23 12:18:49,426 INFO L256 TraceCheckUtils]: 4: Hoare triple {31414#true} call #t~ret14 := main(); {31414#true} is VALID [2018-11-23 12:18:49,427 INFO L273 TraceCheckUtils]: 5: Hoare triple {31414#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {31414#true} is VALID [2018-11-23 12:18:49,427 INFO L273 TraceCheckUtils]: 6: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,427 INFO L273 TraceCheckUtils]: 7: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,427 INFO L273 TraceCheckUtils]: 8: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,427 INFO L273 TraceCheckUtils]: 9: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,427 INFO L273 TraceCheckUtils]: 10: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,428 INFO L273 TraceCheckUtils]: 11: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,428 INFO L273 TraceCheckUtils]: 12: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,428 INFO L273 TraceCheckUtils]: 13: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,428 INFO L273 TraceCheckUtils]: 14: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,428 INFO L273 TraceCheckUtils]: 15: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,428 INFO L273 TraceCheckUtils]: 16: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,428 INFO L273 TraceCheckUtils]: 17: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,428 INFO L273 TraceCheckUtils]: 18: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,428 INFO L273 TraceCheckUtils]: 19: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,429 INFO L273 TraceCheckUtils]: 20: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,429 INFO L273 TraceCheckUtils]: 21: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,429 INFO L273 TraceCheckUtils]: 22: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,429 INFO L273 TraceCheckUtils]: 23: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,429 INFO L273 TraceCheckUtils]: 24: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,429 INFO L273 TraceCheckUtils]: 25: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,429 INFO L273 TraceCheckUtils]: 26: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,429 INFO L273 TraceCheckUtils]: 27: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,429 INFO L273 TraceCheckUtils]: 28: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,429 INFO L273 TraceCheckUtils]: 29: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,430 INFO L273 TraceCheckUtils]: 30: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,430 INFO L273 TraceCheckUtils]: 31: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,430 INFO L273 TraceCheckUtils]: 32: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,430 INFO L273 TraceCheckUtils]: 33: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,430 INFO L273 TraceCheckUtils]: 34: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,430 INFO L273 TraceCheckUtils]: 35: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,430 INFO L273 TraceCheckUtils]: 36: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,430 INFO L273 TraceCheckUtils]: 37: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,430 INFO L273 TraceCheckUtils]: 38: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,430 INFO L273 TraceCheckUtils]: 39: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,431 INFO L273 TraceCheckUtils]: 40: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,431 INFO L273 TraceCheckUtils]: 41: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,431 INFO L273 TraceCheckUtils]: 42: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,431 INFO L273 TraceCheckUtils]: 43: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,431 INFO L273 TraceCheckUtils]: 44: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,431 INFO L273 TraceCheckUtils]: 45: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,431 INFO L273 TraceCheckUtils]: 46: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,431 INFO L273 TraceCheckUtils]: 47: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,431 INFO L273 TraceCheckUtils]: 48: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,431 INFO L273 TraceCheckUtils]: 49: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,432 INFO L273 TraceCheckUtils]: 50: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,432 INFO L273 TraceCheckUtils]: 51: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,432 INFO L273 TraceCheckUtils]: 52: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,432 INFO L273 TraceCheckUtils]: 53: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,432 INFO L273 TraceCheckUtils]: 54: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,432 INFO L273 TraceCheckUtils]: 55: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,432 INFO L273 TraceCheckUtils]: 56: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,432 INFO L273 TraceCheckUtils]: 57: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,432 INFO L273 TraceCheckUtils]: 58: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,432 INFO L273 TraceCheckUtils]: 59: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,433 INFO L273 TraceCheckUtils]: 60: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,433 INFO L273 TraceCheckUtils]: 61: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,433 INFO L273 TraceCheckUtils]: 62: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,433 INFO L273 TraceCheckUtils]: 63: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,433 INFO L273 TraceCheckUtils]: 64: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,433 INFO L273 TraceCheckUtils]: 65: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,433 INFO L273 TraceCheckUtils]: 66: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,433 INFO L273 TraceCheckUtils]: 67: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,433 INFO L273 TraceCheckUtils]: 68: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,433 INFO L273 TraceCheckUtils]: 69: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,434 INFO L273 TraceCheckUtils]: 70: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,434 INFO L273 TraceCheckUtils]: 71: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,434 INFO L273 TraceCheckUtils]: 72: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,434 INFO L273 TraceCheckUtils]: 73: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,434 INFO L273 TraceCheckUtils]: 74: Hoare triple {31414#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {31414#true} is VALID [2018-11-23 12:18:49,434 INFO L273 TraceCheckUtils]: 75: Hoare triple {31414#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {31414#true} is VALID [2018-11-23 12:18:49,434 INFO L273 TraceCheckUtils]: 76: Hoare triple {31414#true} assume !(~i~1 < 40); {31414#true} is VALID [2018-11-23 12:18:49,434 INFO L256 TraceCheckUtils]: 77: Hoare triple {31414#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {31414#true} is VALID [2018-11-23 12:18:49,435 INFO L273 TraceCheckUtils]: 78: Hoare triple {31414#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {31689#(<= sep_~i~0 0)} is VALID [2018-11-23 12:18:49,435 INFO L273 TraceCheckUtils]: 79: Hoare triple {31689#(<= sep_~i~0 0)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31689#(<= sep_~i~0 0)} is VALID [2018-11-23 12:18:49,435 INFO L273 TraceCheckUtils]: 80: Hoare triple {31689#(<= 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; {31689#(<= sep_~i~0 0)} is VALID [2018-11-23 12:18:49,436 INFO L273 TraceCheckUtils]: 81: Hoare triple {31689#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31699#(<= sep_~i~0 1)} is VALID [2018-11-23 12:18:49,436 INFO L273 TraceCheckUtils]: 82: Hoare triple {31699#(<= sep_~i~0 1)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31699#(<= sep_~i~0 1)} is VALID [2018-11-23 12:18:49,436 INFO L273 TraceCheckUtils]: 83: Hoare triple {31699#(<= 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; {31699#(<= sep_~i~0 1)} is VALID [2018-11-23 12:18:49,437 INFO L273 TraceCheckUtils]: 84: Hoare triple {31699#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31709#(<= sep_~i~0 2)} is VALID [2018-11-23 12:18:49,437 INFO L273 TraceCheckUtils]: 85: Hoare triple {31709#(<= sep_~i~0 2)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31709#(<= sep_~i~0 2)} is VALID [2018-11-23 12:18:49,437 INFO L273 TraceCheckUtils]: 86: Hoare triple {31709#(<= 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; {31709#(<= sep_~i~0 2)} is VALID [2018-11-23 12:18:49,438 INFO L273 TraceCheckUtils]: 87: Hoare triple {31709#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31719#(<= sep_~i~0 3)} is VALID [2018-11-23 12:18:49,438 INFO L273 TraceCheckUtils]: 88: Hoare triple {31719#(<= sep_~i~0 3)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31719#(<= sep_~i~0 3)} is VALID [2018-11-23 12:18:49,438 INFO L273 TraceCheckUtils]: 89: Hoare triple {31719#(<= 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; {31719#(<= sep_~i~0 3)} is VALID [2018-11-23 12:18:49,439 INFO L273 TraceCheckUtils]: 90: Hoare triple {31719#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31729#(<= sep_~i~0 4)} is VALID [2018-11-23 12:18:49,439 INFO L273 TraceCheckUtils]: 91: Hoare triple {31729#(<= sep_~i~0 4)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31729#(<= sep_~i~0 4)} is VALID [2018-11-23 12:18:49,440 INFO L273 TraceCheckUtils]: 92: Hoare triple {31729#(<= 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; {31729#(<= sep_~i~0 4)} is VALID [2018-11-23 12:18:49,440 INFO L273 TraceCheckUtils]: 93: Hoare triple {31729#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31739#(<= sep_~i~0 5)} is VALID [2018-11-23 12:18:49,441 INFO L273 TraceCheckUtils]: 94: Hoare triple {31739#(<= sep_~i~0 5)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31739#(<= sep_~i~0 5)} is VALID [2018-11-23 12:18:49,441 INFO L273 TraceCheckUtils]: 95: Hoare triple {31739#(<= 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; {31739#(<= sep_~i~0 5)} is VALID [2018-11-23 12:18:49,442 INFO L273 TraceCheckUtils]: 96: Hoare triple {31739#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31749#(<= sep_~i~0 6)} is VALID [2018-11-23 12:18:49,443 INFO L273 TraceCheckUtils]: 97: Hoare triple {31749#(<= sep_~i~0 6)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31749#(<= sep_~i~0 6)} is VALID [2018-11-23 12:18:49,443 INFO L273 TraceCheckUtils]: 98: Hoare triple {31749#(<= 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; {31749#(<= sep_~i~0 6)} is VALID [2018-11-23 12:18:49,444 INFO L273 TraceCheckUtils]: 99: Hoare triple {31749#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31759#(<= sep_~i~0 7)} is VALID [2018-11-23 12:18:49,444 INFO L273 TraceCheckUtils]: 100: Hoare triple {31759#(<= sep_~i~0 7)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31759#(<= sep_~i~0 7)} is VALID [2018-11-23 12:18:49,445 INFO L273 TraceCheckUtils]: 101: Hoare triple {31759#(<= 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; {31759#(<= sep_~i~0 7)} is VALID [2018-11-23 12:18:49,445 INFO L273 TraceCheckUtils]: 102: Hoare triple {31759#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31769#(<= sep_~i~0 8)} is VALID [2018-11-23 12:18:49,446 INFO L273 TraceCheckUtils]: 103: Hoare triple {31769#(<= sep_~i~0 8)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31769#(<= sep_~i~0 8)} is VALID [2018-11-23 12:18:49,446 INFO L273 TraceCheckUtils]: 104: Hoare triple {31769#(<= 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; {31769#(<= sep_~i~0 8)} is VALID [2018-11-23 12:18:49,447 INFO L273 TraceCheckUtils]: 105: Hoare triple {31769#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31779#(<= sep_~i~0 9)} is VALID [2018-11-23 12:18:49,447 INFO L273 TraceCheckUtils]: 106: Hoare triple {31779#(<= sep_~i~0 9)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31779#(<= sep_~i~0 9)} is VALID [2018-11-23 12:18:49,448 INFO L273 TraceCheckUtils]: 107: Hoare triple {31779#(<= 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; {31779#(<= sep_~i~0 9)} is VALID [2018-11-23 12:18:49,449 INFO L273 TraceCheckUtils]: 108: Hoare triple {31779#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31789#(<= sep_~i~0 10)} is VALID [2018-11-23 12:18:49,449 INFO L273 TraceCheckUtils]: 109: Hoare triple {31789#(<= sep_~i~0 10)} assume !(~i~0 < 40); {31415#false} is VALID [2018-11-23 12:18:49,449 INFO L273 TraceCheckUtils]: 110: Hoare triple {31415#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {31415#false} is VALID [2018-11-23 12:18:49,450 INFO L273 TraceCheckUtils]: 111: Hoare triple {31415#false} assume true; {31415#false} is VALID [2018-11-23 12:18:49,450 INFO L268 TraceCheckUtils]: 112: Hoare quadruple {31415#false} {31414#true} #75#return; {31415#false} is VALID [2018-11-23 12:18:49,450 INFO L273 TraceCheckUtils]: 113: Hoare triple {31415#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); {31415#false} is VALID [2018-11-23 12:18:49,450 INFO L256 TraceCheckUtils]: 114: Hoare triple {31415#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {31415#false} is VALID [2018-11-23 12:18:49,450 INFO L273 TraceCheckUtils]: 115: Hoare triple {31415#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {31415#false} is VALID [2018-11-23 12:18:49,450 INFO L273 TraceCheckUtils]: 116: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,451 INFO L273 TraceCheckUtils]: 117: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,451 INFO L273 TraceCheckUtils]: 118: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,451 INFO L273 TraceCheckUtils]: 119: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,451 INFO L273 TraceCheckUtils]: 120: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,451 INFO L273 TraceCheckUtils]: 121: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,452 INFO L273 TraceCheckUtils]: 122: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,452 INFO L273 TraceCheckUtils]: 123: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,452 INFO L273 TraceCheckUtils]: 124: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,452 INFO L273 TraceCheckUtils]: 125: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,452 INFO L273 TraceCheckUtils]: 126: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,452 INFO L273 TraceCheckUtils]: 127: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,453 INFO L273 TraceCheckUtils]: 128: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,453 INFO L273 TraceCheckUtils]: 129: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,453 INFO L273 TraceCheckUtils]: 130: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,453 INFO L273 TraceCheckUtils]: 131: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,453 INFO L273 TraceCheckUtils]: 132: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,453 INFO L273 TraceCheckUtils]: 133: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,454 INFO L273 TraceCheckUtils]: 134: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,454 INFO L273 TraceCheckUtils]: 135: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,454 INFO L273 TraceCheckUtils]: 136: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,454 INFO L273 TraceCheckUtils]: 137: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,454 INFO L273 TraceCheckUtils]: 138: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,454 INFO L273 TraceCheckUtils]: 139: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,455 INFO L273 TraceCheckUtils]: 140: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,455 INFO L273 TraceCheckUtils]: 141: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,455 INFO L273 TraceCheckUtils]: 142: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,455 INFO L273 TraceCheckUtils]: 143: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,455 INFO L273 TraceCheckUtils]: 144: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,455 INFO L273 TraceCheckUtils]: 145: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,455 INFO L273 TraceCheckUtils]: 146: Hoare triple {31415#false} assume !(~i~0 < 40); {31415#false} is VALID [2018-11-23 12:18:49,455 INFO L273 TraceCheckUtils]: 147: Hoare triple {31415#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {31415#false} is VALID [2018-11-23 12:18:49,455 INFO L273 TraceCheckUtils]: 148: Hoare triple {31415#false} assume true; {31415#false} is VALID [2018-11-23 12:18:49,456 INFO L268 TraceCheckUtils]: 149: Hoare quadruple {31415#false} {31415#false} #77#return; {31415#false} is VALID [2018-11-23 12:18:49,456 INFO L273 TraceCheckUtils]: 150: Hoare triple {31415#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; {31415#false} is VALID [2018-11-23 12:18:49,456 INFO L273 TraceCheckUtils]: 151: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:49,456 INFO L273 TraceCheckUtils]: 152: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:49,456 INFO L273 TraceCheckUtils]: 153: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:49,456 INFO L273 TraceCheckUtils]: 154: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:49,456 INFO L273 TraceCheckUtils]: 155: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:49,456 INFO L273 TraceCheckUtils]: 156: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:49,456 INFO L273 TraceCheckUtils]: 157: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:49,456 INFO L273 TraceCheckUtils]: 158: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:49,457 INFO L273 TraceCheckUtils]: 159: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:49,457 INFO L273 TraceCheckUtils]: 160: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:49,457 INFO L273 TraceCheckUtils]: 161: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:49,457 INFO L273 TraceCheckUtils]: 162: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:49,457 INFO L273 TraceCheckUtils]: 163: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:49,457 INFO L273 TraceCheckUtils]: 164: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:49,457 INFO L273 TraceCheckUtils]: 165: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:49,457 INFO L273 TraceCheckUtils]: 166: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:49,457 INFO L273 TraceCheckUtils]: 167: Hoare triple {31415#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {31415#false} is VALID [2018-11-23 12:18:49,457 INFO L273 TraceCheckUtils]: 168: Hoare triple {31415#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {31415#false} is VALID [2018-11-23 12:18:49,458 INFO L273 TraceCheckUtils]: 169: Hoare triple {31415#false} assume !(~i~2 < 39); {31415#false} is VALID [2018-11-23 12:18:49,458 INFO L273 TraceCheckUtils]: 170: Hoare triple {31415#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {31415#false} is VALID [2018-11-23 12:18:49,458 INFO L256 TraceCheckUtils]: 171: Hoare triple {31415#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {31415#false} is VALID [2018-11-23 12:18:49,458 INFO L273 TraceCheckUtils]: 172: Hoare triple {31415#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {31415#false} is VALID [2018-11-23 12:18:49,458 INFO L273 TraceCheckUtils]: 173: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,458 INFO L273 TraceCheckUtils]: 174: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,458 INFO L273 TraceCheckUtils]: 175: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,458 INFO L273 TraceCheckUtils]: 176: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,458 INFO L273 TraceCheckUtils]: 177: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,458 INFO L273 TraceCheckUtils]: 178: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,459 INFO L273 TraceCheckUtils]: 179: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,459 INFO L273 TraceCheckUtils]: 180: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,459 INFO L273 TraceCheckUtils]: 181: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,459 INFO L273 TraceCheckUtils]: 182: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,459 INFO L273 TraceCheckUtils]: 183: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,459 INFO L273 TraceCheckUtils]: 184: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,459 INFO L273 TraceCheckUtils]: 185: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,459 INFO L273 TraceCheckUtils]: 186: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,459 INFO L273 TraceCheckUtils]: 187: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,459 INFO L273 TraceCheckUtils]: 188: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,460 INFO L273 TraceCheckUtils]: 189: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,460 INFO L273 TraceCheckUtils]: 190: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,460 INFO L273 TraceCheckUtils]: 191: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,460 INFO L273 TraceCheckUtils]: 192: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,460 INFO L273 TraceCheckUtils]: 193: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,460 INFO L273 TraceCheckUtils]: 194: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,460 INFO L273 TraceCheckUtils]: 195: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,460 INFO L273 TraceCheckUtils]: 196: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,460 INFO L273 TraceCheckUtils]: 197: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,460 INFO L273 TraceCheckUtils]: 198: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,461 INFO L273 TraceCheckUtils]: 199: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,461 INFO L273 TraceCheckUtils]: 200: Hoare triple {31415#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {31415#false} is VALID [2018-11-23 12:18:49,461 INFO L273 TraceCheckUtils]: 201: Hoare triple {31415#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {31415#false} is VALID [2018-11-23 12:18:49,461 INFO L273 TraceCheckUtils]: 202: Hoare triple {31415#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {31415#false} is VALID [2018-11-23 12:18:49,461 INFO L273 TraceCheckUtils]: 203: Hoare triple {31415#false} assume !(~i~0 < 40); {31415#false} is VALID [2018-11-23 12:18:49,461 INFO L273 TraceCheckUtils]: 204: Hoare triple {31415#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {31415#false} is VALID [2018-11-23 12:18:49,461 INFO L273 TraceCheckUtils]: 205: Hoare triple {31415#false} assume true; {31415#false} is VALID [2018-11-23 12:18:49,461 INFO L268 TraceCheckUtils]: 206: Hoare quadruple {31415#false} {31415#false} #79#return; {31415#false} is VALID [2018-11-23 12:18:49,461 INFO L273 TraceCheckUtils]: 207: Hoare triple {31415#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {31415#false} is VALID [2018-11-23 12:18:49,461 INFO L273 TraceCheckUtils]: 208: Hoare triple {31415#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {31415#false} is VALID [2018-11-23 12:18:49,462 INFO L273 TraceCheckUtils]: 209: Hoare triple {31415#false} assume !false; {31415#false} is VALID [2018-11-23 12:18:49,478 INFO L134 CoverageAnalysis]: Checked inductivity of 2716 backedges. 644 proven. 145 refuted. 0 times theorem prover too weak. 1927 trivial. 0 not checked. [2018-11-23 12:18:49,503 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:49,503 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [38, 13] total 49 [2018-11-23 12:18:49,504 INFO L78 Accepts]: Start accepts. Automaton has 49 states. Word has length 210 [2018-11-23 12:18:49,504 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:49,504 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 49 states. [2018-11-23 12:18:49,646 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:49,647 INFO L459 AbstractCegarLoop]: Interpolant automaton has 49 states [2018-11-23 12:18:49,647 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 49 interpolants. [2018-11-23 12:18:49,648 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=780, Invalid=1572, Unknown=0, NotChecked=0, Total=2352 [2018-11-23 12:18:49,649 INFO L87 Difference]: Start difference. First operand 141 states and 155 transitions. Second operand 49 states. [2018-11-23 12:18:50,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:50,994 INFO L93 Difference]: Finished difference Result 213 states and 247 transitions. [2018-11-23 12:18:50,994 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2018-11-23 12:18:50,994 INFO L78 Accepts]: Start accepts. Automaton has 49 states. Word has length 210 [2018-11-23 12:18:50,994 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:50,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:18:50,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 176 transitions. [2018-11-23 12:18:50,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:18:50,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 176 transitions. [2018-11-23 12:18:50,997 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 49 states and 176 transitions. [2018-11-23 12:18:51,203 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 176 edges. 176 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:51,206 INFO L225 Difference]: With dead ends: 213 [2018-11-23 12:18:51,206 INFO L226 Difference]: Without dead ends: 149 [2018-11-23 12:18:51,207 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 247 GetRequests, 200 SyntacticMatches, 0 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 385 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=780, Invalid=1572, Unknown=0, NotChecked=0, Total=2352 [2018-11-23 12:18:51,208 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states. [2018-11-23 12:18:51,298 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 146. [2018-11-23 12:18:51,298 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:51,298 INFO L82 GeneralOperation]: Start isEquivalent. First operand 149 states. Second operand 146 states. [2018-11-23 12:18:51,298 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand 146 states. [2018-11-23 12:18:51,298 INFO L87 Difference]: Start difference. First operand 149 states. Second operand 146 states. [2018-11-23 12:18:51,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:51,301 INFO L93 Difference]: Finished difference Result 149 states and 165 transitions. [2018-11-23 12:18:51,301 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 165 transitions. [2018-11-23 12:18:51,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:51,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:51,302 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand 149 states. [2018-11-23 12:18:51,302 INFO L87 Difference]: Start difference. First operand 146 states. Second operand 149 states. [2018-11-23 12:18:51,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:51,304 INFO L93 Difference]: Finished difference Result 149 states and 165 transitions. [2018-11-23 12:18:51,304 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 165 transitions. [2018-11-23 12:18:51,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:51,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:51,305 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:51,305 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:51,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 146 states. [2018-11-23 12:18:51,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 161 transitions. [2018-11-23 12:18:51,307 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 161 transitions. Word has length 210 [2018-11-23 12:18:51,308 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:51,308 INFO L480 AbstractCegarLoop]: Abstraction has 146 states and 161 transitions. [2018-11-23 12:18:51,308 INFO L481 AbstractCegarLoop]: Interpolant automaton has 49 states. [2018-11-23 12:18:51,308 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 161 transitions. [2018-11-23 12:18:51,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 222 [2018-11-23 12:18:51,309 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:51,309 INFO L402 BasicCegarLoop]: trace histogram [36, 36, 33, 33, 33, 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:51,309 INFO L423 AbstractCegarLoop]: === Iteration 40 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:51,309 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:51,309 INFO L82 PathProgramCache]: Analyzing trace with hash -763689655, now seen corresponding path program 36 times [2018-11-23 12:18:51,309 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:51,310 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:51,310 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:51,310 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:51,310 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:51,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:52,225 INFO L256 TraceCheckUtils]: 0: Hoare triple {32908#true} call ULTIMATE.init(); {32908#true} is VALID [2018-11-23 12:18:52,226 INFO L273 TraceCheckUtils]: 1: Hoare triple {32908#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {32908#true} is VALID [2018-11-23 12:18:52,226 INFO L273 TraceCheckUtils]: 2: Hoare triple {32908#true} assume true; {32908#true} is VALID [2018-11-23 12:18:52,226 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {32908#true} {32908#true} #71#return; {32908#true} is VALID [2018-11-23 12:18:52,226 INFO L256 TraceCheckUtils]: 4: Hoare triple {32908#true} call #t~ret14 := main(); {32908#true} is VALID [2018-11-23 12:18:52,226 INFO L273 TraceCheckUtils]: 5: Hoare triple {32908#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {32910#(= main_~i~1 0)} is VALID [2018-11-23 12:18:52,227 INFO L273 TraceCheckUtils]: 6: Hoare triple {32910#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32910#(= main_~i~1 0)} is VALID [2018-11-23 12:18:52,227 INFO L273 TraceCheckUtils]: 7: Hoare triple {32910#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32911#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:52,228 INFO L273 TraceCheckUtils]: 8: Hoare triple {32911#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32911#(<= main_~i~1 1)} is VALID [2018-11-23 12:18:52,228 INFO L273 TraceCheckUtils]: 9: Hoare triple {32911#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32912#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:52,228 INFO L273 TraceCheckUtils]: 10: Hoare triple {32912#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32912#(<= main_~i~1 2)} is VALID [2018-11-23 12:18:52,229 INFO L273 TraceCheckUtils]: 11: Hoare triple {32912#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32913#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:52,229 INFO L273 TraceCheckUtils]: 12: Hoare triple {32913#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32913#(<= main_~i~1 3)} is VALID [2018-11-23 12:18:52,230 INFO L273 TraceCheckUtils]: 13: Hoare triple {32913#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32914#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:52,230 INFO L273 TraceCheckUtils]: 14: Hoare triple {32914#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32914#(<= main_~i~1 4)} is VALID [2018-11-23 12:18:52,231 INFO L273 TraceCheckUtils]: 15: Hoare triple {32914#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32915#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:52,231 INFO L273 TraceCheckUtils]: 16: Hoare triple {32915#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32915#(<= main_~i~1 5)} is VALID [2018-11-23 12:18:52,232 INFO L273 TraceCheckUtils]: 17: Hoare triple {32915#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32916#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:52,232 INFO L273 TraceCheckUtils]: 18: Hoare triple {32916#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32916#(<= main_~i~1 6)} is VALID [2018-11-23 12:18:52,233 INFO L273 TraceCheckUtils]: 19: Hoare triple {32916#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32917#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:52,233 INFO L273 TraceCheckUtils]: 20: Hoare triple {32917#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32917#(<= main_~i~1 7)} is VALID [2018-11-23 12:18:52,234 INFO L273 TraceCheckUtils]: 21: Hoare triple {32917#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32918#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:52,234 INFO L273 TraceCheckUtils]: 22: Hoare triple {32918#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32918#(<= main_~i~1 8)} is VALID [2018-11-23 12:18:52,235 INFO L273 TraceCheckUtils]: 23: Hoare triple {32918#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32919#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:52,236 INFO L273 TraceCheckUtils]: 24: Hoare triple {32919#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32919#(<= main_~i~1 9)} is VALID [2018-11-23 12:18:52,236 INFO L273 TraceCheckUtils]: 25: Hoare triple {32919#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32920#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:52,237 INFO L273 TraceCheckUtils]: 26: Hoare triple {32920#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32920#(<= main_~i~1 10)} is VALID [2018-11-23 12:18:52,237 INFO L273 TraceCheckUtils]: 27: Hoare triple {32920#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32921#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:52,238 INFO L273 TraceCheckUtils]: 28: Hoare triple {32921#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32921#(<= main_~i~1 11)} is VALID [2018-11-23 12:18:52,239 INFO L273 TraceCheckUtils]: 29: Hoare triple {32921#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32922#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:52,239 INFO L273 TraceCheckUtils]: 30: Hoare triple {32922#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32922#(<= main_~i~1 12)} is VALID [2018-11-23 12:18:52,240 INFO L273 TraceCheckUtils]: 31: Hoare triple {32922#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32923#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:52,240 INFO L273 TraceCheckUtils]: 32: Hoare triple {32923#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32923#(<= main_~i~1 13)} is VALID [2018-11-23 12:18:52,241 INFO L273 TraceCheckUtils]: 33: Hoare triple {32923#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32924#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:52,241 INFO L273 TraceCheckUtils]: 34: Hoare triple {32924#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32924#(<= main_~i~1 14)} is VALID [2018-11-23 12:18:52,242 INFO L273 TraceCheckUtils]: 35: Hoare triple {32924#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32925#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:52,242 INFO L273 TraceCheckUtils]: 36: Hoare triple {32925#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32925#(<= main_~i~1 15)} is VALID [2018-11-23 12:18:52,243 INFO L273 TraceCheckUtils]: 37: Hoare triple {32925#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32926#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:52,244 INFO L273 TraceCheckUtils]: 38: Hoare triple {32926#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32926#(<= main_~i~1 16)} is VALID [2018-11-23 12:18:52,244 INFO L273 TraceCheckUtils]: 39: Hoare triple {32926#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32927#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:52,245 INFO L273 TraceCheckUtils]: 40: Hoare triple {32927#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32927#(<= main_~i~1 17)} is VALID [2018-11-23 12:18:52,245 INFO L273 TraceCheckUtils]: 41: Hoare triple {32927#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32928#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:52,246 INFO L273 TraceCheckUtils]: 42: Hoare triple {32928#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32928#(<= main_~i~1 18)} is VALID [2018-11-23 12:18:52,247 INFO L273 TraceCheckUtils]: 43: Hoare triple {32928#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32929#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:52,247 INFO L273 TraceCheckUtils]: 44: Hoare triple {32929#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32929#(<= main_~i~1 19)} is VALID [2018-11-23 12:18:52,248 INFO L273 TraceCheckUtils]: 45: Hoare triple {32929#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32930#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:52,248 INFO L273 TraceCheckUtils]: 46: Hoare triple {32930#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32930#(<= main_~i~1 20)} is VALID [2018-11-23 12:18:52,249 INFO L273 TraceCheckUtils]: 47: Hoare triple {32930#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32931#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:52,249 INFO L273 TraceCheckUtils]: 48: Hoare triple {32931#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32931#(<= main_~i~1 21)} is VALID [2018-11-23 12:18:52,250 INFO L273 TraceCheckUtils]: 49: Hoare triple {32931#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32932#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:52,251 INFO L273 TraceCheckUtils]: 50: Hoare triple {32932#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32932#(<= main_~i~1 22)} is VALID [2018-11-23 12:18:52,251 INFO L273 TraceCheckUtils]: 51: Hoare triple {32932#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32933#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:52,252 INFO L273 TraceCheckUtils]: 52: Hoare triple {32933#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32933#(<= main_~i~1 23)} is VALID [2018-11-23 12:18:52,252 INFO L273 TraceCheckUtils]: 53: Hoare triple {32933#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32934#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:52,253 INFO L273 TraceCheckUtils]: 54: Hoare triple {32934#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32934#(<= main_~i~1 24)} is VALID [2018-11-23 12:18:52,254 INFO L273 TraceCheckUtils]: 55: Hoare triple {32934#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32935#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:52,254 INFO L273 TraceCheckUtils]: 56: Hoare triple {32935#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32935#(<= main_~i~1 25)} is VALID [2018-11-23 12:18:52,255 INFO L273 TraceCheckUtils]: 57: Hoare triple {32935#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32936#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:52,255 INFO L273 TraceCheckUtils]: 58: Hoare triple {32936#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32936#(<= main_~i~1 26)} is VALID [2018-11-23 12:18:52,256 INFO L273 TraceCheckUtils]: 59: Hoare triple {32936#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32937#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:52,256 INFO L273 TraceCheckUtils]: 60: Hoare triple {32937#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32937#(<= main_~i~1 27)} is VALID [2018-11-23 12:18:52,257 INFO L273 TraceCheckUtils]: 61: Hoare triple {32937#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32938#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:52,257 INFO L273 TraceCheckUtils]: 62: Hoare triple {32938#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32938#(<= main_~i~1 28)} is VALID [2018-11-23 12:18:52,258 INFO L273 TraceCheckUtils]: 63: Hoare triple {32938#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32939#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:52,259 INFO L273 TraceCheckUtils]: 64: Hoare triple {32939#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32939#(<= main_~i~1 29)} is VALID [2018-11-23 12:18:52,259 INFO L273 TraceCheckUtils]: 65: Hoare triple {32939#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32940#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:52,260 INFO L273 TraceCheckUtils]: 66: Hoare triple {32940#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32940#(<= main_~i~1 30)} is VALID [2018-11-23 12:18:52,260 INFO L273 TraceCheckUtils]: 67: Hoare triple {32940#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32941#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:52,261 INFO L273 TraceCheckUtils]: 68: Hoare triple {32941#(<= main_~i~1 31)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32941#(<= main_~i~1 31)} is VALID [2018-11-23 12:18:52,262 INFO L273 TraceCheckUtils]: 69: Hoare triple {32941#(<= main_~i~1 31)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32942#(<= main_~i~1 32)} is VALID [2018-11-23 12:18:52,262 INFO L273 TraceCheckUtils]: 70: Hoare triple {32942#(<= main_~i~1 32)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32942#(<= main_~i~1 32)} is VALID [2018-11-23 12:18:52,263 INFO L273 TraceCheckUtils]: 71: Hoare triple {32942#(<= main_~i~1 32)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32943#(<= main_~i~1 33)} is VALID [2018-11-23 12:18:52,263 INFO L273 TraceCheckUtils]: 72: Hoare triple {32943#(<= main_~i~1 33)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32943#(<= main_~i~1 33)} is VALID [2018-11-23 12:18:52,264 INFO L273 TraceCheckUtils]: 73: Hoare triple {32943#(<= main_~i~1 33)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32944#(<= main_~i~1 34)} is VALID [2018-11-23 12:18:52,264 INFO L273 TraceCheckUtils]: 74: Hoare triple {32944#(<= main_~i~1 34)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32944#(<= main_~i~1 34)} is VALID [2018-11-23 12:18:52,265 INFO L273 TraceCheckUtils]: 75: Hoare triple {32944#(<= main_~i~1 34)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32945#(<= main_~i~1 35)} is VALID [2018-11-23 12:18:52,265 INFO L273 TraceCheckUtils]: 76: Hoare triple {32945#(<= main_~i~1 35)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32945#(<= main_~i~1 35)} is VALID [2018-11-23 12:18:52,266 INFO L273 TraceCheckUtils]: 77: Hoare triple {32945#(<= main_~i~1 35)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32946#(<= main_~i~1 36)} is VALID [2018-11-23 12:18:52,267 INFO L273 TraceCheckUtils]: 78: Hoare triple {32946#(<= main_~i~1 36)} assume !(~i~1 < 40); {32909#false} is VALID [2018-11-23 12:18:52,267 INFO L256 TraceCheckUtils]: 79: Hoare triple {32909#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {32908#true} is VALID [2018-11-23 12:18:52,267 INFO L273 TraceCheckUtils]: 80: Hoare triple {32908#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {32908#true} is VALID [2018-11-23 12:18:52,267 INFO L273 TraceCheckUtils]: 81: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,267 INFO L273 TraceCheckUtils]: 82: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,268 INFO L273 TraceCheckUtils]: 83: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,268 INFO L273 TraceCheckUtils]: 84: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,268 INFO L273 TraceCheckUtils]: 85: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,268 INFO L273 TraceCheckUtils]: 86: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,268 INFO L273 TraceCheckUtils]: 87: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,268 INFO L273 TraceCheckUtils]: 88: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,269 INFO L273 TraceCheckUtils]: 89: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,269 INFO L273 TraceCheckUtils]: 90: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,269 INFO L273 TraceCheckUtils]: 91: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,269 INFO L273 TraceCheckUtils]: 92: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,269 INFO L273 TraceCheckUtils]: 93: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,269 INFO L273 TraceCheckUtils]: 94: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,270 INFO L273 TraceCheckUtils]: 95: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,270 INFO L273 TraceCheckUtils]: 96: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,270 INFO L273 TraceCheckUtils]: 97: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,270 INFO L273 TraceCheckUtils]: 98: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,270 INFO L273 TraceCheckUtils]: 99: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,270 INFO L273 TraceCheckUtils]: 100: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,271 INFO L273 TraceCheckUtils]: 101: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,271 INFO L273 TraceCheckUtils]: 102: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,271 INFO L273 TraceCheckUtils]: 103: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,271 INFO L273 TraceCheckUtils]: 104: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,271 INFO L273 TraceCheckUtils]: 105: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,271 INFO L273 TraceCheckUtils]: 106: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,272 INFO L273 TraceCheckUtils]: 107: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,272 INFO L273 TraceCheckUtils]: 108: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,272 INFO L273 TraceCheckUtils]: 109: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,272 INFO L273 TraceCheckUtils]: 110: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,272 INFO L273 TraceCheckUtils]: 111: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,272 INFO L273 TraceCheckUtils]: 112: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,272 INFO L273 TraceCheckUtils]: 113: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,272 INFO L273 TraceCheckUtils]: 114: Hoare triple {32908#true} assume !(~i~0 < 40); {32908#true} is VALID [2018-11-23 12:18:52,273 INFO L273 TraceCheckUtils]: 115: Hoare triple {32908#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {32908#true} is VALID [2018-11-23 12:18:52,273 INFO L273 TraceCheckUtils]: 116: Hoare triple {32908#true} assume true; {32908#true} is VALID [2018-11-23 12:18:52,273 INFO L268 TraceCheckUtils]: 117: Hoare quadruple {32908#true} {32909#false} #75#return; {32909#false} is VALID [2018-11-23 12:18:52,273 INFO L273 TraceCheckUtils]: 118: Hoare triple {32909#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); {32909#false} is VALID [2018-11-23 12:18:52,273 INFO L256 TraceCheckUtils]: 119: Hoare triple {32909#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {32908#true} is VALID [2018-11-23 12:18:52,273 INFO L273 TraceCheckUtils]: 120: Hoare triple {32908#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {32908#true} is VALID [2018-11-23 12:18:52,273 INFO L273 TraceCheckUtils]: 121: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,273 INFO L273 TraceCheckUtils]: 122: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,273 INFO L273 TraceCheckUtils]: 123: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,273 INFO L273 TraceCheckUtils]: 124: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,274 INFO L273 TraceCheckUtils]: 125: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,274 INFO L273 TraceCheckUtils]: 126: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,274 INFO L273 TraceCheckUtils]: 127: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,274 INFO L273 TraceCheckUtils]: 128: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,274 INFO L273 TraceCheckUtils]: 129: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,274 INFO L273 TraceCheckUtils]: 130: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,274 INFO L273 TraceCheckUtils]: 131: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,274 INFO L273 TraceCheckUtils]: 132: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,274 INFO L273 TraceCheckUtils]: 133: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,274 INFO L273 TraceCheckUtils]: 134: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,275 INFO L273 TraceCheckUtils]: 135: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,275 INFO L273 TraceCheckUtils]: 136: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,275 INFO L273 TraceCheckUtils]: 137: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,275 INFO L273 TraceCheckUtils]: 138: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,275 INFO L273 TraceCheckUtils]: 139: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,275 INFO L273 TraceCheckUtils]: 140: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,275 INFO L273 TraceCheckUtils]: 141: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,275 INFO L273 TraceCheckUtils]: 142: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,275 INFO L273 TraceCheckUtils]: 143: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,275 INFO L273 TraceCheckUtils]: 144: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,276 INFO L273 TraceCheckUtils]: 145: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,276 INFO L273 TraceCheckUtils]: 146: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,276 INFO L273 TraceCheckUtils]: 147: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,276 INFO L273 TraceCheckUtils]: 148: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,276 INFO L273 TraceCheckUtils]: 149: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,276 INFO L273 TraceCheckUtils]: 150: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,276 INFO L273 TraceCheckUtils]: 151: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,276 INFO L273 TraceCheckUtils]: 152: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,276 INFO L273 TraceCheckUtils]: 153: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,276 INFO L273 TraceCheckUtils]: 154: Hoare triple {32908#true} assume !(~i~0 < 40); {32908#true} is VALID [2018-11-23 12:18:52,277 INFO L273 TraceCheckUtils]: 155: Hoare triple {32908#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {32908#true} is VALID [2018-11-23 12:18:52,277 INFO L273 TraceCheckUtils]: 156: Hoare triple {32908#true} assume true; {32908#true} is VALID [2018-11-23 12:18:52,277 INFO L268 TraceCheckUtils]: 157: Hoare quadruple {32908#true} {32909#false} #77#return; {32909#false} is VALID [2018-11-23 12:18:52,277 INFO L273 TraceCheckUtils]: 158: Hoare triple {32909#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; {32909#false} is VALID [2018-11-23 12:18:52,277 INFO L273 TraceCheckUtils]: 159: Hoare triple {32909#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32909#false} is VALID [2018-11-23 12:18:52,277 INFO L273 TraceCheckUtils]: 160: Hoare triple {32909#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32909#false} is VALID [2018-11-23 12:18:52,277 INFO L273 TraceCheckUtils]: 161: Hoare triple {32909#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32909#false} is VALID [2018-11-23 12:18:52,277 INFO L273 TraceCheckUtils]: 162: Hoare triple {32909#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32909#false} is VALID [2018-11-23 12:18:52,277 INFO L273 TraceCheckUtils]: 163: Hoare triple {32909#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32909#false} is VALID [2018-11-23 12:18:52,277 INFO L273 TraceCheckUtils]: 164: Hoare triple {32909#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32909#false} is VALID [2018-11-23 12:18:52,278 INFO L273 TraceCheckUtils]: 165: Hoare triple {32909#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32909#false} is VALID [2018-11-23 12:18:52,278 INFO L273 TraceCheckUtils]: 166: Hoare triple {32909#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32909#false} is VALID [2018-11-23 12:18:52,278 INFO L273 TraceCheckUtils]: 167: Hoare triple {32909#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32909#false} is VALID [2018-11-23 12:18:52,278 INFO L273 TraceCheckUtils]: 168: Hoare triple {32909#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32909#false} is VALID [2018-11-23 12:18:52,278 INFO L273 TraceCheckUtils]: 169: Hoare triple {32909#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32909#false} is VALID [2018-11-23 12:18:52,278 INFO L273 TraceCheckUtils]: 170: Hoare triple {32909#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32909#false} is VALID [2018-11-23 12:18:52,278 INFO L273 TraceCheckUtils]: 171: Hoare triple {32909#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32909#false} is VALID [2018-11-23 12:18:52,278 INFO L273 TraceCheckUtils]: 172: Hoare triple {32909#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32909#false} is VALID [2018-11-23 12:18:52,278 INFO L273 TraceCheckUtils]: 173: Hoare triple {32909#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32909#false} is VALID [2018-11-23 12:18:52,278 INFO L273 TraceCheckUtils]: 174: Hoare triple {32909#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32909#false} is VALID [2018-11-23 12:18:52,279 INFO L273 TraceCheckUtils]: 175: Hoare triple {32909#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {32909#false} is VALID [2018-11-23 12:18:52,279 INFO L273 TraceCheckUtils]: 176: Hoare triple {32909#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {32909#false} is VALID [2018-11-23 12:18:52,279 INFO L273 TraceCheckUtils]: 177: Hoare triple {32909#false} assume !(~i~2 < 39); {32909#false} is VALID [2018-11-23 12:18:52,279 INFO L273 TraceCheckUtils]: 178: Hoare triple {32909#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {32909#false} is VALID [2018-11-23 12:18:52,279 INFO L256 TraceCheckUtils]: 179: Hoare triple {32909#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {32908#true} is VALID [2018-11-23 12:18:52,279 INFO L273 TraceCheckUtils]: 180: Hoare triple {32908#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {32908#true} is VALID [2018-11-23 12:18:52,279 INFO L273 TraceCheckUtils]: 181: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,279 INFO L273 TraceCheckUtils]: 182: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,279 INFO L273 TraceCheckUtils]: 183: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,279 INFO L273 TraceCheckUtils]: 184: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,280 INFO L273 TraceCheckUtils]: 185: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,280 INFO L273 TraceCheckUtils]: 186: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,280 INFO L273 TraceCheckUtils]: 187: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,280 INFO L273 TraceCheckUtils]: 188: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,280 INFO L273 TraceCheckUtils]: 189: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,280 INFO L273 TraceCheckUtils]: 190: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,280 INFO L273 TraceCheckUtils]: 191: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,280 INFO L273 TraceCheckUtils]: 192: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,280 INFO L273 TraceCheckUtils]: 193: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,280 INFO L273 TraceCheckUtils]: 194: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,281 INFO L273 TraceCheckUtils]: 195: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,281 INFO L273 TraceCheckUtils]: 196: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,281 INFO L273 TraceCheckUtils]: 197: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,281 INFO L273 TraceCheckUtils]: 198: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,281 INFO L273 TraceCheckUtils]: 199: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,281 INFO L273 TraceCheckUtils]: 200: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,281 INFO L273 TraceCheckUtils]: 201: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,281 INFO L273 TraceCheckUtils]: 202: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,281 INFO L273 TraceCheckUtils]: 203: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,281 INFO L273 TraceCheckUtils]: 204: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,282 INFO L273 TraceCheckUtils]: 205: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,282 INFO L273 TraceCheckUtils]: 206: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,282 INFO L273 TraceCheckUtils]: 207: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,282 INFO L273 TraceCheckUtils]: 208: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,282 INFO L273 TraceCheckUtils]: 209: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,282 INFO L273 TraceCheckUtils]: 210: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,282 INFO L273 TraceCheckUtils]: 211: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:52,282 INFO L273 TraceCheckUtils]: 212: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:52,282 INFO L273 TraceCheckUtils]: 213: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:52,282 INFO L273 TraceCheckUtils]: 214: Hoare triple {32908#true} assume !(~i~0 < 40); {32908#true} is VALID [2018-11-23 12:18:52,283 INFO L273 TraceCheckUtils]: 215: Hoare triple {32908#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {32908#true} is VALID [2018-11-23 12:18:52,283 INFO L273 TraceCheckUtils]: 216: Hoare triple {32908#true} assume true; {32908#true} is VALID [2018-11-23 12:18:52,283 INFO L268 TraceCheckUtils]: 217: Hoare quadruple {32908#true} {32909#false} #79#return; {32909#false} is VALID [2018-11-23 12:18:52,283 INFO L273 TraceCheckUtils]: 218: Hoare triple {32909#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {32909#false} is VALID [2018-11-23 12:18:52,283 INFO L273 TraceCheckUtils]: 219: Hoare triple {32909#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {32909#false} is VALID [2018-11-23 12:18:52,283 INFO L273 TraceCheckUtils]: 220: Hoare triple {32909#false} assume !false; {32909#false} is VALID [2018-11-23 12:18:52,303 INFO L134 CoverageAnalysis]: Checked inductivity of 3075 backedges. 0 proven. 1296 refuted. 0 times theorem prover too weak. 1779 trivial. 0 not checked. [2018-11-23 12:18:52,304 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:18:52,304 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:52,313 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:18:56,647 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 21 check-sat command(s) [2018-11-23 12:18:56,648 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:18:56,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:18:56,695 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:18:57,459 INFO L256 TraceCheckUtils]: 0: Hoare triple {32908#true} call ULTIMATE.init(); {32908#true} is VALID [2018-11-23 12:18:57,459 INFO L273 TraceCheckUtils]: 1: Hoare triple {32908#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {32908#true} is VALID [2018-11-23 12:18:57,460 INFO L273 TraceCheckUtils]: 2: Hoare triple {32908#true} assume true; {32908#true} is VALID [2018-11-23 12:18:57,460 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {32908#true} {32908#true} #71#return; {32908#true} is VALID [2018-11-23 12:18:57,460 INFO L256 TraceCheckUtils]: 4: Hoare triple {32908#true} call #t~ret14 := main(); {32908#true} is VALID [2018-11-23 12:18:57,460 INFO L273 TraceCheckUtils]: 5: Hoare triple {32908#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {32908#true} is VALID [2018-11-23 12:18:57,460 INFO L273 TraceCheckUtils]: 6: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,461 INFO L273 TraceCheckUtils]: 7: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,461 INFO L273 TraceCheckUtils]: 8: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,461 INFO L273 TraceCheckUtils]: 9: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,461 INFO L273 TraceCheckUtils]: 10: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,461 INFO L273 TraceCheckUtils]: 11: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,461 INFO L273 TraceCheckUtils]: 12: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,462 INFO L273 TraceCheckUtils]: 13: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,462 INFO L273 TraceCheckUtils]: 14: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,462 INFO L273 TraceCheckUtils]: 15: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,462 INFO L273 TraceCheckUtils]: 16: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,462 INFO L273 TraceCheckUtils]: 17: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,463 INFO L273 TraceCheckUtils]: 18: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,463 INFO L273 TraceCheckUtils]: 19: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,463 INFO L273 TraceCheckUtils]: 20: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,463 INFO L273 TraceCheckUtils]: 21: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,463 INFO L273 TraceCheckUtils]: 22: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,463 INFO L273 TraceCheckUtils]: 23: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,463 INFO L273 TraceCheckUtils]: 24: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,463 INFO L273 TraceCheckUtils]: 25: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,463 INFO L273 TraceCheckUtils]: 26: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,464 INFO L273 TraceCheckUtils]: 27: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,464 INFO L273 TraceCheckUtils]: 28: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,464 INFO L273 TraceCheckUtils]: 29: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,464 INFO L273 TraceCheckUtils]: 30: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,464 INFO L273 TraceCheckUtils]: 31: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,464 INFO L273 TraceCheckUtils]: 32: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,464 INFO L273 TraceCheckUtils]: 33: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,464 INFO L273 TraceCheckUtils]: 34: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,464 INFO L273 TraceCheckUtils]: 35: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,464 INFO L273 TraceCheckUtils]: 36: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,465 INFO L273 TraceCheckUtils]: 37: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,465 INFO L273 TraceCheckUtils]: 38: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,465 INFO L273 TraceCheckUtils]: 39: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,465 INFO L273 TraceCheckUtils]: 40: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,465 INFO L273 TraceCheckUtils]: 41: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,465 INFO L273 TraceCheckUtils]: 42: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,465 INFO L273 TraceCheckUtils]: 43: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,465 INFO L273 TraceCheckUtils]: 44: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,465 INFO L273 TraceCheckUtils]: 45: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,465 INFO L273 TraceCheckUtils]: 46: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,466 INFO L273 TraceCheckUtils]: 47: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,466 INFO L273 TraceCheckUtils]: 48: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,466 INFO L273 TraceCheckUtils]: 49: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,466 INFO L273 TraceCheckUtils]: 50: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,466 INFO L273 TraceCheckUtils]: 51: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,466 INFO L273 TraceCheckUtils]: 52: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,466 INFO L273 TraceCheckUtils]: 53: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,466 INFO L273 TraceCheckUtils]: 54: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,466 INFO L273 TraceCheckUtils]: 55: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,466 INFO L273 TraceCheckUtils]: 56: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,467 INFO L273 TraceCheckUtils]: 57: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,467 INFO L273 TraceCheckUtils]: 58: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,467 INFO L273 TraceCheckUtils]: 59: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,467 INFO L273 TraceCheckUtils]: 60: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,467 INFO L273 TraceCheckUtils]: 61: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,467 INFO L273 TraceCheckUtils]: 62: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,467 INFO L273 TraceCheckUtils]: 63: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,467 INFO L273 TraceCheckUtils]: 64: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,467 INFO L273 TraceCheckUtils]: 65: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,467 INFO L273 TraceCheckUtils]: 66: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,468 INFO L273 TraceCheckUtils]: 67: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,468 INFO L273 TraceCheckUtils]: 68: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,468 INFO L273 TraceCheckUtils]: 69: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,468 INFO L273 TraceCheckUtils]: 70: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,468 INFO L273 TraceCheckUtils]: 71: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,468 INFO L273 TraceCheckUtils]: 72: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,468 INFO L273 TraceCheckUtils]: 73: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,468 INFO L273 TraceCheckUtils]: 74: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,468 INFO L273 TraceCheckUtils]: 75: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,468 INFO L273 TraceCheckUtils]: 76: Hoare triple {32908#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {32908#true} is VALID [2018-11-23 12:18:57,469 INFO L273 TraceCheckUtils]: 77: Hoare triple {32908#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {32908#true} is VALID [2018-11-23 12:18:57,469 INFO L273 TraceCheckUtils]: 78: Hoare triple {32908#true} assume !(~i~1 < 40); {32908#true} is VALID [2018-11-23 12:18:57,469 INFO L256 TraceCheckUtils]: 79: Hoare triple {32908#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {32908#true} is VALID [2018-11-23 12:18:57,469 INFO L273 TraceCheckUtils]: 80: Hoare triple {32908#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {32908#true} is VALID [2018-11-23 12:18:57,469 INFO L273 TraceCheckUtils]: 81: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,469 INFO L273 TraceCheckUtils]: 82: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,469 INFO L273 TraceCheckUtils]: 83: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,469 INFO L273 TraceCheckUtils]: 84: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,469 INFO L273 TraceCheckUtils]: 85: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,469 INFO L273 TraceCheckUtils]: 86: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,470 INFO L273 TraceCheckUtils]: 87: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,470 INFO L273 TraceCheckUtils]: 88: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,470 INFO L273 TraceCheckUtils]: 89: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,470 INFO L273 TraceCheckUtils]: 90: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,470 INFO L273 TraceCheckUtils]: 91: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,470 INFO L273 TraceCheckUtils]: 92: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,470 INFO L273 TraceCheckUtils]: 93: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,470 INFO L273 TraceCheckUtils]: 94: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,470 INFO L273 TraceCheckUtils]: 95: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,470 INFO L273 TraceCheckUtils]: 96: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,471 INFO L273 TraceCheckUtils]: 97: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,471 INFO L273 TraceCheckUtils]: 98: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,471 INFO L273 TraceCheckUtils]: 99: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,471 INFO L273 TraceCheckUtils]: 100: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,471 INFO L273 TraceCheckUtils]: 101: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,471 INFO L273 TraceCheckUtils]: 102: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,471 INFO L273 TraceCheckUtils]: 103: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,471 INFO L273 TraceCheckUtils]: 104: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,471 INFO L273 TraceCheckUtils]: 105: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,471 INFO L273 TraceCheckUtils]: 106: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,472 INFO L273 TraceCheckUtils]: 107: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,472 INFO L273 TraceCheckUtils]: 108: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,472 INFO L273 TraceCheckUtils]: 109: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,472 INFO L273 TraceCheckUtils]: 110: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,472 INFO L273 TraceCheckUtils]: 111: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,472 INFO L273 TraceCheckUtils]: 112: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,472 INFO L273 TraceCheckUtils]: 113: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,472 INFO L273 TraceCheckUtils]: 114: Hoare triple {32908#true} assume !(~i~0 < 40); {32908#true} is VALID [2018-11-23 12:18:57,472 INFO L273 TraceCheckUtils]: 115: Hoare triple {32908#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {32908#true} is VALID [2018-11-23 12:18:57,472 INFO L273 TraceCheckUtils]: 116: Hoare triple {32908#true} assume true; {32908#true} is VALID [2018-11-23 12:18:57,473 INFO L268 TraceCheckUtils]: 117: Hoare quadruple {32908#true} {32908#true} #75#return; {32908#true} is VALID [2018-11-23 12:18:57,473 INFO L273 TraceCheckUtils]: 118: Hoare triple {32908#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); {32908#true} is VALID [2018-11-23 12:18:57,473 INFO L256 TraceCheckUtils]: 119: Hoare triple {32908#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {32908#true} is VALID [2018-11-23 12:18:57,473 INFO L273 TraceCheckUtils]: 120: Hoare triple {32908#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {32908#true} is VALID [2018-11-23 12:18:57,473 INFO L273 TraceCheckUtils]: 121: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,473 INFO L273 TraceCheckUtils]: 122: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,473 INFO L273 TraceCheckUtils]: 123: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,473 INFO L273 TraceCheckUtils]: 124: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,473 INFO L273 TraceCheckUtils]: 125: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,473 INFO L273 TraceCheckUtils]: 126: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,474 INFO L273 TraceCheckUtils]: 127: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,474 INFO L273 TraceCheckUtils]: 128: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,474 INFO L273 TraceCheckUtils]: 129: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,474 INFO L273 TraceCheckUtils]: 130: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,474 INFO L273 TraceCheckUtils]: 131: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,474 INFO L273 TraceCheckUtils]: 132: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,474 INFO L273 TraceCheckUtils]: 133: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,474 INFO L273 TraceCheckUtils]: 134: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,474 INFO L273 TraceCheckUtils]: 135: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,474 INFO L273 TraceCheckUtils]: 136: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,475 INFO L273 TraceCheckUtils]: 137: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,475 INFO L273 TraceCheckUtils]: 138: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,475 INFO L273 TraceCheckUtils]: 139: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,475 INFO L273 TraceCheckUtils]: 140: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,475 INFO L273 TraceCheckUtils]: 141: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,475 INFO L273 TraceCheckUtils]: 142: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,475 INFO L273 TraceCheckUtils]: 143: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,475 INFO L273 TraceCheckUtils]: 144: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,475 INFO L273 TraceCheckUtils]: 145: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,475 INFO L273 TraceCheckUtils]: 146: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,476 INFO L273 TraceCheckUtils]: 147: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,476 INFO L273 TraceCheckUtils]: 148: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,476 INFO L273 TraceCheckUtils]: 149: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,476 INFO L273 TraceCheckUtils]: 150: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,476 INFO L273 TraceCheckUtils]: 151: Hoare triple {32908#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32908#true} is VALID [2018-11-23 12:18:57,476 INFO L273 TraceCheckUtils]: 152: Hoare triple {32908#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32908#true} is VALID [2018-11-23 12:18:57,476 INFO L273 TraceCheckUtils]: 153: Hoare triple {32908#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32908#true} is VALID [2018-11-23 12:18:57,476 INFO L273 TraceCheckUtils]: 154: Hoare triple {32908#true} assume !(~i~0 < 40); {32908#true} is VALID [2018-11-23 12:18:57,476 INFO L273 TraceCheckUtils]: 155: Hoare triple {32908#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {32908#true} is VALID [2018-11-23 12:18:57,476 INFO L273 TraceCheckUtils]: 156: Hoare triple {32908#true} assume true; {32908#true} is VALID [2018-11-23 12:18:57,477 INFO L268 TraceCheckUtils]: 157: Hoare quadruple {32908#true} {32908#true} #77#return; {32908#true} is VALID [2018-11-23 12:18:57,477 INFO L273 TraceCheckUtils]: 158: Hoare triple {32908#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; {33424#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:57,477 INFO L273 TraceCheckUtils]: 159: Hoare triple {33424#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {33424#(<= main_~i~2 0)} is VALID [2018-11-23 12:18:57,478 INFO L273 TraceCheckUtils]: 160: Hoare triple {33424#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {33431#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:57,478 INFO L273 TraceCheckUtils]: 161: Hoare triple {33431#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {33431#(<= main_~i~2 1)} is VALID [2018-11-23 12:18:57,479 INFO L273 TraceCheckUtils]: 162: Hoare triple {33431#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {33438#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:57,479 INFO L273 TraceCheckUtils]: 163: Hoare triple {33438#(<= main_~i~2 2)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {33438#(<= main_~i~2 2)} is VALID [2018-11-23 12:18:57,479 INFO L273 TraceCheckUtils]: 164: Hoare triple {33438#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {33445#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:57,480 INFO L273 TraceCheckUtils]: 165: Hoare triple {33445#(<= main_~i~2 3)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {33445#(<= main_~i~2 3)} is VALID [2018-11-23 12:18:57,480 INFO L273 TraceCheckUtils]: 166: Hoare triple {33445#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {33452#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:57,481 INFO L273 TraceCheckUtils]: 167: Hoare triple {33452#(<= main_~i~2 4)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {33452#(<= main_~i~2 4)} is VALID [2018-11-23 12:18:57,481 INFO L273 TraceCheckUtils]: 168: Hoare triple {33452#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {33459#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:57,482 INFO L273 TraceCheckUtils]: 169: Hoare triple {33459#(<= main_~i~2 5)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {33459#(<= main_~i~2 5)} is VALID [2018-11-23 12:18:57,483 INFO L273 TraceCheckUtils]: 170: Hoare triple {33459#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {33466#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:57,483 INFO L273 TraceCheckUtils]: 171: Hoare triple {33466#(<= main_~i~2 6)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {33466#(<= main_~i~2 6)} is VALID [2018-11-23 12:18:57,484 INFO L273 TraceCheckUtils]: 172: Hoare triple {33466#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {33473#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:57,484 INFO L273 TraceCheckUtils]: 173: Hoare triple {33473#(<= main_~i~2 7)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {33473#(<= main_~i~2 7)} is VALID [2018-11-23 12:18:57,485 INFO L273 TraceCheckUtils]: 174: Hoare triple {33473#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {33480#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:57,486 INFO L273 TraceCheckUtils]: 175: Hoare triple {33480#(<= main_~i~2 8)} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {33480#(<= main_~i~2 8)} is VALID [2018-11-23 12:18:57,486 INFO L273 TraceCheckUtils]: 176: Hoare triple {33480#(<= main_~i~2 8)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {33487#(<= main_~i~2 9)} is VALID [2018-11-23 12:18:57,487 INFO L273 TraceCheckUtils]: 177: Hoare triple {33487#(<= main_~i~2 9)} assume !(~i~2 < 39); {32909#false} is VALID [2018-11-23 12:18:57,487 INFO L273 TraceCheckUtils]: 178: Hoare triple {32909#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {32909#false} is VALID [2018-11-23 12:18:57,487 INFO L256 TraceCheckUtils]: 179: Hoare triple {32909#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {32909#false} is VALID [2018-11-23 12:18:57,487 INFO L273 TraceCheckUtils]: 180: Hoare triple {32909#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {32909#false} is VALID [2018-11-23 12:18:57,488 INFO L273 TraceCheckUtils]: 181: Hoare triple {32909#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32909#false} is VALID [2018-11-23 12:18:57,488 INFO L273 TraceCheckUtils]: 182: Hoare triple {32909#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32909#false} is VALID [2018-11-23 12:18:57,488 INFO L273 TraceCheckUtils]: 183: Hoare triple {32909#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32909#false} is VALID [2018-11-23 12:18:57,488 INFO L273 TraceCheckUtils]: 184: Hoare triple {32909#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32909#false} is VALID [2018-11-23 12:18:57,488 INFO L273 TraceCheckUtils]: 185: Hoare triple {32909#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32909#false} is VALID [2018-11-23 12:18:57,488 INFO L273 TraceCheckUtils]: 186: Hoare triple {32909#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32909#false} is VALID [2018-11-23 12:18:57,489 INFO L273 TraceCheckUtils]: 187: Hoare triple {32909#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32909#false} is VALID [2018-11-23 12:18:57,489 INFO L273 TraceCheckUtils]: 188: Hoare triple {32909#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32909#false} is VALID [2018-11-23 12:18:57,489 INFO L273 TraceCheckUtils]: 189: Hoare triple {32909#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32909#false} is VALID [2018-11-23 12:18:57,489 INFO L273 TraceCheckUtils]: 190: Hoare triple {32909#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32909#false} is VALID [2018-11-23 12:18:57,489 INFO L273 TraceCheckUtils]: 191: Hoare triple {32909#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32909#false} is VALID [2018-11-23 12:18:57,490 INFO L273 TraceCheckUtils]: 192: Hoare triple {32909#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32909#false} is VALID [2018-11-23 12:18:57,490 INFO L273 TraceCheckUtils]: 193: Hoare triple {32909#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32909#false} is VALID [2018-11-23 12:18:57,490 INFO L273 TraceCheckUtils]: 194: Hoare triple {32909#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32909#false} is VALID [2018-11-23 12:18:57,490 INFO L273 TraceCheckUtils]: 195: Hoare triple {32909#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32909#false} is VALID [2018-11-23 12:18:57,490 INFO L273 TraceCheckUtils]: 196: Hoare triple {32909#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32909#false} is VALID [2018-11-23 12:18:57,490 INFO L273 TraceCheckUtils]: 197: Hoare triple {32909#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32909#false} is VALID [2018-11-23 12:18:57,491 INFO L273 TraceCheckUtils]: 198: Hoare triple {32909#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32909#false} is VALID [2018-11-23 12:18:57,491 INFO L273 TraceCheckUtils]: 199: Hoare triple {32909#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32909#false} is VALID [2018-11-23 12:18:57,491 INFO L273 TraceCheckUtils]: 200: Hoare triple {32909#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32909#false} is VALID [2018-11-23 12:18:57,491 INFO L273 TraceCheckUtils]: 201: Hoare triple {32909#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32909#false} is VALID [2018-11-23 12:18:57,491 INFO L273 TraceCheckUtils]: 202: Hoare triple {32909#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32909#false} is VALID [2018-11-23 12:18:57,491 INFO L273 TraceCheckUtils]: 203: Hoare triple {32909#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32909#false} is VALID [2018-11-23 12:18:57,492 INFO L273 TraceCheckUtils]: 204: Hoare triple {32909#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32909#false} is VALID [2018-11-23 12:18:57,492 INFO L273 TraceCheckUtils]: 205: Hoare triple {32909#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32909#false} is VALID [2018-11-23 12:18:57,492 INFO L273 TraceCheckUtils]: 206: Hoare triple {32909#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32909#false} is VALID [2018-11-23 12:18:57,492 INFO L273 TraceCheckUtils]: 207: Hoare triple {32909#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32909#false} is VALID [2018-11-23 12:18:57,492 INFO L273 TraceCheckUtils]: 208: Hoare triple {32909#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32909#false} is VALID [2018-11-23 12:18:57,492 INFO L273 TraceCheckUtils]: 209: Hoare triple {32909#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32909#false} is VALID [2018-11-23 12:18:57,492 INFO L273 TraceCheckUtils]: 210: Hoare triple {32909#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32909#false} is VALID [2018-11-23 12:18:57,492 INFO L273 TraceCheckUtils]: 211: Hoare triple {32909#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {32909#false} is VALID [2018-11-23 12:18:57,493 INFO L273 TraceCheckUtils]: 212: Hoare triple {32909#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {32909#false} is VALID [2018-11-23 12:18:57,493 INFO L273 TraceCheckUtils]: 213: Hoare triple {32909#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32909#false} is VALID [2018-11-23 12:18:57,493 INFO L273 TraceCheckUtils]: 214: Hoare triple {32909#false} assume !(~i~0 < 40); {32909#false} is VALID [2018-11-23 12:18:57,493 INFO L273 TraceCheckUtils]: 215: Hoare triple {32909#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {32909#false} is VALID [2018-11-23 12:18:57,493 INFO L273 TraceCheckUtils]: 216: Hoare triple {32909#false} assume true; {32909#false} is VALID [2018-11-23 12:18:57,493 INFO L268 TraceCheckUtils]: 217: Hoare quadruple {32909#false} {32909#false} #79#return; {32909#false} is VALID [2018-11-23 12:18:57,493 INFO L273 TraceCheckUtils]: 218: Hoare triple {32909#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {32909#false} is VALID [2018-11-23 12:18:57,493 INFO L273 TraceCheckUtils]: 219: Hoare triple {32909#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {32909#false} is VALID [2018-11-23 12:18:57,493 INFO L273 TraceCheckUtils]: 220: Hoare triple {32909#false} assume !false; {32909#false} is VALID [2018-11-23 12:18:57,510 INFO L134 CoverageAnalysis]: Checked inductivity of 3075 backedges. 780 proven. 81 refuted. 0 times theorem prover too weak. 2214 trivial. 0 not checked. [2018-11-23 12:18:57,531 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:18:57,532 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [39, 12] total 49 [2018-11-23 12:18:57,532 INFO L78 Accepts]: Start accepts. Automaton has 49 states. Word has length 221 [2018-11-23 12:18:57,532 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:18:57,532 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 49 states. [2018-11-23 12:18:57,669 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:57,669 INFO L459 AbstractCegarLoop]: Interpolant automaton has 49 states [2018-11-23 12:18:57,669 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 49 interpolants. [2018-11-23 12:18:57,670 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=806, Invalid=1546, Unknown=0, NotChecked=0, Total=2352 [2018-11-23 12:18:57,671 INFO L87 Difference]: Start difference. First operand 146 states and 161 transitions. Second operand 49 states. [2018-11-23 12:18:59,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:59,098 INFO L93 Difference]: Finished difference Result 219 states and 250 transitions. [2018-11-23 12:18:59,098 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2018-11-23 12:18:59,099 INFO L78 Accepts]: Start accepts. Automaton has 49 states. Word has length 221 [2018-11-23 12:18:59,099 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:18:59,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:18:59,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 151 transitions. [2018-11-23 12:18:59,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:18:59,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 151 transitions. [2018-11-23 12:18:59,101 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 49 states and 151 transitions. [2018-11-23 12:18:59,258 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:18:59,261 INFO L225 Difference]: With dead ends: 219 [2018-11-23 12:18:59,261 INFO L226 Difference]: Without dead ends: 152 [2018-11-23 12:18:59,263 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 259 GetRequests, 212 SyntacticMatches, 0 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 360 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=806, Invalid=1546, Unknown=0, NotChecked=0, Total=2352 [2018-11-23 12:18:59,263 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2018-11-23 12:18:59,415 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 150. [2018-11-23 12:18:59,415 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:18:59,416 INFO L82 GeneralOperation]: Start isEquivalent. First operand 152 states. Second operand 150 states. [2018-11-23 12:18:59,416 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand 150 states. [2018-11-23 12:18:59,416 INFO L87 Difference]: Start difference. First operand 152 states. Second operand 150 states. [2018-11-23 12:18:59,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:59,418 INFO L93 Difference]: Finished difference Result 152 states and 167 transitions. [2018-11-23 12:18:59,418 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 167 transitions. [2018-11-23 12:18:59,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:59,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:59,418 INFO L74 IsIncluded]: Start isIncluded. First operand 150 states. Second operand 152 states. [2018-11-23 12:18:59,418 INFO L87 Difference]: Start difference. First operand 150 states. Second operand 152 states. [2018-11-23 12:18:59,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:18:59,420 INFO L93 Difference]: Finished difference Result 152 states and 167 transitions. [2018-11-23 12:18:59,420 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 167 transitions. [2018-11-23 12:18:59,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:18:59,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:18:59,421 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:18:59,421 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:18:59,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 150 states. [2018-11-23 12:18:59,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 165 transitions. [2018-11-23 12:18:59,423 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 165 transitions. Word has length 221 [2018-11-23 12:18:59,423 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:18:59,423 INFO L480 AbstractCegarLoop]: Abstraction has 150 states and 165 transitions. [2018-11-23 12:18:59,423 INFO L481 AbstractCegarLoop]: Interpolant automaton has 49 states. [2018-11-23 12:18:59,423 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 165 transitions. [2018-11-23 12:18:59,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 226 [2018-11-23 12:18:59,424 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:18:59,424 INFO L402 BasicCegarLoop]: trace histogram [37, 37, 33, 33, 33, 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:59,424 INFO L423 AbstractCegarLoop]: === Iteration 41 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:18:59,425 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:18:59,425 INFO L82 PathProgramCache]: Analyzing trace with hash -1920663703, now seen corresponding path program 37 times [2018-11-23 12:18:59,425 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:18:59,425 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:18:59,425 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:59,426 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:18:59,426 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:18:59,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:00,282 INFO L256 TraceCheckUtils]: 0: Hoare triple {34456#true} call ULTIMATE.init(); {34456#true} is VALID [2018-11-23 12:19:00,283 INFO L273 TraceCheckUtils]: 1: Hoare triple {34456#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {34456#true} is VALID [2018-11-23 12:19:00,283 INFO L273 TraceCheckUtils]: 2: Hoare triple {34456#true} assume true; {34456#true} is VALID [2018-11-23 12:19:00,283 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {34456#true} {34456#true} #71#return; {34456#true} is VALID [2018-11-23 12:19:00,283 INFO L256 TraceCheckUtils]: 4: Hoare triple {34456#true} call #t~ret14 := main(); {34456#true} is VALID [2018-11-23 12:19:00,284 INFO L273 TraceCheckUtils]: 5: Hoare triple {34456#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {34458#(= main_~i~1 0)} is VALID [2018-11-23 12:19:00,284 INFO L273 TraceCheckUtils]: 6: Hoare triple {34458#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34458#(= main_~i~1 0)} is VALID [2018-11-23 12:19:00,285 INFO L273 TraceCheckUtils]: 7: Hoare triple {34458#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34459#(<= main_~i~1 1)} is VALID [2018-11-23 12:19:00,285 INFO L273 TraceCheckUtils]: 8: Hoare triple {34459#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34459#(<= main_~i~1 1)} is VALID [2018-11-23 12:19:00,286 INFO L273 TraceCheckUtils]: 9: Hoare triple {34459#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34460#(<= main_~i~1 2)} is VALID [2018-11-23 12:19:00,286 INFO L273 TraceCheckUtils]: 10: Hoare triple {34460#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34460#(<= main_~i~1 2)} is VALID [2018-11-23 12:19:00,286 INFO L273 TraceCheckUtils]: 11: Hoare triple {34460#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34461#(<= main_~i~1 3)} is VALID [2018-11-23 12:19:00,287 INFO L273 TraceCheckUtils]: 12: Hoare triple {34461#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34461#(<= main_~i~1 3)} is VALID [2018-11-23 12:19:00,287 INFO L273 TraceCheckUtils]: 13: Hoare triple {34461#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34462#(<= main_~i~1 4)} is VALID [2018-11-23 12:19:00,287 INFO L273 TraceCheckUtils]: 14: Hoare triple {34462#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34462#(<= main_~i~1 4)} is VALID [2018-11-23 12:19:00,288 INFO L273 TraceCheckUtils]: 15: Hoare triple {34462#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34463#(<= main_~i~1 5)} is VALID [2018-11-23 12:19:00,288 INFO L273 TraceCheckUtils]: 16: Hoare triple {34463#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34463#(<= main_~i~1 5)} is VALID [2018-11-23 12:19:00,289 INFO L273 TraceCheckUtils]: 17: Hoare triple {34463#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34464#(<= main_~i~1 6)} is VALID [2018-11-23 12:19:00,289 INFO L273 TraceCheckUtils]: 18: Hoare triple {34464#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34464#(<= main_~i~1 6)} is VALID [2018-11-23 12:19:00,290 INFO L273 TraceCheckUtils]: 19: Hoare triple {34464#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34465#(<= main_~i~1 7)} is VALID [2018-11-23 12:19:00,291 INFO L273 TraceCheckUtils]: 20: Hoare triple {34465#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34465#(<= main_~i~1 7)} is VALID [2018-11-23 12:19:00,291 INFO L273 TraceCheckUtils]: 21: Hoare triple {34465#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34466#(<= main_~i~1 8)} is VALID [2018-11-23 12:19:00,292 INFO L273 TraceCheckUtils]: 22: Hoare triple {34466#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34466#(<= main_~i~1 8)} is VALID [2018-11-23 12:19:00,292 INFO L273 TraceCheckUtils]: 23: Hoare triple {34466#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34467#(<= main_~i~1 9)} is VALID [2018-11-23 12:19:00,293 INFO L273 TraceCheckUtils]: 24: Hoare triple {34467#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34467#(<= main_~i~1 9)} is VALID [2018-11-23 12:19:00,294 INFO L273 TraceCheckUtils]: 25: Hoare triple {34467#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34468#(<= main_~i~1 10)} is VALID [2018-11-23 12:19:00,294 INFO L273 TraceCheckUtils]: 26: Hoare triple {34468#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34468#(<= main_~i~1 10)} is VALID [2018-11-23 12:19:00,295 INFO L273 TraceCheckUtils]: 27: Hoare triple {34468#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34469#(<= main_~i~1 11)} is VALID [2018-11-23 12:19:00,295 INFO L273 TraceCheckUtils]: 28: Hoare triple {34469#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34469#(<= main_~i~1 11)} is VALID [2018-11-23 12:19:00,296 INFO L273 TraceCheckUtils]: 29: Hoare triple {34469#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34470#(<= main_~i~1 12)} is VALID [2018-11-23 12:19:00,296 INFO L273 TraceCheckUtils]: 30: Hoare triple {34470#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34470#(<= main_~i~1 12)} is VALID [2018-11-23 12:19:00,297 INFO L273 TraceCheckUtils]: 31: Hoare triple {34470#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34471#(<= main_~i~1 13)} is VALID [2018-11-23 12:19:00,297 INFO L273 TraceCheckUtils]: 32: Hoare triple {34471#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34471#(<= main_~i~1 13)} is VALID [2018-11-23 12:19:00,298 INFO L273 TraceCheckUtils]: 33: Hoare triple {34471#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34472#(<= main_~i~1 14)} is VALID [2018-11-23 12:19:00,299 INFO L273 TraceCheckUtils]: 34: Hoare triple {34472#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34472#(<= main_~i~1 14)} is VALID [2018-11-23 12:19:00,299 INFO L273 TraceCheckUtils]: 35: Hoare triple {34472#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34473#(<= main_~i~1 15)} is VALID [2018-11-23 12:19:00,300 INFO L273 TraceCheckUtils]: 36: Hoare triple {34473#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34473#(<= main_~i~1 15)} is VALID [2018-11-23 12:19:00,300 INFO L273 TraceCheckUtils]: 37: Hoare triple {34473#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34474#(<= main_~i~1 16)} is VALID [2018-11-23 12:19:00,301 INFO L273 TraceCheckUtils]: 38: Hoare triple {34474#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34474#(<= main_~i~1 16)} is VALID [2018-11-23 12:19:00,302 INFO L273 TraceCheckUtils]: 39: Hoare triple {34474#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34475#(<= main_~i~1 17)} is VALID [2018-11-23 12:19:00,302 INFO L273 TraceCheckUtils]: 40: Hoare triple {34475#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34475#(<= main_~i~1 17)} is VALID [2018-11-23 12:19:00,303 INFO L273 TraceCheckUtils]: 41: Hoare triple {34475#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34476#(<= main_~i~1 18)} is VALID [2018-11-23 12:19:00,303 INFO L273 TraceCheckUtils]: 42: Hoare triple {34476#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34476#(<= main_~i~1 18)} is VALID [2018-11-23 12:19:00,304 INFO L273 TraceCheckUtils]: 43: Hoare triple {34476#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34477#(<= main_~i~1 19)} is VALID [2018-11-23 12:19:00,305 INFO L273 TraceCheckUtils]: 44: Hoare triple {34477#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34477#(<= main_~i~1 19)} is VALID [2018-11-23 12:19:00,305 INFO L273 TraceCheckUtils]: 45: Hoare triple {34477#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34478#(<= main_~i~1 20)} is VALID [2018-11-23 12:19:00,306 INFO L273 TraceCheckUtils]: 46: Hoare triple {34478#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34478#(<= main_~i~1 20)} is VALID [2018-11-23 12:19:00,307 INFO L273 TraceCheckUtils]: 47: Hoare triple {34478#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34479#(<= main_~i~1 21)} is VALID [2018-11-23 12:19:00,307 INFO L273 TraceCheckUtils]: 48: Hoare triple {34479#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34479#(<= main_~i~1 21)} is VALID [2018-11-23 12:19:00,308 INFO L273 TraceCheckUtils]: 49: Hoare triple {34479#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34480#(<= main_~i~1 22)} is VALID [2018-11-23 12:19:00,308 INFO L273 TraceCheckUtils]: 50: Hoare triple {34480#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34480#(<= main_~i~1 22)} is VALID [2018-11-23 12:19:00,309 INFO L273 TraceCheckUtils]: 51: Hoare triple {34480#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34481#(<= main_~i~1 23)} is VALID [2018-11-23 12:19:00,309 INFO L273 TraceCheckUtils]: 52: Hoare triple {34481#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34481#(<= main_~i~1 23)} is VALID [2018-11-23 12:19:00,310 INFO L273 TraceCheckUtils]: 53: Hoare triple {34481#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34482#(<= main_~i~1 24)} is VALID [2018-11-23 12:19:00,311 INFO L273 TraceCheckUtils]: 54: Hoare triple {34482#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34482#(<= main_~i~1 24)} is VALID [2018-11-23 12:19:00,311 INFO L273 TraceCheckUtils]: 55: Hoare triple {34482#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34483#(<= main_~i~1 25)} is VALID [2018-11-23 12:19:00,312 INFO L273 TraceCheckUtils]: 56: Hoare triple {34483#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34483#(<= main_~i~1 25)} is VALID [2018-11-23 12:19:00,312 INFO L273 TraceCheckUtils]: 57: Hoare triple {34483#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34484#(<= main_~i~1 26)} is VALID [2018-11-23 12:19:00,313 INFO L273 TraceCheckUtils]: 58: Hoare triple {34484#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34484#(<= main_~i~1 26)} is VALID [2018-11-23 12:19:00,313 INFO L273 TraceCheckUtils]: 59: Hoare triple {34484#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34485#(<= main_~i~1 27)} is VALID [2018-11-23 12:19:00,314 INFO L273 TraceCheckUtils]: 60: Hoare triple {34485#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34485#(<= main_~i~1 27)} is VALID [2018-11-23 12:19:00,315 INFO L273 TraceCheckUtils]: 61: Hoare triple {34485#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34486#(<= main_~i~1 28)} is VALID [2018-11-23 12:19:00,315 INFO L273 TraceCheckUtils]: 62: Hoare triple {34486#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34486#(<= main_~i~1 28)} is VALID [2018-11-23 12:19:00,316 INFO L273 TraceCheckUtils]: 63: Hoare triple {34486#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34487#(<= main_~i~1 29)} is VALID [2018-11-23 12:19:00,316 INFO L273 TraceCheckUtils]: 64: Hoare triple {34487#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34487#(<= main_~i~1 29)} is VALID [2018-11-23 12:19:00,317 INFO L273 TraceCheckUtils]: 65: Hoare triple {34487#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34488#(<= main_~i~1 30)} is VALID [2018-11-23 12:19:00,317 INFO L273 TraceCheckUtils]: 66: Hoare triple {34488#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34488#(<= main_~i~1 30)} is VALID [2018-11-23 12:19:00,318 INFO L273 TraceCheckUtils]: 67: Hoare triple {34488#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34489#(<= main_~i~1 31)} is VALID [2018-11-23 12:19:00,319 INFO L273 TraceCheckUtils]: 68: Hoare triple {34489#(<= main_~i~1 31)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34489#(<= main_~i~1 31)} is VALID [2018-11-23 12:19:00,319 INFO L273 TraceCheckUtils]: 69: Hoare triple {34489#(<= main_~i~1 31)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34490#(<= main_~i~1 32)} is VALID [2018-11-23 12:19:00,320 INFO L273 TraceCheckUtils]: 70: Hoare triple {34490#(<= main_~i~1 32)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34490#(<= main_~i~1 32)} is VALID [2018-11-23 12:19:00,320 INFO L273 TraceCheckUtils]: 71: Hoare triple {34490#(<= main_~i~1 32)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34491#(<= main_~i~1 33)} is VALID [2018-11-23 12:19:00,321 INFO L273 TraceCheckUtils]: 72: Hoare triple {34491#(<= main_~i~1 33)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34491#(<= main_~i~1 33)} is VALID [2018-11-23 12:19:00,321 INFO L273 TraceCheckUtils]: 73: Hoare triple {34491#(<= main_~i~1 33)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34492#(<= main_~i~1 34)} is VALID [2018-11-23 12:19:00,322 INFO L273 TraceCheckUtils]: 74: Hoare triple {34492#(<= main_~i~1 34)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34492#(<= main_~i~1 34)} is VALID [2018-11-23 12:19:00,323 INFO L273 TraceCheckUtils]: 75: Hoare triple {34492#(<= main_~i~1 34)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34493#(<= main_~i~1 35)} is VALID [2018-11-23 12:19:00,323 INFO L273 TraceCheckUtils]: 76: Hoare triple {34493#(<= main_~i~1 35)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34493#(<= main_~i~1 35)} is VALID [2018-11-23 12:19:00,324 INFO L273 TraceCheckUtils]: 77: Hoare triple {34493#(<= main_~i~1 35)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34494#(<= main_~i~1 36)} is VALID [2018-11-23 12:19:00,324 INFO L273 TraceCheckUtils]: 78: Hoare triple {34494#(<= main_~i~1 36)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34494#(<= main_~i~1 36)} is VALID [2018-11-23 12:19:00,325 INFO L273 TraceCheckUtils]: 79: Hoare triple {34494#(<= main_~i~1 36)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34495#(<= main_~i~1 37)} is VALID [2018-11-23 12:19:00,326 INFO L273 TraceCheckUtils]: 80: Hoare triple {34495#(<= main_~i~1 37)} assume !(~i~1 < 40); {34457#false} is VALID [2018-11-23 12:19:00,326 INFO L256 TraceCheckUtils]: 81: Hoare triple {34457#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {34456#true} is VALID [2018-11-23 12:19:00,326 INFO L273 TraceCheckUtils]: 82: Hoare triple {34456#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {34456#true} is VALID [2018-11-23 12:19:00,326 INFO L273 TraceCheckUtils]: 83: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,326 INFO L273 TraceCheckUtils]: 84: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,326 INFO L273 TraceCheckUtils]: 85: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,327 INFO L273 TraceCheckUtils]: 86: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,327 INFO L273 TraceCheckUtils]: 87: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,327 INFO L273 TraceCheckUtils]: 88: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,327 INFO L273 TraceCheckUtils]: 89: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,327 INFO L273 TraceCheckUtils]: 90: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,327 INFO L273 TraceCheckUtils]: 91: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,328 INFO L273 TraceCheckUtils]: 92: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,328 INFO L273 TraceCheckUtils]: 93: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,328 INFO L273 TraceCheckUtils]: 94: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,328 INFO L273 TraceCheckUtils]: 95: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,328 INFO L273 TraceCheckUtils]: 96: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,328 INFO L273 TraceCheckUtils]: 97: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,329 INFO L273 TraceCheckUtils]: 98: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,329 INFO L273 TraceCheckUtils]: 99: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,329 INFO L273 TraceCheckUtils]: 100: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,329 INFO L273 TraceCheckUtils]: 101: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,329 INFO L273 TraceCheckUtils]: 102: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,329 INFO L273 TraceCheckUtils]: 103: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,329 INFO L273 TraceCheckUtils]: 104: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,330 INFO L273 TraceCheckUtils]: 105: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,330 INFO L273 TraceCheckUtils]: 106: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,330 INFO L273 TraceCheckUtils]: 107: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,330 INFO L273 TraceCheckUtils]: 108: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,330 INFO L273 TraceCheckUtils]: 109: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,330 INFO L273 TraceCheckUtils]: 110: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,330 INFO L273 TraceCheckUtils]: 111: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,330 INFO L273 TraceCheckUtils]: 112: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,330 INFO L273 TraceCheckUtils]: 113: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,330 INFO L273 TraceCheckUtils]: 114: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,331 INFO L273 TraceCheckUtils]: 115: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,331 INFO L273 TraceCheckUtils]: 116: Hoare triple {34456#true} assume !(~i~0 < 40); {34456#true} is VALID [2018-11-23 12:19:00,331 INFO L273 TraceCheckUtils]: 117: Hoare triple {34456#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34456#true} is VALID [2018-11-23 12:19:00,331 INFO L273 TraceCheckUtils]: 118: Hoare triple {34456#true} assume true; {34456#true} is VALID [2018-11-23 12:19:00,331 INFO L268 TraceCheckUtils]: 119: Hoare quadruple {34456#true} {34457#false} #75#return; {34457#false} is VALID [2018-11-23 12:19:00,331 INFO L273 TraceCheckUtils]: 120: Hoare triple {34457#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); {34457#false} is VALID [2018-11-23 12:19:00,331 INFO L256 TraceCheckUtils]: 121: Hoare triple {34457#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {34456#true} is VALID [2018-11-23 12:19:00,331 INFO L273 TraceCheckUtils]: 122: Hoare triple {34456#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {34456#true} is VALID [2018-11-23 12:19:00,331 INFO L273 TraceCheckUtils]: 123: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,331 INFO L273 TraceCheckUtils]: 124: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,332 INFO L273 TraceCheckUtils]: 125: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,332 INFO L273 TraceCheckUtils]: 126: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,332 INFO L273 TraceCheckUtils]: 127: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,332 INFO L273 TraceCheckUtils]: 128: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,332 INFO L273 TraceCheckUtils]: 129: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,332 INFO L273 TraceCheckUtils]: 130: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,332 INFO L273 TraceCheckUtils]: 131: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,332 INFO L273 TraceCheckUtils]: 132: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,332 INFO L273 TraceCheckUtils]: 133: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,332 INFO L273 TraceCheckUtils]: 134: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,333 INFO L273 TraceCheckUtils]: 135: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,333 INFO L273 TraceCheckUtils]: 136: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,333 INFO L273 TraceCheckUtils]: 137: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,333 INFO L273 TraceCheckUtils]: 138: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,333 INFO L273 TraceCheckUtils]: 139: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,333 INFO L273 TraceCheckUtils]: 140: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,333 INFO L273 TraceCheckUtils]: 141: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,333 INFO L273 TraceCheckUtils]: 142: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,333 INFO L273 TraceCheckUtils]: 143: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,333 INFO L273 TraceCheckUtils]: 144: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,334 INFO L273 TraceCheckUtils]: 145: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,334 INFO L273 TraceCheckUtils]: 146: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,334 INFO L273 TraceCheckUtils]: 147: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,334 INFO L273 TraceCheckUtils]: 148: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,334 INFO L273 TraceCheckUtils]: 149: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,334 INFO L273 TraceCheckUtils]: 150: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,334 INFO L273 TraceCheckUtils]: 151: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,334 INFO L273 TraceCheckUtils]: 152: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,334 INFO L273 TraceCheckUtils]: 153: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,334 INFO L273 TraceCheckUtils]: 154: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,335 INFO L273 TraceCheckUtils]: 155: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,335 INFO L273 TraceCheckUtils]: 156: Hoare triple {34456#true} assume !(~i~0 < 40); {34456#true} is VALID [2018-11-23 12:19:00,335 INFO L273 TraceCheckUtils]: 157: Hoare triple {34456#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34456#true} is VALID [2018-11-23 12:19:00,335 INFO L273 TraceCheckUtils]: 158: Hoare triple {34456#true} assume true; {34456#true} is VALID [2018-11-23 12:19:00,335 INFO L268 TraceCheckUtils]: 159: Hoare quadruple {34456#true} {34457#false} #77#return; {34457#false} is VALID [2018-11-23 12:19:00,335 INFO L273 TraceCheckUtils]: 160: Hoare triple {34457#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; {34457#false} is VALID [2018-11-23 12:19:00,335 INFO L273 TraceCheckUtils]: 161: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:00,335 INFO L273 TraceCheckUtils]: 162: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:00,335 INFO L273 TraceCheckUtils]: 163: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:00,336 INFO L273 TraceCheckUtils]: 164: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:00,336 INFO L273 TraceCheckUtils]: 165: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:00,336 INFO L273 TraceCheckUtils]: 166: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:00,336 INFO L273 TraceCheckUtils]: 167: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:00,336 INFO L273 TraceCheckUtils]: 168: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:00,336 INFO L273 TraceCheckUtils]: 169: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:00,336 INFO L273 TraceCheckUtils]: 170: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:00,336 INFO L273 TraceCheckUtils]: 171: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:00,336 INFO L273 TraceCheckUtils]: 172: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:00,336 INFO L273 TraceCheckUtils]: 173: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:00,337 INFO L273 TraceCheckUtils]: 174: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:00,337 INFO L273 TraceCheckUtils]: 175: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:00,337 INFO L273 TraceCheckUtils]: 176: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:00,337 INFO L273 TraceCheckUtils]: 177: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:00,337 INFO L273 TraceCheckUtils]: 178: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:00,337 INFO L273 TraceCheckUtils]: 179: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:00,337 INFO L273 TraceCheckUtils]: 180: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:00,337 INFO L273 TraceCheckUtils]: 181: Hoare triple {34457#false} assume !(~i~2 < 39); {34457#false} is VALID [2018-11-23 12:19:00,337 INFO L273 TraceCheckUtils]: 182: Hoare triple {34457#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {34457#false} is VALID [2018-11-23 12:19:00,337 INFO L256 TraceCheckUtils]: 183: Hoare triple {34457#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {34456#true} is VALID [2018-11-23 12:19:00,338 INFO L273 TraceCheckUtils]: 184: Hoare triple {34456#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {34456#true} is VALID [2018-11-23 12:19:00,338 INFO L273 TraceCheckUtils]: 185: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,338 INFO L273 TraceCheckUtils]: 186: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,338 INFO L273 TraceCheckUtils]: 187: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,338 INFO L273 TraceCheckUtils]: 188: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,338 INFO L273 TraceCheckUtils]: 189: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,338 INFO L273 TraceCheckUtils]: 190: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,338 INFO L273 TraceCheckUtils]: 191: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,338 INFO L273 TraceCheckUtils]: 192: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,338 INFO L273 TraceCheckUtils]: 193: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,339 INFO L273 TraceCheckUtils]: 194: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,339 INFO L273 TraceCheckUtils]: 195: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,339 INFO L273 TraceCheckUtils]: 196: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,339 INFO L273 TraceCheckUtils]: 197: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,339 INFO L273 TraceCheckUtils]: 198: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,339 INFO L273 TraceCheckUtils]: 199: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,339 INFO L273 TraceCheckUtils]: 200: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,339 INFO L273 TraceCheckUtils]: 201: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,339 INFO L273 TraceCheckUtils]: 202: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,339 INFO L273 TraceCheckUtils]: 203: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,340 INFO L273 TraceCheckUtils]: 204: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,340 INFO L273 TraceCheckUtils]: 205: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,340 INFO L273 TraceCheckUtils]: 206: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,340 INFO L273 TraceCheckUtils]: 207: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,340 INFO L273 TraceCheckUtils]: 208: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,340 INFO L273 TraceCheckUtils]: 209: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,340 INFO L273 TraceCheckUtils]: 210: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,340 INFO L273 TraceCheckUtils]: 211: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,340 INFO L273 TraceCheckUtils]: 212: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,340 INFO L273 TraceCheckUtils]: 213: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,341 INFO L273 TraceCheckUtils]: 214: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,341 INFO L273 TraceCheckUtils]: 215: Hoare triple {34456#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34456#true} is VALID [2018-11-23 12:19:00,341 INFO L273 TraceCheckUtils]: 216: Hoare triple {34456#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34456#true} is VALID [2018-11-23 12:19:00,341 INFO L273 TraceCheckUtils]: 217: Hoare triple {34456#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34456#true} is VALID [2018-11-23 12:19:00,341 INFO L273 TraceCheckUtils]: 218: Hoare triple {34456#true} assume !(~i~0 < 40); {34456#true} is VALID [2018-11-23 12:19:00,341 INFO L273 TraceCheckUtils]: 219: Hoare triple {34456#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34456#true} is VALID [2018-11-23 12:19:00,341 INFO L273 TraceCheckUtils]: 220: Hoare triple {34456#true} assume true; {34456#true} is VALID [2018-11-23 12:19:00,341 INFO L268 TraceCheckUtils]: 221: Hoare quadruple {34456#true} {34457#false} #79#return; {34457#false} is VALID [2018-11-23 12:19:00,341 INFO L273 TraceCheckUtils]: 222: Hoare triple {34457#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {34457#false} is VALID [2018-11-23 12:19:00,341 INFO L273 TraceCheckUtils]: 223: Hoare triple {34457#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {34457#false} is VALID [2018-11-23 12:19:00,342 INFO L273 TraceCheckUtils]: 224: Hoare triple {34457#false} assume !false; {34457#false} is VALID [2018-11-23 12:19:00,389 INFO L134 CoverageAnalysis]: Checked inductivity of 3167 backedges. 0 proven. 1369 refuted. 0 times theorem prover too weak. 1798 trivial. 0 not checked. [2018-11-23 12:19:00,389 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:19:00,389 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:19:00,399 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:19:00,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:00,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:00,554 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:19:00,945 INFO L256 TraceCheckUtils]: 0: Hoare triple {34456#true} call ULTIMATE.init(); {34456#true} is VALID [2018-11-23 12:19:00,945 INFO L273 TraceCheckUtils]: 1: Hoare triple {34456#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {34456#true} is VALID [2018-11-23 12:19:00,945 INFO L273 TraceCheckUtils]: 2: Hoare triple {34456#true} assume true; {34456#true} is VALID [2018-11-23 12:19:00,945 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {34456#true} {34456#true} #71#return; {34456#true} is VALID [2018-11-23 12:19:00,945 INFO L256 TraceCheckUtils]: 4: Hoare triple {34456#true} call #t~ret14 := main(); {34456#true} is VALID [2018-11-23 12:19:00,947 INFO L273 TraceCheckUtils]: 5: Hoare triple {34456#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {34514#(<= main_~i~1 0)} is VALID [2018-11-23 12:19:00,947 INFO L273 TraceCheckUtils]: 6: Hoare triple {34514#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34514#(<= main_~i~1 0)} is VALID [2018-11-23 12:19:00,949 INFO L273 TraceCheckUtils]: 7: Hoare triple {34514#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34459#(<= main_~i~1 1)} is VALID [2018-11-23 12:19:00,949 INFO L273 TraceCheckUtils]: 8: Hoare triple {34459#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34459#(<= main_~i~1 1)} is VALID [2018-11-23 12:19:00,951 INFO L273 TraceCheckUtils]: 9: Hoare triple {34459#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34460#(<= main_~i~1 2)} is VALID [2018-11-23 12:19:00,951 INFO L273 TraceCheckUtils]: 10: Hoare triple {34460#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34460#(<= main_~i~1 2)} is VALID [2018-11-23 12:19:00,953 INFO L273 TraceCheckUtils]: 11: Hoare triple {34460#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34461#(<= main_~i~1 3)} is VALID [2018-11-23 12:19:00,953 INFO L273 TraceCheckUtils]: 12: Hoare triple {34461#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34461#(<= main_~i~1 3)} is VALID [2018-11-23 12:19:00,955 INFO L273 TraceCheckUtils]: 13: Hoare triple {34461#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34462#(<= main_~i~1 4)} is VALID [2018-11-23 12:19:00,955 INFO L273 TraceCheckUtils]: 14: Hoare triple {34462#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34462#(<= main_~i~1 4)} is VALID [2018-11-23 12:19:00,957 INFO L273 TraceCheckUtils]: 15: Hoare triple {34462#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34463#(<= main_~i~1 5)} is VALID [2018-11-23 12:19:00,957 INFO L273 TraceCheckUtils]: 16: Hoare triple {34463#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34463#(<= main_~i~1 5)} is VALID [2018-11-23 12:19:00,960 INFO L273 TraceCheckUtils]: 17: Hoare triple {34463#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34464#(<= main_~i~1 6)} is VALID [2018-11-23 12:19:00,960 INFO L273 TraceCheckUtils]: 18: Hoare triple {34464#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34464#(<= main_~i~1 6)} is VALID [2018-11-23 12:19:00,963 INFO L273 TraceCheckUtils]: 19: Hoare triple {34464#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34465#(<= main_~i~1 7)} is VALID [2018-11-23 12:19:00,963 INFO L273 TraceCheckUtils]: 20: Hoare triple {34465#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34465#(<= main_~i~1 7)} is VALID [2018-11-23 12:19:00,965 INFO L273 TraceCheckUtils]: 21: Hoare triple {34465#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34466#(<= main_~i~1 8)} is VALID [2018-11-23 12:19:00,965 INFO L273 TraceCheckUtils]: 22: Hoare triple {34466#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34466#(<= main_~i~1 8)} is VALID [2018-11-23 12:19:00,967 INFO L273 TraceCheckUtils]: 23: Hoare triple {34466#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34467#(<= main_~i~1 9)} is VALID [2018-11-23 12:19:00,967 INFO L273 TraceCheckUtils]: 24: Hoare triple {34467#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34467#(<= main_~i~1 9)} is VALID [2018-11-23 12:19:00,969 INFO L273 TraceCheckUtils]: 25: Hoare triple {34467#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34468#(<= main_~i~1 10)} is VALID [2018-11-23 12:19:00,969 INFO L273 TraceCheckUtils]: 26: Hoare triple {34468#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34468#(<= main_~i~1 10)} is VALID [2018-11-23 12:19:00,972 INFO L273 TraceCheckUtils]: 27: Hoare triple {34468#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34469#(<= main_~i~1 11)} is VALID [2018-11-23 12:19:00,972 INFO L273 TraceCheckUtils]: 28: Hoare triple {34469#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34469#(<= main_~i~1 11)} is VALID [2018-11-23 12:19:00,974 INFO L273 TraceCheckUtils]: 29: Hoare triple {34469#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34470#(<= main_~i~1 12)} is VALID [2018-11-23 12:19:00,974 INFO L273 TraceCheckUtils]: 30: Hoare triple {34470#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34470#(<= main_~i~1 12)} is VALID [2018-11-23 12:19:00,977 INFO L273 TraceCheckUtils]: 31: Hoare triple {34470#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34471#(<= main_~i~1 13)} is VALID [2018-11-23 12:19:00,977 INFO L273 TraceCheckUtils]: 32: Hoare triple {34471#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34471#(<= main_~i~1 13)} is VALID [2018-11-23 12:19:00,980 INFO L273 TraceCheckUtils]: 33: Hoare triple {34471#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34472#(<= main_~i~1 14)} is VALID [2018-11-23 12:19:00,980 INFO L273 TraceCheckUtils]: 34: Hoare triple {34472#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34472#(<= main_~i~1 14)} is VALID [2018-11-23 12:19:00,983 INFO L273 TraceCheckUtils]: 35: Hoare triple {34472#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34473#(<= main_~i~1 15)} is VALID [2018-11-23 12:19:00,983 INFO L273 TraceCheckUtils]: 36: Hoare triple {34473#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34473#(<= main_~i~1 15)} is VALID [2018-11-23 12:19:00,985 INFO L273 TraceCheckUtils]: 37: Hoare triple {34473#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34474#(<= main_~i~1 16)} is VALID [2018-11-23 12:19:00,985 INFO L273 TraceCheckUtils]: 38: Hoare triple {34474#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34474#(<= main_~i~1 16)} is VALID [2018-11-23 12:19:00,987 INFO L273 TraceCheckUtils]: 39: Hoare triple {34474#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34475#(<= main_~i~1 17)} is VALID [2018-11-23 12:19:00,987 INFO L273 TraceCheckUtils]: 40: Hoare triple {34475#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34475#(<= main_~i~1 17)} is VALID [2018-11-23 12:19:00,990 INFO L273 TraceCheckUtils]: 41: Hoare triple {34475#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34476#(<= main_~i~1 18)} is VALID [2018-11-23 12:19:00,990 INFO L273 TraceCheckUtils]: 42: Hoare triple {34476#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34476#(<= main_~i~1 18)} is VALID [2018-11-23 12:19:00,992 INFO L273 TraceCheckUtils]: 43: Hoare triple {34476#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34477#(<= main_~i~1 19)} is VALID [2018-11-23 12:19:00,992 INFO L273 TraceCheckUtils]: 44: Hoare triple {34477#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34477#(<= main_~i~1 19)} is VALID [2018-11-23 12:19:00,994 INFO L273 TraceCheckUtils]: 45: Hoare triple {34477#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34478#(<= main_~i~1 20)} is VALID [2018-11-23 12:19:00,994 INFO L273 TraceCheckUtils]: 46: Hoare triple {34478#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34478#(<= main_~i~1 20)} is VALID [2018-11-23 12:19:00,997 INFO L273 TraceCheckUtils]: 47: Hoare triple {34478#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34479#(<= main_~i~1 21)} is VALID [2018-11-23 12:19:00,997 INFO L273 TraceCheckUtils]: 48: Hoare triple {34479#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34479#(<= main_~i~1 21)} is VALID [2018-11-23 12:19:00,999 INFO L273 TraceCheckUtils]: 49: Hoare triple {34479#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34480#(<= main_~i~1 22)} is VALID [2018-11-23 12:19:00,999 INFO L273 TraceCheckUtils]: 50: Hoare triple {34480#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34480#(<= main_~i~1 22)} is VALID [2018-11-23 12:19:01,001 INFO L273 TraceCheckUtils]: 51: Hoare triple {34480#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34481#(<= main_~i~1 23)} is VALID [2018-11-23 12:19:01,001 INFO L273 TraceCheckUtils]: 52: Hoare triple {34481#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34481#(<= main_~i~1 23)} is VALID [2018-11-23 12:19:01,003 INFO L273 TraceCheckUtils]: 53: Hoare triple {34481#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34482#(<= main_~i~1 24)} is VALID [2018-11-23 12:19:01,003 INFO L273 TraceCheckUtils]: 54: Hoare triple {34482#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34482#(<= main_~i~1 24)} is VALID [2018-11-23 12:19:01,006 INFO L273 TraceCheckUtils]: 55: Hoare triple {34482#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34483#(<= main_~i~1 25)} is VALID [2018-11-23 12:19:01,006 INFO L273 TraceCheckUtils]: 56: Hoare triple {34483#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34483#(<= main_~i~1 25)} is VALID [2018-11-23 12:19:01,008 INFO L273 TraceCheckUtils]: 57: Hoare triple {34483#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34484#(<= main_~i~1 26)} is VALID [2018-11-23 12:19:01,008 INFO L273 TraceCheckUtils]: 58: Hoare triple {34484#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34484#(<= main_~i~1 26)} is VALID [2018-11-23 12:19:01,011 INFO L273 TraceCheckUtils]: 59: Hoare triple {34484#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34485#(<= main_~i~1 27)} is VALID [2018-11-23 12:19:01,011 INFO L273 TraceCheckUtils]: 60: Hoare triple {34485#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34485#(<= main_~i~1 27)} is VALID [2018-11-23 12:19:01,014 INFO L273 TraceCheckUtils]: 61: Hoare triple {34485#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34486#(<= main_~i~1 28)} is VALID [2018-11-23 12:19:01,014 INFO L273 TraceCheckUtils]: 62: Hoare triple {34486#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34486#(<= main_~i~1 28)} is VALID [2018-11-23 12:19:01,016 INFO L273 TraceCheckUtils]: 63: Hoare triple {34486#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34487#(<= main_~i~1 29)} is VALID [2018-11-23 12:19:01,016 INFO L273 TraceCheckUtils]: 64: Hoare triple {34487#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34487#(<= main_~i~1 29)} is VALID [2018-11-23 12:19:01,019 INFO L273 TraceCheckUtils]: 65: Hoare triple {34487#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34488#(<= main_~i~1 30)} is VALID [2018-11-23 12:19:01,019 INFO L273 TraceCheckUtils]: 66: Hoare triple {34488#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34488#(<= main_~i~1 30)} is VALID [2018-11-23 12:19:01,022 INFO L273 TraceCheckUtils]: 67: Hoare triple {34488#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34489#(<= main_~i~1 31)} is VALID [2018-11-23 12:19:01,022 INFO L273 TraceCheckUtils]: 68: Hoare triple {34489#(<= main_~i~1 31)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34489#(<= main_~i~1 31)} is VALID [2018-11-23 12:19:01,024 INFO L273 TraceCheckUtils]: 69: Hoare triple {34489#(<= main_~i~1 31)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34490#(<= main_~i~1 32)} is VALID [2018-11-23 12:19:01,024 INFO L273 TraceCheckUtils]: 70: Hoare triple {34490#(<= main_~i~1 32)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34490#(<= main_~i~1 32)} is VALID [2018-11-23 12:19:01,027 INFO L273 TraceCheckUtils]: 71: Hoare triple {34490#(<= main_~i~1 32)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34491#(<= main_~i~1 33)} is VALID [2018-11-23 12:19:01,027 INFO L273 TraceCheckUtils]: 72: Hoare triple {34491#(<= main_~i~1 33)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34491#(<= main_~i~1 33)} is VALID [2018-11-23 12:19:01,030 INFO L273 TraceCheckUtils]: 73: Hoare triple {34491#(<= main_~i~1 33)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34492#(<= main_~i~1 34)} is VALID [2018-11-23 12:19:01,030 INFO L273 TraceCheckUtils]: 74: Hoare triple {34492#(<= main_~i~1 34)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34492#(<= main_~i~1 34)} is VALID [2018-11-23 12:19:01,032 INFO L273 TraceCheckUtils]: 75: Hoare triple {34492#(<= main_~i~1 34)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34493#(<= main_~i~1 35)} is VALID [2018-11-23 12:19:01,032 INFO L273 TraceCheckUtils]: 76: Hoare triple {34493#(<= main_~i~1 35)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34493#(<= main_~i~1 35)} is VALID [2018-11-23 12:19:01,035 INFO L273 TraceCheckUtils]: 77: Hoare triple {34493#(<= main_~i~1 35)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34494#(<= main_~i~1 36)} is VALID [2018-11-23 12:19:01,035 INFO L273 TraceCheckUtils]: 78: Hoare triple {34494#(<= main_~i~1 36)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {34494#(<= main_~i~1 36)} is VALID [2018-11-23 12:19:01,037 INFO L273 TraceCheckUtils]: 79: Hoare triple {34494#(<= main_~i~1 36)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {34495#(<= main_~i~1 37)} is VALID [2018-11-23 12:19:01,037 INFO L273 TraceCheckUtils]: 80: Hoare triple {34495#(<= main_~i~1 37)} assume !(~i~1 < 40); {34457#false} is VALID [2018-11-23 12:19:01,037 INFO L256 TraceCheckUtils]: 81: Hoare triple {34457#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {34457#false} is VALID [2018-11-23 12:19:01,037 INFO L273 TraceCheckUtils]: 82: Hoare triple {34457#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {34457#false} is VALID [2018-11-23 12:19:01,037 INFO L273 TraceCheckUtils]: 83: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,037 INFO L273 TraceCheckUtils]: 84: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,038 INFO L273 TraceCheckUtils]: 85: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,038 INFO L273 TraceCheckUtils]: 86: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,038 INFO L273 TraceCheckUtils]: 87: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,038 INFO L273 TraceCheckUtils]: 88: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,038 INFO L273 TraceCheckUtils]: 89: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,038 INFO L273 TraceCheckUtils]: 90: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,038 INFO L273 TraceCheckUtils]: 91: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,038 INFO L273 TraceCheckUtils]: 92: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,038 INFO L273 TraceCheckUtils]: 93: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,038 INFO L273 TraceCheckUtils]: 94: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,039 INFO L273 TraceCheckUtils]: 95: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,039 INFO L273 TraceCheckUtils]: 96: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,039 INFO L273 TraceCheckUtils]: 97: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,039 INFO L273 TraceCheckUtils]: 98: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,039 INFO L273 TraceCheckUtils]: 99: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,039 INFO L273 TraceCheckUtils]: 100: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,039 INFO L273 TraceCheckUtils]: 101: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,039 INFO L273 TraceCheckUtils]: 102: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,039 INFO L273 TraceCheckUtils]: 103: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,039 INFO L273 TraceCheckUtils]: 104: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,040 INFO L273 TraceCheckUtils]: 105: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,040 INFO L273 TraceCheckUtils]: 106: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,040 INFO L273 TraceCheckUtils]: 107: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,040 INFO L273 TraceCheckUtils]: 108: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,040 INFO L273 TraceCheckUtils]: 109: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,040 INFO L273 TraceCheckUtils]: 110: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,040 INFO L273 TraceCheckUtils]: 111: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,040 INFO L273 TraceCheckUtils]: 112: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,040 INFO L273 TraceCheckUtils]: 113: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,040 INFO L273 TraceCheckUtils]: 114: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,041 INFO L273 TraceCheckUtils]: 115: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,041 INFO L273 TraceCheckUtils]: 116: Hoare triple {34457#false} assume !(~i~0 < 40); {34457#false} is VALID [2018-11-23 12:19:01,041 INFO L273 TraceCheckUtils]: 117: Hoare triple {34457#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34457#false} is VALID [2018-11-23 12:19:01,041 INFO L273 TraceCheckUtils]: 118: Hoare triple {34457#false} assume true; {34457#false} is VALID [2018-11-23 12:19:01,041 INFO L268 TraceCheckUtils]: 119: Hoare quadruple {34457#false} {34457#false} #75#return; {34457#false} is VALID [2018-11-23 12:19:01,041 INFO L273 TraceCheckUtils]: 120: Hoare triple {34457#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); {34457#false} is VALID [2018-11-23 12:19:01,041 INFO L256 TraceCheckUtils]: 121: Hoare triple {34457#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {34457#false} is VALID [2018-11-23 12:19:01,041 INFO L273 TraceCheckUtils]: 122: Hoare triple {34457#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {34457#false} is VALID [2018-11-23 12:19:01,041 INFO L273 TraceCheckUtils]: 123: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,041 INFO L273 TraceCheckUtils]: 124: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,042 INFO L273 TraceCheckUtils]: 125: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,042 INFO L273 TraceCheckUtils]: 126: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,042 INFO L273 TraceCheckUtils]: 127: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,042 INFO L273 TraceCheckUtils]: 128: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,042 INFO L273 TraceCheckUtils]: 129: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,042 INFO L273 TraceCheckUtils]: 130: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,042 INFO L273 TraceCheckUtils]: 131: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,042 INFO L273 TraceCheckUtils]: 132: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,042 INFO L273 TraceCheckUtils]: 133: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,042 INFO L273 TraceCheckUtils]: 134: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,043 INFO L273 TraceCheckUtils]: 135: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,043 INFO L273 TraceCheckUtils]: 136: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,043 INFO L273 TraceCheckUtils]: 137: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,043 INFO L273 TraceCheckUtils]: 138: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,043 INFO L273 TraceCheckUtils]: 139: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,043 INFO L273 TraceCheckUtils]: 140: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,043 INFO L273 TraceCheckUtils]: 141: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,043 INFO L273 TraceCheckUtils]: 142: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,043 INFO L273 TraceCheckUtils]: 143: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,043 INFO L273 TraceCheckUtils]: 144: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,044 INFO L273 TraceCheckUtils]: 145: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,044 INFO L273 TraceCheckUtils]: 146: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,044 INFO L273 TraceCheckUtils]: 147: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,044 INFO L273 TraceCheckUtils]: 148: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,044 INFO L273 TraceCheckUtils]: 149: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,044 INFO L273 TraceCheckUtils]: 150: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,044 INFO L273 TraceCheckUtils]: 151: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,044 INFO L273 TraceCheckUtils]: 152: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,044 INFO L273 TraceCheckUtils]: 153: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,044 INFO L273 TraceCheckUtils]: 154: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,045 INFO L273 TraceCheckUtils]: 155: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,045 INFO L273 TraceCheckUtils]: 156: Hoare triple {34457#false} assume !(~i~0 < 40); {34457#false} is VALID [2018-11-23 12:19:01,045 INFO L273 TraceCheckUtils]: 157: Hoare triple {34457#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34457#false} is VALID [2018-11-23 12:19:01,045 INFO L273 TraceCheckUtils]: 158: Hoare triple {34457#false} assume true; {34457#false} is VALID [2018-11-23 12:19:01,045 INFO L268 TraceCheckUtils]: 159: Hoare quadruple {34457#false} {34457#false} #77#return; {34457#false} is VALID [2018-11-23 12:19:01,045 INFO L273 TraceCheckUtils]: 160: Hoare triple {34457#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; {34457#false} is VALID [2018-11-23 12:19:01,045 INFO L273 TraceCheckUtils]: 161: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:01,045 INFO L273 TraceCheckUtils]: 162: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:01,045 INFO L273 TraceCheckUtils]: 163: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:01,045 INFO L273 TraceCheckUtils]: 164: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:01,046 INFO L273 TraceCheckUtils]: 165: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:01,046 INFO L273 TraceCheckUtils]: 166: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:01,046 INFO L273 TraceCheckUtils]: 167: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:01,046 INFO L273 TraceCheckUtils]: 168: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:01,046 INFO L273 TraceCheckUtils]: 169: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:01,046 INFO L273 TraceCheckUtils]: 170: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:01,046 INFO L273 TraceCheckUtils]: 171: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:01,046 INFO L273 TraceCheckUtils]: 172: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:01,046 INFO L273 TraceCheckUtils]: 173: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:01,046 INFO L273 TraceCheckUtils]: 174: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:01,047 INFO L273 TraceCheckUtils]: 175: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:01,047 INFO L273 TraceCheckUtils]: 176: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:01,047 INFO L273 TraceCheckUtils]: 177: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:01,047 INFO L273 TraceCheckUtils]: 178: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:01,047 INFO L273 TraceCheckUtils]: 179: Hoare triple {34457#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {34457#false} is VALID [2018-11-23 12:19:01,047 INFO L273 TraceCheckUtils]: 180: Hoare triple {34457#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {34457#false} is VALID [2018-11-23 12:19:01,047 INFO L273 TraceCheckUtils]: 181: Hoare triple {34457#false} assume !(~i~2 < 39); {34457#false} is VALID [2018-11-23 12:19:01,047 INFO L273 TraceCheckUtils]: 182: Hoare triple {34457#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {34457#false} is VALID [2018-11-23 12:19:01,047 INFO L256 TraceCheckUtils]: 183: Hoare triple {34457#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {34457#false} is VALID [2018-11-23 12:19:01,047 INFO L273 TraceCheckUtils]: 184: Hoare triple {34457#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {34457#false} is VALID [2018-11-23 12:19:01,048 INFO L273 TraceCheckUtils]: 185: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,048 INFO L273 TraceCheckUtils]: 186: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,048 INFO L273 TraceCheckUtils]: 187: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,048 INFO L273 TraceCheckUtils]: 188: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,048 INFO L273 TraceCheckUtils]: 189: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,048 INFO L273 TraceCheckUtils]: 190: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,048 INFO L273 TraceCheckUtils]: 191: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,048 INFO L273 TraceCheckUtils]: 192: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,048 INFO L273 TraceCheckUtils]: 193: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,048 INFO L273 TraceCheckUtils]: 194: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,049 INFO L273 TraceCheckUtils]: 195: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,049 INFO L273 TraceCheckUtils]: 196: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,049 INFO L273 TraceCheckUtils]: 197: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,049 INFO L273 TraceCheckUtils]: 198: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,049 INFO L273 TraceCheckUtils]: 199: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,049 INFO L273 TraceCheckUtils]: 200: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,049 INFO L273 TraceCheckUtils]: 201: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,049 INFO L273 TraceCheckUtils]: 202: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,049 INFO L273 TraceCheckUtils]: 203: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,049 INFO L273 TraceCheckUtils]: 204: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,050 INFO L273 TraceCheckUtils]: 205: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,050 INFO L273 TraceCheckUtils]: 206: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,050 INFO L273 TraceCheckUtils]: 207: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,050 INFO L273 TraceCheckUtils]: 208: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,050 INFO L273 TraceCheckUtils]: 209: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,050 INFO L273 TraceCheckUtils]: 210: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,050 INFO L273 TraceCheckUtils]: 211: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,050 INFO L273 TraceCheckUtils]: 212: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,050 INFO L273 TraceCheckUtils]: 213: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,050 INFO L273 TraceCheckUtils]: 214: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,051 INFO L273 TraceCheckUtils]: 215: Hoare triple {34457#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {34457#false} is VALID [2018-11-23 12:19:01,051 INFO L273 TraceCheckUtils]: 216: Hoare triple {34457#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {34457#false} is VALID [2018-11-23 12:19:01,051 INFO L273 TraceCheckUtils]: 217: Hoare triple {34457#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34457#false} is VALID [2018-11-23 12:19:01,051 INFO L273 TraceCheckUtils]: 218: Hoare triple {34457#false} assume !(~i~0 < 40); {34457#false} is VALID [2018-11-23 12:19:01,051 INFO L273 TraceCheckUtils]: 219: Hoare triple {34457#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34457#false} is VALID [2018-11-23 12:19:01,051 INFO L273 TraceCheckUtils]: 220: Hoare triple {34457#false} assume true; {34457#false} is VALID [2018-11-23 12:19:01,051 INFO L268 TraceCheckUtils]: 221: Hoare quadruple {34457#false} {34457#false} #79#return; {34457#false} is VALID [2018-11-23 12:19:01,051 INFO L273 TraceCheckUtils]: 222: Hoare triple {34457#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {34457#false} is VALID [2018-11-23 12:19:01,051 INFO L273 TraceCheckUtils]: 223: Hoare triple {34457#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {34457#false} is VALID [2018-11-23 12:19:01,051 INFO L273 TraceCheckUtils]: 224: Hoare triple {34457#false} assume !false; {34457#false} is VALID [2018-11-23 12:19:01,073 INFO L134 CoverageAnalysis]: Checked inductivity of 3167 backedges. 0 proven. 1369 refuted. 0 times theorem prover too weak. 1798 trivial. 0 not checked. [2018-11-23 12:19:01,101 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:19:01,101 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [40, 40] total 41 [2018-11-23 12:19:01,102 INFO L78 Accepts]: Start accepts. Automaton has 41 states. Word has length 225 [2018-11-23 12:19:01,103 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:19:01,103 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states. [2018-11-23 12:19:01,288 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:19:01,288 INFO L459 AbstractCegarLoop]: Interpolant automaton has 41 states [2018-11-23 12:19:01,289 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2018-11-23 12:19:01,290 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=820, Invalid=820, Unknown=0, NotChecked=0, Total=1640 [2018-11-23 12:19:01,290 INFO L87 Difference]: Start difference. First operand 150 states and 165 transitions. Second operand 41 states. [2018-11-23 12:19:02,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:02,442 INFO L93 Difference]: Finished difference Result 222 states and 252 transitions. [2018-11-23 12:19:02,442 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2018-11-23 12:19:02,442 INFO L78 Accepts]: Start accepts. Automaton has 41 states. Word has length 225 [2018-11-23 12:19:02,442 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:19:02,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:19:02,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 132 transitions. [2018-11-23 12:19:02,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:19:02,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 132 transitions. [2018-11-23 12:19:02,444 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 40 states and 132 transitions. [2018-11-23 12:19:02,571 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:19:02,576 INFO L225 Difference]: With dead ends: 222 [2018-11-23 12:19:02,576 INFO L226 Difference]: Without dead ends: 153 [2018-11-23 12:19:02,577 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 264 GetRequests, 225 SyntacticMatches, 0 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=820, Invalid=820, Unknown=0, NotChecked=0, Total=1640 [2018-11-23 12:19:02,578 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2018-11-23 12:19:02,664 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 152. [2018-11-23 12:19:02,664 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:19:02,664 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand 152 states. [2018-11-23 12:19:02,664 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand 152 states. [2018-11-23 12:19:02,664 INFO L87 Difference]: Start difference. First operand 153 states. Second operand 152 states. [2018-11-23 12:19:02,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:02,667 INFO L93 Difference]: Finished difference Result 153 states and 168 transitions. [2018-11-23 12:19:02,668 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 168 transitions. [2018-11-23 12:19:02,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:19:02,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:19:02,668 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand 153 states. [2018-11-23 12:19:02,668 INFO L87 Difference]: Start difference. First operand 152 states. Second operand 153 states. [2018-11-23 12:19:02,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:02,671 INFO L93 Difference]: Finished difference Result 153 states and 168 transitions. [2018-11-23 12:19:02,671 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 168 transitions. [2018-11-23 12:19:02,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:19:02,671 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:19:02,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:19:02,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:19:02,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 152 states. [2018-11-23 12:19:02,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 152 states to 152 states and 167 transitions. [2018-11-23 12:19:02,674 INFO L78 Accepts]: Start accepts. Automaton has 152 states and 167 transitions. Word has length 225 [2018-11-23 12:19:02,675 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:19:02,675 INFO L480 AbstractCegarLoop]: Abstraction has 152 states and 167 transitions. [2018-11-23 12:19:02,675 INFO L481 AbstractCegarLoop]: Interpolant automaton has 41 states. [2018-11-23 12:19:02,675 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 167 transitions. [2018-11-23 12:19:02,676 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 228 [2018-11-23 12:19:02,676 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:19:02,676 INFO L402 BasicCegarLoop]: trace histogram [38, 38, 33, 33, 33, 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:19:02,676 INFO L423 AbstractCegarLoop]: === Iteration 42 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:19:02,677 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:19:02,677 INFO L82 PathProgramCache]: Analyzing trace with hash 464848903, now seen corresponding path program 38 times [2018-11-23 12:19:02,677 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:19:02,677 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:19:02,678 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:19:02,678 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:19:02,678 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:19:02,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:04,364 INFO L256 TraceCheckUtils]: 0: Hoare triple {36018#true} call ULTIMATE.init(); {36018#true} is VALID [2018-11-23 12:19:04,365 INFO L273 TraceCheckUtils]: 1: Hoare triple {36018#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {36018#true} is VALID [2018-11-23 12:19:04,365 INFO L273 TraceCheckUtils]: 2: Hoare triple {36018#true} assume true; {36018#true} is VALID [2018-11-23 12:19:04,365 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {36018#true} {36018#true} #71#return; {36018#true} is VALID [2018-11-23 12:19:04,365 INFO L256 TraceCheckUtils]: 4: Hoare triple {36018#true} call #t~ret14 := main(); {36018#true} is VALID [2018-11-23 12:19:04,366 INFO L273 TraceCheckUtils]: 5: Hoare triple {36018#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {36020#(= main_~i~1 0)} is VALID [2018-11-23 12:19:04,366 INFO L273 TraceCheckUtils]: 6: Hoare triple {36020#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36020#(= main_~i~1 0)} is VALID [2018-11-23 12:19:04,367 INFO L273 TraceCheckUtils]: 7: Hoare triple {36020#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36021#(<= main_~i~1 1)} is VALID [2018-11-23 12:19:04,367 INFO L273 TraceCheckUtils]: 8: Hoare triple {36021#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36021#(<= main_~i~1 1)} is VALID [2018-11-23 12:19:04,368 INFO L273 TraceCheckUtils]: 9: Hoare triple {36021#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36022#(<= main_~i~1 2)} is VALID [2018-11-23 12:19:04,368 INFO L273 TraceCheckUtils]: 10: Hoare triple {36022#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36022#(<= main_~i~1 2)} is VALID [2018-11-23 12:19:04,368 INFO L273 TraceCheckUtils]: 11: Hoare triple {36022#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36023#(<= main_~i~1 3)} is VALID [2018-11-23 12:19:04,369 INFO L273 TraceCheckUtils]: 12: Hoare triple {36023#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36023#(<= main_~i~1 3)} is VALID [2018-11-23 12:19:04,369 INFO L273 TraceCheckUtils]: 13: Hoare triple {36023#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36024#(<= main_~i~1 4)} is VALID [2018-11-23 12:19:04,370 INFO L273 TraceCheckUtils]: 14: Hoare triple {36024#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36024#(<= main_~i~1 4)} is VALID [2018-11-23 12:19:04,370 INFO L273 TraceCheckUtils]: 15: Hoare triple {36024#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36025#(<= main_~i~1 5)} is VALID [2018-11-23 12:19:04,371 INFO L273 TraceCheckUtils]: 16: Hoare triple {36025#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36025#(<= main_~i~1 5)} is VALID [2018-11-23 12:19:04,372 INFO L273 TraceCheckUtils]: 17: Hoare triple {36025#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36026#(<= main_~i~1 6)} is VALID [2018-11-23 12:19:04,372 INFO L273 TraceCheckUtils]: 18: Hoare triple {36026#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36026#(<= main_~i~1 6)} is VALID [2018-11-23 12:19:04,373 INFO L273 TraceCheckUtils]: 19: Hoare triple {36026#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36027#(<= main_~i~1 7)} is VALID [2018-11-23 12:19:04,373 INFO L273 TraceCheckUtils]: 20: Hoare triple {36027#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36027#(<= main_~i~1 7)} is VALID [2018-11-23 12:19:04,374 INFO L273 TraceCheckUtils]: 21: Hoare triple {36027#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36028#(<= main_~i~1 8)} is VALID [2018-11-23 12:19:04,375 INFO L273 TraceCheckUtils]: 22: Hoare triple {36028#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36028#(<= main_~i~1 8)} is VALID [2018-11-23 12:19:04,375 INFO L273 TraceCheckUtils]: 23: Hoare triple {36028#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36029#(<= main_~i~1 9)} is VALID [2018-11-23 12:19:04,376 INFO L273 TraceCheckUtils]: 24: Hoare triple {36029#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36029#(<= main_~i~1 9)} is VALID [2018-11-23 12:19:04,377 INFO L273 TraceCheckUtils]: 25: Hoare triple {36029#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36030#(<= main_~i~1 10)} is VALID [2018-11-23 12:19:04,377 INFO L273 TraceCheckUtils]: 26: Hoare triple {36030#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36030#(<= main_~i~1 10)} is VALID [2018-11-23 12:19:04,378 INFO L273 TraceCheckUtils]: 27: Hoare triple {36030#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36031#(<= main_~i~1 11)} is VALID [2018-11-23 12:19:04,378 INFO L273 TraceCheckUtils]: 28: Hoare triple {36031#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36031#(<= main_~i~1 11)} is VALID [2018-11-23 12:19:04,379 INFO L273 TraceCheckUtils]: 29: Hoare triple {36031#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36032#(<= main_~i~1 12)} is VALID [2018-11-23 12:19:04,379 INFO L273 TraceCheckUtils]: 30: Hoare triple {36032#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36032#(<= main_~i~1 12)} is VALID [2018-11-23 12:19:04,380 INFO L273 TraceCheckUtils]: 31: Hoare triple {36032#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36033#(<= main_~i~1 13)} is VALID [2018-11-23 12:19:04,381 INFO L273 TraceCheckUtils]: 32: Hoare triple {36033#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36033#(<= main_~i~1 13)} is VALID [2018-11-23 12:19:04,381 INFO L273 TraceCheckUtils]: 33: Hoare triple {36033#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36034#(<= main_~i~1 14)} is VALID [2018-11-23 12:19:04,382 INFO L273 TraceCheckUtils]: 34: Hoare triple {36034#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36034#(<= main_~i~1 14)} is VALID [2018-11-23 12:19:04,383 INFO L273 TraceCheckUtils]: 35: Hoare triple {36034#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36035#(<= main_~i~1 15)} is VALID [2018-11-23 12:19:04,383 INFO L273 TraceCheckUtils]: 36: Hoare triple {36035#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36035#(<= main_~i~1 15)} is VALID [2018-11-23 12:19:04,384 INFO L273 TraceCheckUtils]: 37: Hoare triple {36035#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36036#(<= main_~i~1 16)} is VALID [2018-11-23 12:19:04,384 INFO L273 TraceCheckUtils]: 38: Hoare triple {36036#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36036#(<= main_~i~1 16)} is VALID [2018-11-23 12:19:04,385 INFO L273 TraceCheckUtils]: 39: Hoare triple {36036#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36037#(<= main_~i~1 17)} is VALID [2018-11-23 12:19:04,386 INFO L273 TraceCheckUtils]: 40: Hoare triple {36037#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36037#(<= main_~i~1 17)} is VALID [2018-11-23 12:19:04,386 INFO L273 TraceCheckUtils]: 41: Hoare triple {36037#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36038#(<= main_~i~1 18)} is VALID [2018-11-23 12:19:04,387 INFO L273 TraceCheckUtils]: 42: Hoare triple {36038#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36038#(<= main_~i~1 18)} is VALID [2018-11-23 12:19:04,387 INFO L273 TraceCheckUtils]: 43: Hoare triple {36038#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36039#(<= main_~i~1 19)} is VALID [2018-11-23 12:19:04,388 INFO L273 TraceCheckUtils]: 44: Hoare triple {36039#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36039#(<= main_~i~1 19)} is VALID [2018-11-23 12:19:04,389 INFO L273 TraceCheckUtils]: 45: Hoare triple {36039#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36040#(<= main_~i~1 20)} is VALID [2018-11-23 12:19:04,389 INFO L273 TraceCheckUtils]: 46: Hoare triple {36040#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36040#(<= main_~i~1 20)} is VALID [2018-11-23 12:19:04,390 INFO L273 TraceCheckUtils]: 47: Hoare triple {36040#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36041#(<= main_~i~1 21)} is VALID [2018-11-23 12:19:04,390 INFO L273 TraceCheckUtils]: 48: Hoare triple {36041#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36041#(<= main_~i~1 21)} is VALID [2018-11-23 12:19:04,391 INFO L273 TraceCheckUtils]: 49: Hoare triple {36041#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36042#(<= main_~i~1 22)} is VALID [2018-11-23 12:19:04,392 INFO L273 TraceCheckUtils]: 50: Hoare triple {36042#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36042#(<= main_~i~1 22)} is VALID [2018-11-23 12:19:04,392 INFO L273 TraceCheckUtils]: 51: Hoare triple {36042#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36043#(<= main_~i~1 23)} is VALID [2018-11-23 12:19:04,393 INFO L273 TraceCheckUtils]: 52: Hoare triple {36043#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36043#(<= main_~i~1 23)} is VALID [2018-11-23 12:19:04,394 INFO L273 TraceCheckUtils]: 53: Hoare triple {36043#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36044#(<= main_~i~1 24)} is VALID [2018-11-23 12:19:04,394 INFO L273 TraceCheckUtils]: 54: Hoare triple {36044#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36044#(<= main_~i~1 24)} is VALID [2018-11-23 12:19:04,395 INFO L273 TraceCheckUtils]: 55: Hoare triple {36044#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36045#(<= main_~i~1 25)} is VALID [2018-11-23 12:19:04,395 INFO L273 TraceCheckUtils]: 56: Hoare triple {36045#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36045#(<= main_~i~1 25)} is VALID [2018-11-23 12:19:04,396 INFO L273 TraceCheckUtils]: 57: Hoare triple {36045#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36046#(<= main_~i~1 26)} is VALID [2018-11-23 12:19:04,396 INFO L273 TraceCheckUtils]: 58: Hoare triple {36046#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36046#(<= main_~i~1 26)} is VALID [2018-11-23 12:19:04,397 INFO L273 TraceCheckUtils]: 59: Hoare triple {36046#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36047#(<= main_~i~1 27)} is VALID [2018-11-23 12:19:04,398 INFO L273 TraceCheckUtils]: 60: Hoare triple {36047#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36047#(<= main_~i~1 27)} is VALID [2018-11-23 12:19:04,398 INFO L273 TraceCheckUtils]: 61: Hoare triple {36047#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36048#(<= main_~i~1 28)} is VALID [2018-11-23 12:19:04,399 INFO L273 TraceCheckUtils]: 62: Hoare triple {36048#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36048#(<= main_~i~1 28)} is VALID [2018-11-23 12:19:04,400 INFO L273 TraceCheckUtils]: 63: Hoare triple {36048#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36049#(<= main_~i~1 29)} is VALID [2018-11-23 12:19:04,400 INFO L273 TraceCheckUtils]: 64: Hoare triple {36049#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36049#(<= main_~i~1 29)} is VALID [2018-11-23 12:19:04,401 INFO L273 TraceCheckUtils]: 65: Hoare triple {36049#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36050#(<= main_~i~1 30)} is VALID [2018-11-23 12:19:04,401 INFO L273 TraceCheckUtils]: 66: Hoare triple {36050#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36050#(<= main_~i~1 30)} is VALID [2018-11-23 12:19:04,402 INFO L273 TraceCheckUtils]: 67: Hoare triple {36050#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36051#(<= main_~i~1 31)} is VALID [2018-11-23 12:19:04,403 INFO L273 TraceCheckUtils]: 68: Hoare triple {36051#(<= main_~i~1 31)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36051#(<= main_~i~1 31)} is VALID [2018-11-23 12:19:04,403 INFO L273 TraceCheckUtils]: 69: Hoare triple {36051#(<= main_~i~1 31)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36052#(<= main_~i~1 32)} is VALID [2018-11-23 12:19:04,404 INFO L273 TraceCheckUtils]: 70: Hoare triple {36052#(<= main_~i~1 32)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36052#(<= main_~i~1 32)} is VALID [2018-11-23 12:19:04,405 INFO L273 TraceCheckUtils]: 71: Hoare triple {36052#(<= main_~i~1 32)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36053#(<= main_~i~1 33)} is VALID [2018-11-23 12:19:04,405 INFO L273 TraceCheckUtils]: 72: Hoare triple {36053#(<= main_~i~1 33)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36053#(<= main_~i~1 33)} is VALID [2018-11-23 12:19:04,406 INFO L273 TraceCheckUtils]: 73: Hoare triple {36053#(<= main_~i~1 33)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36054#(<= main_~i~1 34)} is VALID [2018-11-23 12:19:04,406 INFO L273 TraceCheckUtils]: 74: Hoare triple {36054#(<= main_~i~1 34)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36054#(<= main_~i~1 34)} is VALID [2018-11-23 12:19:04,407 INFO L273 TraceCheckUtils]: 75: Hoare triple {36054#(<= main_~i~1 34)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36055#(<= main_~i~1 35)} is VALID [2018-11-23 12:19:04,407 INFO L273 TraceCheckUtils]: 76: Hoare triple {36055#(<= main_~i~1 35)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36055#(<= main_~i~1 35)} is VALID [2018-11-23 12:19:04,408 INFO L273 TraceCheckUtils]: 77: Hoare triple {36055#(<= main_~i~1 35)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36056#(<= main_~i~1 36)} is VALID [2018-11-23 12:19:04,409 INFO L273 TraceCheckUtils]: 78: Hoare triple {36056#(<= main_~i~1 36)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36056#(<= main_~i~1 36)} is VALID [2018-11-23 12:19:04,409 INFO L273 TraceCheckUtils]: 79: Hoare triple {36056#(<= main_~i~1 36)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36057#(<= main_~i~1 37)} is VALID [2018-11-23 12:19:04,410 INFO L273 TraceCheckUtils]: 80: Hoare triple {36057#(<= main_~i~1 37)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36057#(<= main_~i~1 37)} is VALID [2018-11-23 12:19:04,411 INFO L273 TraceCheckUtils]: 81: Hoare triple {36057#(<= main_~i~1 37)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36058#(<= main_~i~1 38)} is VALID [2018-11-23 12:19:04,411 INFO L273 TraceCheckUtils]: 82: Hoare triple {36058#(<= main_~i~1 38)} assume !(~i~1 < 40); {36019#false} is VALID [2018-11-23 12:19:04,411 INFO L256 TraceCheckUtils]: 83: Hoare triple {36019#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {36018#true} is VALID [2018-11-23 12:19:04,412 INFO L273 TraceCheckUtils]: 84: Hoare triple {36018#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {36018#true} is VALID [2018-11-23 12:19:04,412 INFO L273 TraceCheckUtils]: 85: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,412 INFO L273 TraceCheckUtils]: 86: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,412 INFO L273 TraceCheckUtils]: 87: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,412 INFO L273 TraceCheckUtils]: 88: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,413 INFO L273 TraceCheckUtils]: 89: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,413 INFO L273 TraceCheckUtils]: 90: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,413 INFO L273 TraceCheckUtils]: 91: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,413 INFO L273 TraceCheckUtils]: 92: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,413 INFO L273 TraceCheckUtils]: 93: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,413 INFO L273 TraceCheckUtils]: 94: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,414 INFO L273 TraceCheckUtils]: 95: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,414 INFO L273 TraceCheckUtils]: 96: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,414 INFO L273 TraceCheckUtils]: 97: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,414 INFO L273 TraceCheckUtils]: 98: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,414 INFO L273 TraceCheckUtils]: 99: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,414 INFO L273 TraceCheckUtils]: 100: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,414 INFO L273 TraceCheckUtils]: 101: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,414 INFO L273 TraceCheckUtils]: 102: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,415 INFO L273 TraceCheckUtils]: 103: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,415 INFO L273 TraceCheckUtils]: 104: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,415 INFO L273 TraceCheckUtils]: 105: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,415 INFO L273 TraceCheckUtils]: 106: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,415 INFO L273 TraceCheckUtils]: 107: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,415 INFO L273 TraceCheckUtils]: 108: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,415 INFO L273 TraceCheckUtils]: 109: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,415 INFO L273 TraceCheckUtils]: 110: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,415 INFO L273 TraceCheckUtils]: 111: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,415 INFO L273 TraceCheckUtils]: 112: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,416 INFO L273 TraceCheckUtils]: 113: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,416 INFO L273 TraceCheckUtils]: 114: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,416 INFO L273 TraceCheckUtils]: 115: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,416 INFO L273 TraceCheckUtils]: 116: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,416 INFO L273 TraceCheckUtils]: 117: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,416 INFO L273 TraceCheckUtils]: 118: Hoare triple {36018#true} assume !(~i~0 < 40); {36018#true} is VALID [2018-11-23 12:19:04,416 INFO L273 TraceCheckUtils]: 119: Hoare triple {36018#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {36018#true} is VALID [2018-11-23 12:19:04,416 INFO L273 TraceCheckUtils]: 120: Hoare triple {36018#true} assume true; {36018#true} is VALID [2018-11-23 12:19:04,416 INFO L268 TraceCheckUtils]: 121: Hoare quadruple {36018#true} {36019#false} #75#return; {36019#false} is VALID [2018-11-23 12:19:04,416 INFO L273 TraceCheckUtils]: 122: Hoare triple {36019#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); {36019#false} is VALID [2018-11-23 12:19:04,417 INFO L256 TraceCheckUtils]: 123: Hoare triple {36019#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {36018#true} is VALID [2018-11-23 12:19:04,417 INFO L273 TraceCheckUtils]: 124: Hoare triple {36018#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {36018#true} is VALID [2018-11-23 12:19:04,417 INFO L273 TraceCheckUtils]: 125: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,417 INFO L273 TraceCheckUtils]: 126: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,417 INFO L273 TraceCheckUtils]: 127: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,417 INFO L273 TraceCheckUtils]: 128: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,417 INFO L273 TraceCheckUtils]: 129: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,417 INFO L273 TraceCheckUtils]: 130: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,417 INFO L273 TraceCheckUtils]: 131: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,417 INFO L273 TraceCheckUtils]: 132: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,418 INFO L273 TraceCheckUtils]: 133: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,418 INFO L273 TraceCheckUtils]: 134: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,418 INFO L273 TraceCheckUtils]: 135: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,418 INFO L273 TraceCheckUtils]: 136: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,418 INFO L273 TraceCheckUtils]: 137: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,418 INFO L273 TraceCheckUtils]: 138: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,418 INFO L273 TraceCheckUtils]: 139: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,418 INFO L273 TraceCheckUtils]: 140: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,418 INFO L273 TraceCheckUtils]: 141: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,418 INFO L273 TraceCheckUtils]: 142: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,419 INFO L273 TraceCheckUtils]: 143: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,419 INFO L273 TraceCheckUtils]: 144: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,419 INFO L273 TraceCheckUtils]: 145: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,419 INFO L273 TraceCheckUtils]: 146: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,419 INFO L273 TraceCheckUtils]: 147: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,419 INFO L273 TraceCheckUtils]: 148: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,419 INFO L273 TraceCheckUtils]: 149: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,419 INFO L273 TraceCheckUtils]: 150: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,419 INFO L273 TraceCheckUtils]: 151: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,419 INFO L273 TraceCheckUtils]: 152: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,420 INFO L273 TraceCheckUtils]: 153: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,420 INFO L273 TraceCheckUtils]: 154: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,420 INFO L273 TraceCheckUtils]: 155: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,420 INFO L273 TraceCheckUtils]: 156: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,420 INFO L273 TraceCheckUtils]: 157: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,420 INFO L273 TraceCheckUtils]: 158: Hoare triple {36018#true} assume !(~i~0 < 40); {36018#true} is VALID [2018-11-23 12:19:04,420 INFO L273 TraceCheckUtils]: 159: Hoare triple {36018#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {36018#true} is VALID [2018-11-23 12:19:04,420 INFO L273 TraceCheckUtils]: 160: Hoare triple {36018#true} assume true; {36018#true} is VALID [2018-11-23 12:19:04,420 INFO L268 TraceCheckUtils]: 161: Hoare quadruple {36018#true} {36019#false} #77#return; {36019#false} is VALID [2018-11-23 12:19:04,420 INFO L273 TraceCheckUtils]: 162: Hoare triple {36019#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; {36019#false} is VALID [2018-11-23 12:19:04,421 INFO L273 TraceCheckUtils]: 163: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:04,421 INFO L273 TraceCheckUtils]: 164: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:04,421 INFO L273 TraceCheckUtils]: 165: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:04,421 INFO L273 TraceCheckUtils]: 166: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:04,421 INFO L273 TraceCheckUtils]: 167: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:04,421 INFO L273 TraceCheckUtils]: 168: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:04,421 INFO L273 TraceCheckUtils]: 169: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:04,421 INFO L273 TraceCheckUtils]: 170: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:04,421 INFO L273 TraceCheckUtils]: 171: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:04,421 INFO L273 TraceCheckUtils]: 172: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:04,422 INFO L273 TraceCheckUtils]: 173: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:04,422 INFO L273 TraceCheckUtils]: 174: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:04,422 INFO L273 TraceCheckUtils]: 175: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:04,422 INFO L273 TraceCheckUtils]: 176: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:04,422 INFO L273 TraceCheckUtils]: 177: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:04,422 INFO L273 TraceCheckUtils]: 178: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:04,422 INFO L273 TraceCheckUtils]: 179: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:04,422 INFO L273 TraceCheckUtils]: 180: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:04,422 INFO L273 TraceCheckUtils]: 181: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:04,422 INFO L273 TraceCheckUtils]: 182: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:04,423 INFO L273 TraceCheckUtils]: 183: Hoare triple {36019#false} assume !(~i~2 < 39); {36019#false} is VALID [2018-11-23 12:19:04,423 INFO L273 TraceCheckUtils]: 184: Hoare triple {36019#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {36019#false} is VALID [2018-11-23 12:19:04,423 INFO L256 TraceCheckUtils]: 185: Hoare triple {36019#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {36018#true} is VALID [2018-11-23 12:19:04,423 INFO L273 TraceCheckUtils]: 186: Hoare triple {36018#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {36018#true} is VALID [2018-11-23 12:19:04,423 INFO L273 TraceCheckUtils]: 187: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,423 INFO L273 TraceCheckUtils]: 188: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,423 INFO L273 TraceCheckUtils]: 189: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,423 INFO L273 TraceCheckUtils]: 190: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,423 INFO L273 TraceCheckUtils]: 191: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,423 INFO L273 TraceCheckUtils]: 192: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,424 INFO L273 TraceCheckUtils]: 193: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,424 INFO L273 TraceCheckUtils]: 194: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,424 INFO L273 TraceCheckUtils]: 195: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,424 INFO L273 TraceCheckUtils]: 196: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,424 INFO L273 TraceCheckUtils]: 197: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,424 INFO L273 TraceCheckUtils]: 198: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,424 INFO L273 TraceCheckUtils]: 199: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,424 INFO L273 TraceCheckUtils]: 200: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,424 INFO L273 TraceCheckUtils]: 201: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,424 INFO L273 TraceCheckUtils]: 202: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,425 INFO L273 TraceCheckUtils]: 203: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,425 INFO L273 TraceCheckUtils]: 204: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,425 INFO L273 TraceCheckUtils]: 205: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,425 INFO L273 TraceCheckUtils]: 206: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,425 INFO L273 TraceCheckUtils]: 207: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,425 INFO L273 TraceCheckUtils]: 208: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,425 INFO L273 TraceCheckUtils]: 209: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,425 INFO L273 TraceCheckUtils]: 210: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,425 INFO L273 TraceCheckUtils]: 211: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,425 INFO L273 TraceCheckUtils]: 212: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,426 INFO L273 TraceCheckUtils]: 213: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,426 INFO L273 TraceCheckUtils]: 214: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,426 INFO L273 TraceCheckUtils]: 215: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,426 INFO L273 TraceCheckUtils]: 216: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,426 INFO L273 TraceCheckUtils]: 217: Hoare triple {36018#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36018#true} is VALID [2018-11-23 12:19:04,426 INFO L273 TraceCheckUtils]: 218: Hoare triple {36018#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36018#true} is VALID [2018-11-23 12:19:04,426 INFO L273 TraceCheckUtils]: 219: Hoare triple {36018#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36018#true} is VALID [2018-11-23 12:19:04,426 INFO L273 TraceCheckUtils]: 220: Hoare triple {36018#true} assume !(~i~0 < 40); {36018#true} is VALID [2018-11-23 12:19:04,426 INFO L273 TraceCheckUtils]: 221: Hoare triple {36018#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {36018#true} is VALID [2018-11-23 12:19:04,426 INFO L273 TraceCheckUtils]: 222: Hoare triple {36018#true} assume true; {36018#true} is VALID [2018-11-23 12:19:04,427 INFO L268 TraceCheckUtils]: 223: Hoare quadruple {36018#true} {36019#false} #79#return; {36019#false} is VALID [2018-11-23 12:19:04,427 INFO L273 TraceCheckUtils]: 224: Hoare triple {36019#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {36019#false} is VALID [2018-11-23 12:19:04,427 INFO L273 TraceCheckUtils]: 225: Hoare triple {36019#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {36019#false} is VALID [2018-11-23 12:19:04,427 INFO L273 TraceCheckUtils]: 226: Hoare triple {36019#false} assume !false; {36019#false} is VALID [2018-11-23 12:19:04,448 INFO L134 CoverageAnalysis]: Checked inductivity of 3242 backedges. 0 proven. 1444 refuted. 0 times theorem prover too weak. 1798 trivial. 0 not checked. [2018-11-23 12:19:04,449 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:19:04,449 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:19:04,458 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:19:04,571 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:19:04,571 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:19:04,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:04,631 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:19:05,430 INFO L256 TraceCheckUtils]: 0: Hoare triple {36018#true} call ULTIMATE.init(); {36018#true} is VALID [2018-11-23 12:19:05,431 INFO L273 TraceCheckUtils]: 1: Hoare triple {36018#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {36018#true} is VALID [2018-11-23 12:19:05,431 INFO L273 TraceCheckUtils]: 2: Hoare triple {36018#true} assume true; {36018#true} is VALID [2018-11-23 12:19:05,431 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {36018#true} {36018#true} #71#return; {36018#true} is VALID [2018-11-23 12:19:05,431 INFO L256 TraceCheckUtils]: 4: Hoare triple {36018#true} call #t~ret14 := main(); {36018#true} is VALID [2018-11-23 12:19:05,432 INFO L273 TraceCheckUtils]: 5: Hoare triple {36018#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {36077#(<= main_~i~1 0)} is VALID [2018-11-23 12:19:05,433 INFO L273 TraceCheckUtils]: 6: Hoare triple {36077#(<= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36077#(<= main_~i~1 0)} is VALID [2018-11-23 12:19:05,433 INFO L273 TraceCheckUtils]: 7: Hoare triple {36077#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36021#(<= main_~i~1 1)} is VALID [2018-11-23 12:19:05,433 INFO L273 TraceCheckUtils]: 8: Hoare triple {36021#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36021#(<= main_~i~1 1)} is VALID [2018-11-23 12:19:05,434 INFO L273 TraceCheckUtils]: 9: Hoare triple {36021#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36022#(<= main_~i~1 2)} is VALID [2018-11-23 12:19:05,434 INFO L273 TraceCheckUtils]: 10: Hoare triple {36022#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36022#(<= main_~i~1 2)} is VALID [2018-11-23 12:19:05,435 INFO L273 TraceCheckUtils]: 11: Hoare triple {36022#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36023#(<= main_~i~1 3)} is VALID [2018-11-23 12:19:05,435 INFO L273 TraceCheckUtils]: 12: Hoare triple {36023#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36023#(<= main_~i~1 3)} is VALID [2018-11-23 12:19:05,436 INFO L273 TraceCheckUtils]: 13: Hoare triple {36023#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36024#(<= main_~i~1 4)} is VALID [2018-11-23 12:19:05,436 INFO L273 TraceCheckUtils]: 14: Hoare triple {36024#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36024#(<= main_~i~1 4)} is VALID [2018-11-23 12:19:05,437 INFO L273 TraceCheckUtils]: 15: Hoare triple {36024#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36025#(<= main_~i~1 5)} is VALID [2018-11-23 12:19:05,437 INFO L273 TraceCheckUtils]: 16: Hoare triple {36025#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36025#(<= main_~i~1 5)} is VALID [2018-11-23 12:19:05,438 INFO L273 TraceCheckUtils]: 17: Hoare triple {36025#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36026#(<= main_~i~1 6)} is VALID [2018-11-23 12:19:05,439 INFO L273 TraceCheckUtils]: 18: Hoare triple {36026#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36026#(<= main_~i~1 6)} is VALID [2018-11-23 12:19:05,439 INFO L273 TraceCheckUtils]: 19: Hoare triple {36026#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36027#(<= main_~i~1 7)} is VALID [2018-11-23 12:19:05,440 INFO L273 TraceCheckUtils]: 20: Hoare triple {36027#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36027#(<= main_~i~1 7)} is VALID [2018-11-23 12:19:05,441 INFO L273 TraceCheckUtils]: 21: Hoare triple {36027#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36028#(<= main_~i~1 8)} is VALID [2018-11-23 12:19:05,441 INFO L273 TraceCheckUtils]: 22: Hoare triple {36028#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36028#(<= main_~i~1 8)} is VALID [2018-11-23 12:19:05,442 INFO L273 TraceCheckUtils]: 23: Hoare triple {36028#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36029#(<= main_~i~1 9)} is VALID [2018-11-23 12:19:05,442 INFO L273 TraceCheckUtils]: 24: Hoare triple {36029#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36029#(<= main_~i~1 9)} is VALID [2018-11-23 12:19:05,443 INFO L273 TraceCheckUtils]: 25: Hoare triple {36029#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36030#(<= main_~i~1 10)} is VALID [2018-11-23 12:19:05,443 INFO L273 TraceCheckUtils]: 26: Hoare triple {36030#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36030#(<= main_~i~1 10)} is VALID [2018-11-23 12:19:05,444 INFO L273 TraceCheckUtils]: 27: Hoare triple {36030#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36031#(<= main_~i~1 11)} is VALID [2018-11-23 12:19:05,445 INFO L273 TraceCheckUtils]: 28: Hoare triple {36031#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36031#(<= main_~i~1 11)} is VALID [2018-11-23 12:19:05,445 INFO L273 TraceCheckUtils]: 29: Hoare triple {36031#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36032#(<= main_~i~1 12)} is VALID [2018-11-23 12:19:05,446 INFO L273 TraceCheckUtils]: 30: Hoare triple {36032#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36032#(<= main_~i~1 12)} is VALID [2018-11-23 12:19:05,447 INFO L273 TraceCheckUtils]: 31: Hoare triple {36032#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36033#(<= main_~i~1 13)} is VALID [2018-11-23 12:19:05,447 INFO L273 TraceCheckUtils]: 32: Hoare triple {36033#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36033#(<= main_~i~1 13)} is VALID [2018-11-23 12:19:05,448 INFO L273 TraceCheckUtils]: 33: Hoare triple {36033#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36034#(<= main_~i~1 14)} is VALID [2018-11-23 12:19:05,448 INFO L273 TraceCheckUtils]: 34: Hoare triple {36034#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36034#(<= main_~i~1 14)} is VALID [2018-11-23 12:19:05,449 INFO L273 TraceCheckUtils]: 35: Hoare triple {36034#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36035#(<= main_~i~1 15)} is VALID [2018-11-23 12:19:05,450 INFO L273 TraceCheckUtils]: 36: Hoare triple {36035#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36035#(<= main_~i~1 15)} is VALID [2018-11-23 12:19:05,450 INFO L273 TraceCheckUtils]: 37: Hoare triple {36035#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36036#(<= main_~i~1 16)} is VALID [2018-11-23 12:19:05,451 INFO L273 TraceCheckUtils]: 38: Hoare triple {36036#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36036#(<= main_~i~1 16)} is VALID [2018-11-23 12:19:05,452 INFO L273 TraceCheckUtils]: 39: Hoare triple {36036#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36037#(<= main_~i~1 17)} is VALID [2018-11-23 12:19:05,452 INFO L273 TraceCheckUtils]: 40: Hoare triple {36037#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36037#(<= main_~i~1 17)} is VALID [2018-11-23 12:19:05,453 INFO L273 TraceCheckUtils]: 41: Hoare triple {36037#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36038#(<= main_~i~1 18)} is VALID [2018-11-23 12:19:05,453 INFO L273 TraceCheckUtils]: 42: Hoare triple {36038#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36038#(<= main_~i~1 18)} is VALID [2018-11-23 12:19:05,454 INFO L273 TraceCheckUtils]: 43: Hoare triple {36038#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36039#(<= main_~i~1 19)} is VALID [2018-11-23 12:19:05,454 INFO L273 TraceCheckUtils]: 44: Hoare triple {36039#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36039#(<= main_~i~1 19)} is VALID [2018-11-23 12:19:05,455 INFO L273 TraceCheckUtils]: 45: Hoare triple {36039#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36040#(<= main_~i~1 20)} is VALID [2018-11-23 12:19:05,456 INFO L273 TraceCheckUtils]: 46: Hoare triple {36040#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36040#(<= main_~i~1 20)} is VALID [2018-11-23 12:19:05,456 INFO L273 TraceCheckUtils]: 47: Hoare triple {36040#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36041#(<= main_~i~1 21)} is VALID [2018-11-23 12:19:05,457 INFO L273 TraceCheckUtils]: 48: Hoare triple {36041#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36041#(<= main_~i~1 21)} is VALID [2018-11-23 12:19:05,458 INFO L273 TraceCheckUtils]: 49: Hoare triple {36041#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36042#(<= main_~i~1 22)} is VALID [2018-11-23 12:19:05,458 INFO L273 TraceCheckUtils]: 50: Hoare triple {36042#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36042#(<= main_~i~1 22)} is VALID [2018-11-23 12:19:05,459 INFO L273 TraceCheckUtils]: 51: Hoare triple {36042#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36043#(<= main_~i~1 23)} is VALID [2018-11-23 12:19:05,459 INFO L273 TraceCheckUtils]: 52: Hoare triple {36043#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36043#(<= main_~i~1 23)} is VALID [2018-11-23 12:19:05,460 INFO L273 TraceCheckUtils]: 53: Hoare triple {36043#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36044#(<= main_~i~1 24)} is VALID [2018-11-23 12:19:05,461 INFO L273 TraceCheckUtils]: 54: Hoare triple {36044#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36044#(<= main_~i~1 24)} is VALID [2018-11-23 12:19:05,461 INFO L273 TraceCheckUtils]: 55: Hoare triple {36044#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36045#(<= main_~i~1 25)} is VALID [2018-11-23 12:19:05,462 INFO L273 TraceCheckUtils]: 56: Hoare triple {36045#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36045#(<= main_~i~1 25)} is VALID [2018-11-23 12:19:05,462 INFO L273 TraceCheckUtils]: 57: Hoare triple {36045#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36046#(<= main_~i~1 26)} is VALID [2018-11-23 12:19:05,463 INFO L273 TraceCheckUtils]: 58: Hoare triple {36046#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36046#(<= main_~i~1 26)} is VALID [2018-11-23 12:19:05,464 INFO L273 TraceCheckUtils]: 59: Hoare triple {36046#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36047#(<= main_~i~1 27)} is VALID [2018-11-23 12:19:05,464 INFO L273 TraceCheckUtils]: 60: Hoare triple {36047#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36047#(<= main_~i~1 27)} is VALID [2018-11-23 12:19:05,465 INFO L273 TraceCheckUtils]: 61: Hoare triple {36047#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36048#(<= main_~i~1 28)} is VALID [2018-11-23 12:19:05,465 INFO L273 TraceCheckUtils]: 62: Hoare triple {36048#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36048#(<= main_~i~1 28)} is VALID [2018-11-23 12:19:05,466 INFO L273 TraceCheckUtils]: 63: Hoare triple {36048#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36049#(<= main_~i~1 29)} is VALID [2018-11-23 12:19:05,467 INFO L273 TraceCheckUtils]: 64: Hoare triple {36049#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36049#(<= main_~i~1 29)} is VALID [2018-11-23 12:19:05,467 INFO L273 TraceCheckUtils]: 65: Hoare triple {36049#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36050#(<= main_~i~1 30)} is VALID [2018-11-23 12:19:05,468 INFO L273 TraceCheckUtils]: 66: Hoare triple {36050#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36050#(<= main_~i~1 30)} is VALID [2018-11-23 12:19:05,469 INFO L273 TraceCheckUtils]: 67: Hoare triple {36050#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36051#(<= main_~i~1 31)} is VALID [2018-11-23 12:19:05,469 INFO L273 TraceCheckUtils]: 68: Hoare triple {36051#(<= main_~i~1 31)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36051#(<= main_~i~1 31)} is VALID [2018-11-23 12:19:05,470 INFO L273 TraceCheckUtils]: 69: Hoare triple {36051#(<= main_~i~1 31)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36052#(<= main_~i~1 32)} is VALID [2018-11-23 12:19:05,470 INFO L273 TraceCheckUtils]: 70: Hoare triple {36052#(<= main_~i~1 32)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36052#(<= main_~i~1 32)} is VALID [2018-11-23 12:19:05,471 INFO L273 TraceCheckUtils]: 71: Hoare triple {36052#(<= main_~i~1 32)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36053#(<= main_~i~1 33)} is VALID [2018-11-23 12:19:05,471 INFO L273 TraceCheckUtils]: 72: Hoare triple {36053#(<= main_~i~1 33)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36053#(<= main_~i~1 33)} is VALID [2018-11-23 12:19:05,472 INFO L273 TraceCheckUtils]: 73: Hoare triple {36053#(<= main_~i~1 33)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36054#(<= main_~i~1 34)} is VALID [2018-11-23 12:19:05,473 INFO L273 TraceCheckUtils]: 74: Hoare triple {36054#(<= main_~i~1 34)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36054#(<= main_~i~1 34)} is VALID [2018-11-23 12:19:05,473 INFO L273 TraceCheckUtils]: 75: Hoare triple {36054#(<= main_~i~1 34)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36055#(<= main_~i~1 35)} is VALID [2018-11-23 12:19:05,474 INFO L273 TraceCheckUtils]: 76: Hoare triple {36055#(<= main_~i~1 35)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36055#(<= main_~i~1 35)} is VALID [2018-11-23 12:19:05,475 INFO L273 TraceCheckUtils]: 77: Hoare triple {36055#(<= main_~i~1 35)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36056#(<= main_~i~1 36)} is VALID [2018-11-23 12:19:05,475 INFO L273 TraceCheckUtils]: 78: Hoare triple {36056#(<= main_~i~1 36)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36056#(<= main_~i~1 36)} is VALID [2018-11-23 12:19:05,476 INFO L273 TraceCheckUtils]: 79: Hoare triple {36056#(<= main_~i~1 36)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36057#(<= main_~i~1 37)} is VALID [2018-11-23 12:19:05,476 INFO L273 TraceCheckUtils]: 80: Hoare triple {36057#(<= main_~i~1 37)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {36057#(<= main_~i~1 37)} is VALID [2018-11-23 12:19:05,477 INFO L273 TraceCheckUtils]: 81: Hoare triple {36057#(<= main_~i~1 37)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {36058#(<= main_~i~1 38)} is VALID [2018-11-23 12:19:05,478 INFO L273 TraceCheckUtils]: 82: Hoare triple {36058#(<= main_~i~1 38)} assume !(~i~1 < 40); {36019#false} is VALID [2018-11-23 12:19:05,478 INFO L256 TraceCheckUtils]: 83: Hoare triple {36019#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {36019#false} is VALID [2018-11-23 12:19:05,478 INFO L273 TraceCheckUtils]: 84: Hoare triple {36019#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {36019#false} is VALID [2018-11-23 12:19:05,478 INFO L273 TraceCheckUtils]: 85: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,478 INFO L273 TraceCheckUtils]: 86: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,479 INFO L273 TraceCheckUtils]: 87: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,479 INFO L273 TraceCheckUtils]: 88: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,479 INFO L273 TraceCheckUtils]: 89: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,479 INFO L273 TraceCheckUtils]: 90: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,479 INFO L273 TraceCheckUtils]: 91: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,479 INFO L273 TraceCheckUtils]: 92: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,480 INFO L273 TraceCheckUtils]: 93: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,480 INFO L273 TraceCheckUtils]: 94: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,480 INFO L273 TraceCheckUtils]: 95: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,480 INFO L273 TraceCheckUtils]: 96: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,480 INFO L273 TraceCheckUtils]: 97: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,481 INFO L273 TraceCheckUtils]: 98: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,481 INFO L273 TraceCheckUtils]: 99: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,481 INFO L273 TraceCheckUtils]: 100: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,481 INFO L273 TraceCheckUtils]: 101: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,481 INFO L273 TraceCheckUtils]: 102: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,481 INFO L273 TraceCheckUtils]: 103: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,482 INFO L273 TraceCheckUtils]: 104: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,482 INFO L273 TraceCheckUtils]: 105: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,482 INFO L273 TraceCheckUtils]: 106: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,482 INFO L273 TraceCheckUtils]: 107: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,482 INFO L273 TraceCheckUtils]: 108: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,482 INFO L273 TraceCheckUtils]: 109: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,482 INFO L273 TraceCheckUtils]: 110: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,482 INFO L273 TraceCheckUtils]: 111: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,483 INFO L273 TraceCheckUtils]: 112: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,483 INFO L273 TraceCheckUtils]: 113: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,483 INFO L273 TraceCheckUtils]: 114: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,483 INFO L273 TraceCheckUtils]: 115: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,483 INFO L273 TraceCheckUtils]: 116: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,483 INFO L273 TraceCheckUtils]: 117: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,483 INFO L273 TraceCheckUtils]: 118: Hoare triple {36019#false} assume !(~i~0 < 40); {36019#false} is VALID [2018-11-23 12:19:05,483 INFO L273 TraceCheckUtils]: 119: Hoare triple {36019#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {36019#false} is VALID [2018-11-23 12:19:05,483 INFO L273 TraceCheckUtils]: 120: Hoare triple {36019#false} assume true; {36019#false} is VALID [2018-11-23 12:19:05,483 INFO L268 TraceCheckUtils]: 121: Hoare quadruple {36019#false} {36019#false} #75#return; {36019#false} is VALID [2018-11-23 12:19:05,484 INFO L273 TraceCheckUtils]: 122: Hoare triple {36019#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); {36019#false} is VALID [2018-11-23 12:19:05,484 INFO L256 TraceCheckUtils]: 123: Hoare triple {36019#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {36019#false} is VALID [2018-11-23 12:19:05,484 INFO L273 TraceCheckUtils]: 124: Hoare triple {36019#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {36019#false} is VALID [2018-11-23 12:19:05,484 INFO L273 TraceCheckUtils]: 125: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,484 INFO L273 TraceCheckUtils]: 126: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,484 INFO L273 TraceCheckUtils]: 127: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,484 INFO L273 TraceCheckUtils]: 128: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,484 INFO L273 TraceCheckUtils]: 129: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,484 INFO L273 TraceCheckUtils]: 130: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,484 INFO L273 TraceCheckUtils]: 131: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,485 INFO L273 TraceCheckUtils]: 132: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,485 INFO L273 TraceCheckUtils]: 133: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,485 INFO L273 TraceCheckUtils]: 134: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,485 INFO L273 TraceCheckUtils]: 135: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,485 INFO L273 TraceCheckUtils]: 136: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,485 INFO L273 TraceCheckUtils]: 137: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,485 INFO L273 TraceCheckUtils]: 138: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,485 INFO L273 TraceCheckUtils]: 139: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,485 INFO L273 TraceCheckUtils]: 140: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,485 INFO L273 TraceCheckUtils]: 141: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,486 INFO L273 TraceCheckUtils]: 142: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,486 INFO L273 TraceCheckUtils]: 143: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,486 INFO L273 TraceCheckUtils]: 144: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,486 INFO L273 TraceCheckUtils]: 145: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,486 INFO L273 TraceCheckUtils]: 146: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,486 INFO L273 TraceCheckUtils]: 147: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,486 INFO L273 TraceCheckUtils]: 148: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,486 INFO L273 TraceCheckUtils]: 149: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,486 INFO L273 TraceCheckUtils]: 150: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,486 INFO L273 TraceCheckUtils]: 151: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,487 INFO L273 TraceCheckUtils]: 152: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,487 INFO L273 TraceCheckUtils]: 153: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,487 INFO L273 TraceCheckUtils]: 154: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,487 INFO L273 TraceCheckUtils]: 155: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,487 INFO L273 TraceCheckUtils]: 156: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,487 INFO L273 TraceCheckUtils]: 157: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,487 INFO L273 TraceCheckUtils]: 158: Hoare triple {36019#false} assume !(~i~0 < 40); {36019#false} is VALID [2018-11-23 12:19:05,487 INFO L273 TraceCheckUtils]: 159: Hoare triple {36019#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {36019#false} is VALID [2018-11-23 12:19:05,487 INFO L273 TraceCheckUtils]: 160: Hoare triple {36019#false} assume true; {36019#false} is VALID [2018-11-23 12:19:05,487 INFO L268 TraceCheckUtils]: 161: Hoare quadruple {36019#false} {36019#false} #77#return; {36019#false} is VALID [2018-11-23 12:19:05,488 INFO L273 TraceCheckUtils]: 162: Hoare triple {36019#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; {36019#false} is VALID [2018-11-23 12:19:05,488 INFO L273 TraceCheckUtils]: 163: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:05,488 INFO L273 TraceCheckUtils]: 164: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:05,488 INFO L273 TraceCheckUtils]: 165: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:05,488 INFO L273 TraceCheckUtils]: 166: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:05,488 INFO L273 TraceCheckUtils]: 167: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:05,488 INFO L273 TraceCheckUtils]: 168: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:05,488 INFO L273 TraceCheckUtils]: 169: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:05,488 INFO L273 TraceCheckUtils]: 170: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:05,488 INFO L273 TraceCheckUtils]: 171: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:05,489 INFO L273 TraceCheckUtils]: 172: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:05,489 INFO L273 TraceCheckUtils]: 173: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:05,489 INFO L273 TraceCheckUtils]: 174: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:05,489 INFO L273 TraceCheckUtils]: 175: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:05,489 INFO L273 TraceCheckUtils]: 176: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:05,489 INFO L273 TraceCheckUtils]: 177: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:05,489 INFO L273 TraceCheckUtils]: 178: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:05,489 INFO L273 TraceCheckUtils]: 179: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:05,489 INFO L273 TraceCheckUtils]: 180: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:05,489 INFO L273 TraceCheckUtils]: 181: Hoare triple {36019#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {36019#false} is VALID [2018-11-23 12:19:05,490 INFO L273 TraceCheckUtils]: 182: Hoare triple {36019#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {36019#false} is VALID [2018-11-23 12:19:05,490 INFO L273 TraceCheckUtils]: 183: Hoare triple {36019#false} assume !(~i~2 < 39); {36019#false} is VALID [2018-11-23 12:19:05,490 INFO L273 TraceCheckUtils]: 184: Hoare triple {36019#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {36019#false} is VALID [2018-11-23 12:19:05,490 INFO L256 TraceCheckUtils]: 185: Hoare triple {36019#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {36019#false} is VALID [2018-11-23 12:19:05,490 INFO L273 TraceCheckUtils]: 186: Hoare triple {36019#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {36019#false} is VALID [2018-11-23 12:19:05,490 INFO L273 TraceCheckUtils]: 187: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,490 INFO L273 TraceCheckUtils]: 188: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,490 INFO L273 TraceCheckUtils]: 189: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,490 INFO L273 TraceCheckUtils]: 190: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,490 INFO L273 TraceCheckUtils]: 191: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,491 INFO L273 TraceCheckUtils]: 192: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,491 INFO L273 TraceCheckUtils]: 193: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,491 INFO L273 TraceCheckUtils]: 194: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,491 INFO L273 TraceCheckUtils]: 195: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,491 INFO L273 TraceCheckUtils]: 196: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,491 INFO L273 TraceCheckUtils]: 197: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,491 INFO L273 TraceCheckUtils]: 198: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,491 INFO L273 TraceCheckUtils]: 199: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,491 INFO L273 TraceCheckUtils]: 200: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,491 INFO L273 TraceCheckUtils]: 201: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,492 INFO L273 TraceCheckUtils]: 202: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,492 INFO L273 TraceCheckUtils]: 203: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,492 INFO L273 TraceCheckUtils]: 204: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,492 INFO L273 TraceCheckUtils]: 205: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,492 INFO L273 TraceCheckUtils]: 206: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,492 INFO L273 TraceCheckUtils]: 207: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,492 INFO L273 TraceCheckUtils]: 208: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,492 INFO L273 TraceCheckUtils]: 209: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,492 INFO L273 TraceCheckUtils]: 210: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,493 INFO L273 TraceCheckUtils]: 211: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,493 INFO L273 TraceCheckUtils]: 212: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,493 INFO L273 TraceCheckUtils]: 213: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,493 INFO L273 TraceCheckUtils]: 214: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,493 INFO L273 TraceCheckUtils]: 215: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,493 INFO L273 TraceCheckUtils]: 216: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,493 INFO L273 TraceCheckUtils]: 217: Hoare triple {36019#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {36019#false} is VALID [2018-11-23 12:19:05,493 INFO L273 TraceCheckUtils]: 218: Hoare triple {36019#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {36019#false} is VALID [2018-11-23 12:19:05,493 INFO L273 TraceCheckUtils]: 219: Hoare triple {36019#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36019#false} is VALID [2018-11-23 12:19:05,493 INFO L273 TraceCheckUtils]: 220: Hoare triple {36019#false} assume !(~i~0 < 40); {36019#false} is VALID [2018-11-23 12:19:05,494 INFO L273 TraceCheckUtils]: 221: Hoare triple {36019#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {36019#false} is VALID [2018-11-23 12:19:05,494 INFO L273 TraceCheckUtils]: 222: Hoare triple {36019#false} assume true; {36019#false} is VALID [2018-11-23 12:19:05,494 INFO L268 TraceCheckUtils]: 223: Hoare quadruple {36019#false} {36019#false} #79#return; {36019#false} is VALID [2018-11-23 12:19:05,494 INFO L273 TraceCheckUtils]: 224: Hoare triple {36019#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {36019#false} is VALID [2018-11-23 12:19:05,494 INFO L273 TraceCheckUtils]: 225: Hoare triple {36019#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {36019#false} is VALID [2018-11-23 12:19:05,494 INFO L273 TraceCheckUtils]: 226: Hoare triple {36019#false} assume !false; {36019#false} is VALID [2018-11-23 12:19:05,516 INFO L134 CoverageAnalysis]: Checked inductivity of 3242 backedges. 0 proven. 1444 refuted. 0 times theorem prover too weak. 1798 trivial. 0 not checked. [2018-11-23 12:19:05,535 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:19:05,536 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [41, 41] total 42 [2018-11-23 12:19:05,536 INFO L78 Accepts]: Start accepts. Automaton has 42 states. Word has length 227 [2018-11-23 12:19:05,537 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:19:05,537 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 42 states. [2018-11-23 12:19:05,654 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:19:05,654 INFO L459 AbstractCegarLoop]: Interpolant automaton has 42 states [2018-11-23 12:19:05,655 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2018-11-23 12:19:05,656 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=861, Invalid=861, Unknown=0, NotChecked=0, Total=1722 [2018-11-23 12:19:05,656 INFO L87 Difference]: Start difference. First operand 152 states and 167 transitions. Second operand 42 states. [2018-11-23 12:19:06,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:06,707 INFO L93 Difference]: Finished difference Result 224 states and 254 transitions. [2018-11-23 12:19:06,707 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2018-11-23 12:19:06,707 INFO L78 Accepts]: Start accepts. Automaton has 42 states. Word has length 227 [2018-11-23 12:19:06,707 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:19:06,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 12:19:06,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 134 transitions. [2018-11-23 12:19:06,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 12:19:06,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 134 transitions. [2018-11-23 12:19:06,709 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states and 134 transitions. [2018-11-23 12:19:06,839 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:19:06,842 INFO L225 Difference]: With dead ends: 224 [2018-11-23 12:19:06,842 INFO L226 Difference]: Without dead ends: 155 [2018-11-23 12:19:06,843 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 267 GetRequests, 227 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=861, Invalid=861, Unknown=0, NotChecked=0, Total=1722 [2018-11-23 12:19:06,844 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states. [2018-11-23 12:19:06,892 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 154. [2018-11-23 12:19:06,893 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:19:06,893 INFO L82 GeneralOperation]: Start isEquivalent. First operand 155 states. Second operand 154 states. [2018-11-23 12:19:06,893 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand 154 states. [2018-11-23 12:19:06,893 INFO L87 Difference]: Start difference. First operand 155 states. Second operand 154 states. [2018-11-23 12:19:06,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:06,896 INFO L93 Difference]: Finished difference Result 155 states and 170 transitions. [2018-11-23 12:19:06,896 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 170 transitions. [2018-11-23 12:19:06,897 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:19:06,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:19:06,897 INFO L74 IsIncluded]: Start isIncluded. First operand 154 states. Second operand 155 states. [2018-11-23 12:19:06,897 INFO L87 Difference]: Start difference. First operand 154 states. Second operand 155 states. [2018-11-23 12:19:06,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:06,899 INFO L93 Difference]: Finished difference Result 155 states and 170 transitions. [2018-11-23 12:19:06,899 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 170 transitions. [2018-11-23 12:19:06,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:19:06,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:19:06,899 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:19:06,899 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:19:06,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 154 states. [2018-11-23 12:19:06,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 154 states to 154 states and 169 transitions. [2018-11-23 12:19:06,901 INFO L78 Accepts]: Start accepts. Automaton has 154 states and 169 transitions. Word has length 227 [2018-11-23 12:19:06,902 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:19:06,902 INFO L480 AbstractCegarLoop]: Abstraction has 154 states and 169 transitions. [2018-11-23 12:19:06,902 INFO L481 AbstractCegarLoop]: Interpolant automaton has 42 states. [2018-11-23 12:19:06,902 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 169 transitions. [2018-11-23 12:19:06,903 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 230 [2018-11-23 12:19:06,903 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:19:06,903 INFO L402 BasicCegarLoop]: trace histogram [39, 39, 33, 33, 33, 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:19:06,903 INFO L423 AbstractCegarLoop]: === Iteration 43 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:19:06,903 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:19:06,904 INFO L82 PathProgramCache]: Analyzing trace with hash -570072795, now seen corresponding path program 39 times [2018-11-23 12:19:06,904 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:19:06,904 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:19:06,904 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:19:06,905 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:19:06,905 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:19:06,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:07,852 INFO L256 TraceCheckUtils]: 0: Hoare triple {37597#true} call ULTIMATE.init(); {37597#true} is VALID [2018-11-23 12:19:07,853 INFO L273 TraceCheckUtils]: 1: Hoare triple {37597#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {37597#true} is VALID [2018-11-23 12:19:07,853 INFO L273 TraceCheckUtils]: 2: Hoare triple {37597#true} assume true; {37597#true} is VALID [2018-11-23 12:19:07,853 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {37597#true} {37597#true} #71#return; {37597#true} is VALID [2018-11-23 12:19:07,853 INFO L256 TraceCheckUtils]: 4: Hoare triple {37597#true} call #t~ret14 := main(); {37597#true} is VALID [2018-11-23 12:19:07,854 INFO L273 TraceCheckUtils]: 5: Hoare triple {37597#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {37599#(= main_~i~1 0)} is VALID [2018-11-23 12:19:07,854 INFO L273 TraceCheckUtils]: 6: Hoare triple {37599#(= main_~i~1 0)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37599#(= main_~i~1 0)} is VALID [2018-11-23 12:19:07,855 INFO L273 TraceCheckUtils]: 7: Hoare triple {37599#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37600#(<= main_~i~1 1)} is VALID [2018-11-23 12:19:07,855 INFO L273 TraceCheckUtils]: 8: Hoare triple {37600#(<= main_~i~1 1)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37600#(<= main_~i~1 1)} is VALID [2018-11-23 12:19:07,856 INFO L273 TraceCheckUtils]: 9: Hoare triple {37600#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37601#(<= main_~i~1 2)} is VALID [2018-11-23 12:19:07,856 INFO L273 TraceCheckUtils]: 10: Hoare triple {37601#(<= main_~i~1 2)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37601#(<= main_~i~1 2)} is VALID [2018-11-23 12:19:07,856 INFO L273 TraceCheckUtils]: 11: Hoare triple {37601#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37602#(<= main_~i~1 3)} is VALID [2018-11-23 12:19:07,857 INFO L273 TraceCheckUtils]: 12: Hoare triple {37602#(<= main_~i~1 3)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37602#(<= main_~i~1 3)} is VALID [2018-11-23 12:19:07,858 INFO L273 TraceCheckUtils]: 13: Hoare triple {37602#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37603#(<= main_~i~1 4)} is VALID [2018-11-23 12:19:07,858 INFO L273 TraceCheckUtils]: 14: Hoare triple {37603#(<= main_~i~1 4)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37603#(<= main_~i~1 4)} is VALID [2018-11-23 12:19:07,859 INFO L273 TraceCheckUtils]: 15: Hoare triple {37603#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37604#(<= main_~i~1 5)} is VALID [2018-11-23 12:19:07,859 INFO L273 TraceCheckUtils]: 16: Hoare triple {37604#(<= main_~i~1 5)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37604#(<= main_~i~1 5)} is VALID [2018-11-23 12:19:07,860 INFO L273 TraceCheckUtils]: 17: Hoare triple {37604#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37605#(<= main_~i~1 6)} is VALID [2018-11-23 12:19:07,860 INFO L273 TraceCheckUtils]: 18: Hoare triple {37605#(<= main_~i~1 6)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37605#(<= main_~i~1 6)} is VALID [2018-11-23 12:19:07,861 INFO L273 TraceCheckUtils]: 19: Hoare triple {37605#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37606#(<= main_~i~1 7)} is VALID [2018-11-23 12:19:07,862 INFO L273 TraceCheckUtils]: 20: Hoare triple {37606#(<= main_~i~1 7)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37606#(<= main_~i~1 7)} is VALID [2018-11-23 12:19:07,862 INFO L273 TraceCheckUtils]: 21: Hoare triple {37606#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37607#(<= main_~i~1 8)} is VALID [2018-11-23 12:19:07,863 INFO L273 TraceCheckUtils]: 22: Hoare triple {37607#(<= main_~i~1 8)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37607#(<= main_~i~1 8)} is VALID [2018-11-23 12:19:07,864 INFO L273 TraceCheckUtils]: 23: Hoare triple {37607#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37608#(<= main_~i~1 9)} is VALID [2018-11-23 12:19:07,864 INFO L273 TraceCheckUtils]: 24: Hoare triple {37608#(<= main_~i~1 9)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37608#(<= main_~i~1 9)} is VALID [2018-11-23 12:19:07,865 INFO L273 TraceCheckUtils]: 25: Hoare triple {37608#(<= main_~i~1 9)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37609#(<= main_~i~1 10)} is VALID [2018-11-23 12:19:07,865 INFO L273 TraceCheckUtils]: 26: Hoare triple {37609#(<= main_~i~1 10)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37609#(<= main_~i~1 10)} is VALID [2018-11-23 12:19:07,866 INFO L273 TraceCheckUtils]: 27: Hoare triple {37609#(<= main_~i~1 10)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37610#(<= main_~i~1 11)} is VALID [2018-11-23 12:19:07,867 INFO L273 TraceCheckUtils]: 28: Hoare triple {37610#(<= main_~i~1 11)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37610#(<= main_~i~1 11)} is VALID [2018-11-23 12:19:07,867 INFO L273 TraceCheckUtils]: 29: Hoare triple {37610#(<= main_~i~1 11)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37611#(<= main_~i~1 12)} is VALID [2018-11-23 12:19:07,868 INFO L273 TraceCheckUtils]: 30: Hoare triple {37611#(<= main_~i~1 12)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37611#(<= main_~i~1 12)} is VALID [2018-11-23 12:19:07,869 INFO L273 TraceCheckUtils]: 31: Hoare triple {37611#(<= main_~i~1 12)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37612#(<= main_~i~1 13)} is VALID [2018-11-23 12:19:07,869 INFO L273 TraceCheckUtils]: 32: Hoare triple {37612#(<= main_~i~1 13)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37612#(<= main_~i~1 13)} is VALID [2018-11-23 12:19:07,870 INFO L273 TraceCheckUtils]: 33: Hoare triple {37612#(<= main_~i~1 13)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37613#(<= main_~i~1 14)} is VALID [2018-11-23 12:19:07,870 INFO L273 TraceCheckUtils]: 34: Hoare triple {37613#(<= main_~i~1 14)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37613#(<= main_~i~1 14)} is VALID [2018-11-23 12:19:07,871 INFO L273 TraceCheckUtils]: 35: Hoare triple {37613#(<= main_~i~1 14)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37614#(<= main_~i~1 15)} is VALID [2018-11-23 12:19:07,871 INFO L273 TraceCheckUtils]: 36: Hoare triple {37614#(<= main_~i~1 15)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37614#(<= main_~i~1 15)} is VALID [2018-11-23 12:19:07,872 INFO L273 TraceCheckUtils]: 37: Hoare triple {37614#(<= main_~i~1 15)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37615#(<= main_~i~1 16)} is VALID [2018-11-23 12:19:07,873 INFO L273 TraceCheckUtils]: 38: Hoare triple {37615#(<= main_~i~1 16)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37615#(<= main_~i~1 16)} is VALID [2018-11-23 12:19:07,873 INFO L273 TraceCheckUtils]: 39: Hoare triple {37615#(<= main_~i~1 16)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37616#(<= main_~i~1 17)} is VALID [2018-11-23 12:19:07,874 INFO L273 TraceCheckUtils]: 40: Hoare triple {37616#(<= main_~i~1 17)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37616#(<= main_~i~1 17)} is VALID [2018-11-23 12:19:07,875 INFO L273 TraceCheckUtils]: 41: Hoare triple {37616#(<= main_~i~1 17)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37617#(<= main_~i~1 18)} is VALID [2018-11-23 12:19:07,875 INFO L273 TraceCheckUtils]: 42: Hoare triple {37617#(<= main_~i~1 18)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37617#(<= main_~i~1 18)} is VALID [2018-11-23 12:19:07,876 INFO L273 TraceCheckUtils]: 43: Hoare triple {37617#(<= main_~i~1 18)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37618#(<= main_~i~1 19)} is VALID [2018-11-23 12:19:07,876 INFO L273 TraceCheckUtils]: 44: Hoare triple {37618#(<= main_~i~1 19)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37618#(<= main_~i~1 19)} is VALID [2018-11-23 12:19:07,877 INFO L273 TraceCheckUtils]: 45: Hoare triple {37618#(<= main_~i~1 19)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37619#(<= main_~i~1 20)} is VALID [2018-11-23 12:19:07,878 INFO L273 TraceCheckUtils]: 46: Hoare triple {37619#(<= main_~i~1 20)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37619#(<= main_~i~1 20)} is VALID [2018-11-23 12:19:07,878 INFO L273 TraceCheckUtils]: 47: Hoare triple {37619#(<= main_~i~1 20)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37620#(<= main_~i~1 21)} is VALID [2018-11-23 12:19:07,879 INFO L273 TraceCheckUtils]: 48: Hoare triple {37620#(<= main_~i~1 21)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37620#(<= main_~i~1 21)} is VALID [2018-11-23 12:19:07,880 INFO L273 TraceCheckUtils]: 49: Hoare triple {37620#(<= main_~i~1 21)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37621#(<= main_~i~1 22)} is VALID [2018-11-23 12:19:07,880 INFO L273 TraceCheckUtils]: 50: Hoare triple {37621#(<= main_~i~1 22)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37621#(<= main_~i~1 22)} is VALID [2018-11-23 12:19:07,881 INFO L273 TraceCheckUtils]: 51: Hoare triple {37621#(<= main_~i~1 22)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37622#(<= main_~i~1 23)} is VALID [2018-11-23 12:19:07,881 INFO L273 TraceCheckUtils]: 52: Hoare triple {37622#(<= main_~i~1 23)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37622#(<= main_~i~1 23)} is VALID [2018-11-23 12:19:07,882 INFO L273 TraceCheckUtils]: 53: Hoare triple {37622#(<= main_~i~1 23)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37623#(<= main_~i~1 24)} is VALID [2018-11-23 12:19:07,882 INFO L273 TraceCheckUtils]: 54: Hoare triple {37623#(<= main_~i~1 24)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37623#(<= main_~i~1 24)} is VALID [2018-11-23 12:19:07,883 INFO L273 TraceCheckUtils]: 55: Hoare triple {37623#(<= main_~i~1 24)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37624#(<= main_~i~1 25)} is VALID [2018-11-23 12:19:07,884 INFO L273 TraceCheckUtils]: 56: Hoare triple {37624#(<= main_~i~1 25)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37624#(<= main_~i~1 25)} is VALID [2018-11-23 12:19:07,884 INFO L273 TraceCheckUtils]: 57: Hoare triple {37624#(<= main_~i~1 25)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37625#(<= main_~i~1 26)} is VALID [2018-11-23 12:19:07,885 INFO L273 TraceCheckUtils]: 58: Hoare triple {37625#(<= main_~i~1 26)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37625#(<= main_~i~1 26)} is VALID [2018-11-23 12:19:07,886 INFO L273 TraceCheckUtils]: 59: Hoare triple {37625#(<= main_~i~1 26)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37626#(<= main_~i~1 27)} is VALID [2018-11-23 12:19:07,886 INFO L273 TraceCheckUtils]: 60: Hoare triple {37626#(<= main_~i~1 27)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37626#(<= main_~i~1 27)} is VALID [2018-11-23 12:19:07,887 INFO L273 TraceCheckUtils]: 61: Hoare triple {37626#(<= main_~i~1 27)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37627#(<= main_~i~1 28)} is VALID [2018-11-23 12:19:07,887 INFO L273 TraceCheckUtils]: 62: Hoare triple {37627#(<= main_~i~1 28)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37627#(<= main_~i~1 28)} is VALID [2018-11-23 12:19:07,888 INFO L273 TraceCheckUtils]: 63: Hoare triple {37627#(<= main_~i~1 28)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37628#(<= main_~i~1 29)} is VALID [2018-11-23 12:19:07,889 INFO L273 TraceCheckUtils]: 64: Hoare triple {37628#(<= main_~i~1 29)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37628#(<= main_~i~1 29)} is VALID [2018-11-23 12:19:07,889 INFO L273 TraceCheckUtils]: 65: Hoare triple {37628#(<= main_~i~1 29)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37629#(<= main_~i~1 30)} is VALID [2018-11-23 12:19:07,890 INFO L273 TraceCheckUtils]: 66: Hoare triple {37629#(<= main_~i~1 30)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37629#(<= main_~i~1 30)} is VALID [2018-11-23 12:19:07,891 INFO L273 TraceCheckUtils]: 67: Hoare triple {37629#(<= main_~i~1 30)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37630#(<= main_~i~1 31)} is VALID [2018-11-23 12:19:07,891 INFO L273 TraceCheckUtils]: 68: Hoare triple {37630#(<= main_~i~1 31)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37630#(<= main_~i~1 31)} is VALID [2018-11-23 12:19:07,892 INFO L273 TraceCheckUtils]: 69: Hoare triple {37630#(<= main_~i~1 31)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37631#(<= main_~i~1 32)} is VALID [2018-11-23 12:19:07,892 INFO L273 TraceCheckUtils]: 70: Hoare triple {37631#(<= main_~i~1 32)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37631#(<= main_~i~1 32)} is VALID [2018-11-23 12:19:07,893 INFO L273 TraceCheckUtils]: 71: Hoare triple {37631#(<= main_~i~1 32)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37632#(<= main_~i~1 33)} is VALID [2018-11-23 12:19:07,894 INFO L273 TraceCheckUtils]: 72: Hoare triple {37632#(<= main_~i~1 33)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37632#(<= main_~i~1 33)} is VALID [2018-11-23 12:19:07,894 INFO L273 TraceCheckUtils]: 73: Hoare triple {37632#(<= main_~i~1 33)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37633#(<= main_~i~1 34)} is VALID [2018-11-23 12:19:07,895 INFO L273 TraceCheckUtils]: 74: Hoare triple {37633#(<= main_~i~1 34)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37633#(<= main_~i~1 34)} is VALID [2018-11-23 12:19:07,895 INFO L273 TraceCheckUtils]: 75: Hoare triple {37633#(<= main_~i~1 34)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37634#(<= main_~i~1 35)} is VALID [2018-11-23 12:19:07,896 INFO L273 TraceCheckUtils]: 76: Hoare triple {37634#(<= main_~i~1 35)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37634#(<= main_~i~1 35)} is VALID [2018-11-23 12:19:07,897 INFO L273 TraceCheckUtils]: 77: Hoare triple {37634#(<= main_~i~1 35)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37635#(<= main_~i~1 36)} is VALID [2018-11-23 12:19:07,897 INFO L273 TraceCheckUtils]: 78: Hoare triple {37635#(<= main_~i~1 36)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37635#(<= main_~i~1 36)} is VALID [2018-11-23 12:19:07,898 INFO L273 TraceCheckUtils]: 79: Hoare triple {37635#(<= main_~i~1 36)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37636#(<= main_~i~1 37)} is VALID [2018-11-23 12:19:07,898 INFO L273 TraceCheckUtils]: 80: Hoare triple {37636#(<= main_~i~1 37)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37636#(<= main_~i~1 37)} is VALID [2018-11-23 12:19:07,899 INFO L273 TraceCheckUtils]: 81: Hoare triple {37636#(<= main_~i~1 37)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37637#(<= main_~i~1 38)} is VALID [2018-11-23 12:19:07,900 INFO L273 TraceCheckUtils]: 82: Hoare triple {37637#(<= main_~i~1 38)} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37637#(<= main_~i~1 38)} is VALID [2018-11-23 12:19:07,900 INFO L273 TraceCheckUtils]: 83: Hoare triple {37637#(<= main_~i~1 38)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37638#(<= main_~i~1 39)} is VALID [2018-11-23 12:19:07,901 INFO L273 TraceCheckUtils]: 84: Hoare triple {37638#(<= main_~i~1 39)} assume !(~i~1 < 40); {37598#false} is VALID [2018-11-23 12:19:07,901 INFO L256 TraceCheckUtils]: 85: Hoare triple {37598#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {37597#true} is VALID [2018-11-23 12:19:07,901 INFO L273 TraceCheckUtils]: 86: Hoare triple {37597#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {37597#true} is VALID [2018-11-23 12:19:07,902 INFO L273 TraceCheckUtils]: 87: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,902 INFO L273 TraceCheckUtils]: 88: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,902 INFO L273 TraceCheckUtils]: 89: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,902 INFO L273 TraceCheckUtils]: 90: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,902 INFO L273 TraceCheckUtils]: 91: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,903 INFO L273 TraceCheckUtils]: 92: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,903 INFO L273 TraceCheckUtils]: 93: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,903 INFO L273 TraceCheckUtils]: 94: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,903 INFO L273 TraceCheckUtils]: 95: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,903 INFO L273 TraceCheckUtils]: 96: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,903 INFO L273 TraceCheckUtils]: 97: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,904 INFO L273 TraceCheckUtils]: 98: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,904 INFO L273 TraceCheckUtils]: 99: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,904 INFO L273 TraceCheckUtils]: 100: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,904 INFO L273 TraceCheckUtils]: 101: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,904 INFO L273 TraceCheckUtils]: 102: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,904 INFO L273 TraceCheckUtils]: 103: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,905 INFO L273 TraceCheckUtils]: 104: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,905 INFO L273 TraceCheckUtils]: 105: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,905 INFO L273 TraceCheckUtils]: 106: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,905 INFO L273 TraceCheckUtils]: 107: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,905 INFO L273 TraceCheckUtils]: 108: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,906 INFO L273 TraceCheckUtils]: 109: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,906 INFO L273 TraceCheckUtils]: 110: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,906 INFO L273 TraceCheckUtils]: 111: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,906 INFO L273 TraceCheckUtils]: 112: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,906 INFO L273 TraceCheckUtils]: 113: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,906 INFO L273 TraceCheckUtils]: 114: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,906 INFO L273 TraceCheckUtils]: 115: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,906 INFO L273 TraceCheckUtils]: 116: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,906 INFO L273 TraceCheckUtils]: 117: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,906 INFO L273 TraceCheckUtils]: 118: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,907 INFO L273 TraceCheckUtils]: 119: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,907 INFO L273 TraceCheckUtils]: 120: Hoare triple {37597#true} assume !(~i~0 < 40); {37597#true} is VALID [2018-11-23 12:19:07,907 INFO L273 TraceCheckUtils]: 121: Hoare triple {37597#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {37597#true} is VALID [2018-11-23 12:19:07,907 INFO L273 TraceCheckUtils]: 122: Hoare triple {37597#true} assume true; {37597#true} is VALID [2018-11-23 12:19:07,907 INFO L268 TraceCheckUtils]: 123: Hoare quadruple {37597#true} {37598#false} #75#return; {37598#false} is VALID [2018-11-23 12:19:07,907 INFO L273 TraceCheckUtils]: 124: Hoare triple {37598#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); {37598#false} is VALID [2018-11-23 12:19:07,907 INFO L256 TraceCheckUtils]: 125: Hoare triple {37598#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {37597#true} is VALID [2018-11-23 12:19:07,907 INFO L273 TraceCheckUtils]: 126: Hoare triple {37597#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {37597#true} is VALID [2018-11-23 12:19:07,907 INFO L273 TraceCheckUtils]: 127: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,908 INFO L273 TraceCheckUtils]: 128: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,908 INFO L273 TraceCheckUtils]: 129: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,908 INFO L273 TraceCheckUtils]: 130: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,908 INFO L273 TraceCheckUtils]: 131: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,908 INFO L273 TraceCheckUtils]: 132: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,908 INFO L273 TraceCheckUtils]: 133: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,908 INFO L273 TraceCheckUtils]: 134: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,908 INFO L273 TraceCheckUtils]: 135: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,908 INFO L273 TraceCheckUtils]: 136: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,908 INFO L273 TraceCheckUtils]: 137: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,909 INFO L273 TraceCheckUtils]: 138: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,909 INFO L273 TraceCheckUtils]: 139: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,909 INFO L273 TraceCheckUtils]: 140: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,909 INFO L273 TraceCheckUtils]: 141: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,909 INFO L273 TraceCheckUtils]: 142: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,909 INFO L273 TraceCheckUtils]: 143: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,909 INFO L273 TraceCheckUtils]: 144: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,909 INFO L273 TraceCheckUtils]: 145: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,909 INFO L273 TraceCheckUtils]: 146: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,909 INFO L273 TraceCheckUtils]: 147: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,910 INFO L273 TraceCheckUtils]: 148: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,910 INFO L273 TraceCheckUtils]: 149: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,910 INFO L273 TraceCheckUtils]: 150: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,910 INFO L273 TraceCheckUtils]: 151: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,910 INFO L273 TraceCheckUtils]: 152: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,910 INFO L273 TraceCheckUtils]: 153: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,910 INFO L273 TraceCheckUtils]: 154: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,910 INFO L273 TraceCheckUtils]: 155: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,910 INFO L273 TraceCheckUtils]: 156: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,910 INFO L273 TraceCheckUtils]: 157: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,911 INFO L273 TraceCheckUtils]: 158: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,911 INFO L273 TraceCheckUtils]: 159: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,911 INFO L273 TraceCheckUtils]: 160: Hoare triple {37597#true} assume !(~i~0 < 40); {37597#true} is VALID [2018-11-23 12:19:07,911 INFO L273 TraceCheckUtils]: 161: Hoare triple {37597#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {37597#true} is VALID [2018-11-23 12:19:07,911 INFO L273 TraceCheckUtils]: 162: Hoare triple {37597#true} assume true; {37597#true} is VALID [2018-11-23 12:19:07,911 INFO L268 TraceCheckUtils]: 163: Hoare quadruple {37597#true} {37598#false} #77#return; {37598#false} is VALID [2018-11-23 12:19:07,911 INFO L273 TraceCheckUtils]: 164: Hoare triple {37598#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; {37598#false} is VALID [2018-11-23 12:19:07,911 INFO L273 TraceCheckUtils]: 165: Hoare triple {37598#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37598#false} is VALID [2018-11-23 12:19:07,911 INFO L273 TraceCheckUtils]: 166: Hoare triple {37598#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37598#false} is VALID [2018-11-23 12:19:07,911 INFO L273 TraceCheckUtils]: 167: Hoare triple {37598#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37598#false} is VALID [2018-11-23 12:19:07,912 INFO L273 TraceCheckUtils]: 168: Hoare triple {37598#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37598#false} is VALID [2018-11-23 12:19:07,912 INFO L273 TraceCheckUtils]: 169: Hoare triple {37598#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37598#false} is VALID [2018-11-23 12:19:07,912 INFO L273 TraceCheckUtils]: 170: Hoare triple {37598#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37598#false} is VALID [2018-11-23 12:19:07,912 INFO L273 TraceCheckUtils]: 171: Hoare triple {37598#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37598#false} is VALID [2018-11-23 12:19:07,912 INFO L273 TraceCheckUtils]: 172: Hoare triple {37598#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37598#false} is VALID [2018-11-23 12:19:07,912 INFO L273 TraceCheckUtils]: 173: Hoare triple {37598#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37598#false} is VALID [2018-11-23 12:19:07,912 INFO L273 TraceCheckUtils]: 174: Hoare triple {37598#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37598#false} is VALID [2018-11-23 12:19:07,912 INFO L273 TraceCheckUtils]: 175: Hoare triple {37598#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37598#false} is VALID [2018-11-23 12:19:07,912 INFO L273 TraceCheckUtils]: 176: Hoare triple {37598#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37598#false} is VALID [2018-11-23 12:19:07,913 INFO L273 TraceCheckUtils]: 177: Hoare triple {37598#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37598#false} is VALID [2018-11-23 12:19:07,913 INFO L273 TraceCheckUtils]: 178: Hoare triple {37598#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37598#false} is VALID [2018-11-23 12:19:07,913 INFO L273 TraceCheckUtils]: 179: Hoare triple {37598#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37598#false} is VALID [2018-11-23 12:19:07,913 INFO L273 TraceCheckUtils]: 180: Hoare triple {37598#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37598#false} is VALID [2018-11-23 12:19:07,913 INFO L273 TraceCheckUtils]: 181: Hoare triple {37598#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37598#false} is VALID [2018-11-23 12:19:07,913 INFO L273 TraceCheckUtils]: 182: Hoare triple {37598#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37598#false} is VALID [2018-11-23 12:19:07,913 INFO L273 TraceCheckUtils]: 183: Hoare triple {37598#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37598#false} is VALID [2018-11-23 12:19:07,913 INFO L273 TraceCheckUtils]: 184: Hoare triple {37598#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37598#false} is VALID [2018-11-23 12:19:07,913 INFO L273 TraceCheckUtils]: 185: Hoare triple {37598#false} assume !(~i~2 < 39); {37598#false} is VALID [2018-11-23 12:19:07,913 INFO L273 TraceCheckUtils]: 186: Hoare triple {37598#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {37598#false} is VALID [2018-11-23 12:19:07,914 INFO L256 TraceCheckUtils]: 187: Hoare triple {37598#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {37597#true} is VALID [2018-11-23 12:19:07,914 INFO L273 TraceCheckUtils]: 188: Hoare triple {37597#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {37597#true} is VALID [2018-11-23 12:19:07,914 INFO L273 TraceCheckUtils]: 189: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,914 INFO L273 TraceCheckUtils]: 190: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,914 INFO L273 TraceCheckUtils]: 191: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,914 INFO L273 TraceCheckUtils]: 192: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,914 INFO L273 TraceCheckUtils]: 193: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,914 INFO L273 TraceCheckUtils]: 194: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,914 INFO L273 TraceCheckUtils]: 195: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,914 INFO L273 TraceCheckUtils]: 196: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,915 INFO L273 TraceCheckUtils]: 197: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,915 INFO L273 TraceCheckUtils]: 198: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,915 INFO L273 TraceCheckUtils]: 199: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,915 INFO L273 TraceCheckUtils]: 200: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,915 INFO L273 TraceCheckUtils]: 201: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,915 INFO L273 TraceCheckUtils]: 202: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,915 INFO L273 TraceCheckUtils]: 203: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,915 INFO L273 TraceCheckUtils]: 204: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,915 INFO L273 TraceCheckUtils]: 205: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,915 INFO L273 TraceCheckUtils]: 206: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,916 INFO L273 TraceCheckUtils]: 207: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,916 INFO L273 TraceCheckUtils]: 208: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,916 INFO L273 TraceCheckUtils]: 209: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,916 INFO L273 TraceCheckUtils]: 210: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,916 INFO L273 TraceCheckUtils]: 211: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,916 INFO L273 TraceCheckUtils]: 212: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,916 INFO L273 TraceCheckUtils]: 213: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,916 INFO L273 TraceCheckUtils]: 214: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,916 INFO L273 TraceCheckUtils]: 215: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,916 INFO L273 TraceCheckUtils]: 216: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,917 INFO L273 TraceCheckUtils]: 217: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,917 INFO L273 TraceCheckUtils]: 218: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,917 INFO L273 TraceCheckUtils]: 219: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:07,917 INFO L273 TraceCheckUtils]: 220: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:07,917 INFO L273 TraceCheckUtils]: 221: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:07,917 INFO L273 TraceCheckUtils]: 222: Hoare triple {37597#true} assume !(~i~0 < 40); {37597#true} is VALID [2018-11-23 12:19:07,917 INFO L273 TraceCheckUtils]: 223: Hoare triple {37597#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {37597#true} is VALID [2018-11-23 12:19:07,917 INFO L273 TraceCheckUtils]: 224: Hoare triple {37597#true} assume true; {37597#true} is VALID [2018-11-23 12:19:07,917 INFO L268 TraceCheckUtils]: 225: Hoare quadruple {37597#true} {37598#false} #79#return; {37598#false} is VALID [2018-11-23 12:19:07,917 INFO L273 TraceCheckUtils]: 226: Hoare triple {37598#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {37598#false} is VALID [2018-11-23 12:19:07,918 INFO L273 TraceCheckUtils]: 227: Hoare triple {37598#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {37598#false} is VALID [2018-11-23 12:19:07,918 INFO L273 TraceCheckUtils]: 228: Hoare triple {37598#false} assume !false; {37598#false} is VALID [2018-11-23 12:19:07,940 INFO L134 CoverageAnalysis]: Checked inductivity of 3319 backedges. 0 proven. 1521 refuted. 0 times theorem prover too weak. 1798 trivial. 0 not checked. [2018-11-23 12:19:07,941 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:19:07,941 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:19:07,958 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:19:08,666 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 12 check-sat command(s) [2018-11-23 12:19:08,666 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:19:08,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:08,709 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:19:09,807 INFO L256 TraceCheckUtils]: 0: Hoare triple {37597#true} call ULTIMATE.init(); {37597#true} is VALID [2018-11-23 12:19:09,807 INFO L273 TraceCheckUtils]: 1: Hoare triple {37597#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {37597#true} is VALID [2018-11-23 12:19:09,807 INFO L273 TraceCheckUtils]: 2: Hoare triple {37597#true} assume true; {37597#true} is VALID [2018-11-23 12:19:09,808 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {37597#true} {37597#true} #71#return; {37597#true} is VALID [2018-11-23 12:19:09,808 INFO L256 TraceCheckUtils]: 4: Hoare triple {37597#true} call #t~ret14 := main(); {37597#true} is VALID [2018-11-23 12:19:09,808 INFO L273 TraceCheckUtils]: 5: Hoare triple {37597#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {37597#true} is VALID [2018-11-23 12:19:09,808 INFO L273 TraceCheckUtils]: 6: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,808 INFO L273 TraceCheckUtils]: 7: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,809 INFO L273 TraceCheckUtils]: 8: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,809 INFO L273 TraceCheckUtils]: 9: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,809 INFO L273 TraceCheckUtils]: 10: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,809 INFO L273 TraceCheckUtils]: 11: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,809 INFO L273 TraceCheckUtils]: 12: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,809 INFO L273 TraceCheckUtils]: 13: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,810 INFO L273 TraceCheckUtils]: 14: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,810 INFO L273 TraceCheckUtils]: 15: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,810 INFO L273 TraceCheckUtils]: 16: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,810 INFO L273 TraceCheckUtils]: 17: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,810 INFO L273 TraceCheckUtils]: 18: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,810 INFO L273 TraceCheckUtils]: 19: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,810 INFO L273 TraceCheckUtils]: 20: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,811 INFO L273 TraceCheckUtils]: 21: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,811 INFO L273 TraceCheckUtils]: 22: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,811 INFO L273 TraceCheckUtils]: 23: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,811 INFO L273 TraceCheckUtils]: 24: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,811 INFO L273 TraceCheckUtils]: 25: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,811 INFO L273 TraceCheckUtils]: 26: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,811 INFO L273 TraceCheckUtils]: 27: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,811 INFO L273 TraceCheckUtils]: 28: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,811 INFO L273 TraceCheckUtils]: 29: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,811 INFO L273 TraceCheckUtils]: 30: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,812 INFO L273 TraceCheckUtils]: 31: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,812 INFO L273 TraceCheckUtils]: 32: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,812 INFO L273 TraceCheckUtils]: 33: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,812 INFO L273 TraceCheckUtils]: 34: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,812 INFO L273 TraceCheckUtils]: 35: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,812 INFO L273 TraceCheckUtils]: 36: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,812 INFO L273 TraceCheckUtils]: 37: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,812 INFO L273 TraceCheckUtils]: 38: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,812 INFO L273 TraceCheckUtils]: 39: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,812 INFO L273 TraceCheckUtils]: 40: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,813 INFO L273 TraceCheckUtils]: 41: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,813 INFO L273 TraceCheckUtils]: 42: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,813 INFO L273 TraceCheckUtils]: 43: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,813 INFO L273 TraceCheckUtils]: 44: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,813 INFO L273 TraceCheckUtils]: 45: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,813 INFO L273 TraceCheckUtils]: 46: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,813 INFO L273 TraceCheckUtils]: 47: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,813 INFO L273 TraceCheckUtils]: 48: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,813 INFO L273 TraceCheckUtils]: 49: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,813 INFO L273 TraceCheckUtils]: 50: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,814 INFO L273 TraceCheckUtils]: 51: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,814 INFO L273 TraceCheckUtils]: 52: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,814 INFO L273 TraceCheckUtils]: 53: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,814 INFO L273 TraceCheckUtils]: 54: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,814 INFO L273 TraceCheckUtils]: 55: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,814 INFO L273 TraceCheckUtils]: 56: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,814 INFO L273 TraceCheckUtils]: 57: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,814 INFO L273 TraceCheckUtils]: 58: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,814 INFO L273 TraceCheckUtils]: 59: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,814 INFO L273 TraceCheckUtils]: 60: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,815 INFO L273 TraceCheckUtils]: 61: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,815 INFO L273 TraceCheckUtils]: 62: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,815 INFO L273 TraceCheckUtils]: 63: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,815 INFO L273 TraceCheckUtils]: 64: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,815 INFO L273 TraceCheckUtils]: 65: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,815 INFO L273 TraceCheckUtils]: 66: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,815 INFO L273 TraceCheckUtils]: 67: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,815 INFO L273 TraceCheckUtils]: 68: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,815 INFO L273 TraceCheckUtils]: 69: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,816 INFO L273 TraceCheckUtils]: 70: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,816 INFO L273 TraceCheckUtils]: 71: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,816 INFO L273 TraceCheckUtils]: 72: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,816 INFO L273 TraceCheckUtils]: 73: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,816 INFO L273 TraceCheckUtils]: 74: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,816 INFO L273 TraceCheckUtils]: 75: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,816 INFO L273 TraceCheckUtils]: 76: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,816 INFO L273 TraceCheckUtils]: 77: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,816 INFO L273 TraceCheckUtils]: 78: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,816 INFO L273 TraceCheckUtils]: 79: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,817 INFO L273 TraceCheckUtils]: 80: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,817 INFO L273 TraceCheckUtils]: 81: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,817 INFO L273 TraceCheckUtils]: 82: Hoare triple {37597#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {37597#true} is VALID [2018-11-23 12:19:09,817 INFO L273 TraceCheckUtils]: 83: Hoare triple {37597#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {37597#true} is VALID [2018-11-23 12:19:09,817 INFO L273 TraceCheckUtils]: 84: Hoare triple {37597#true} assume !(~i~1 < 40); {37597#true} is VALID [2018-11-23 12:19:09,817 INFO L256 TraceCheckUtils]: 85: Hoare triple {37597#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {37597#true} is VALID [2018-11-23 12:19:09,817 INFO L273 TraceCheckUtils]: 86: Hoare triple {37597#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {37597#true} is VALID [2018-11-23 12:19:09,817 INFO L273 TraceCheckUtils]: 87: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,817 INFO L273 TraceCheckUtils]: 88: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,817 INFO L273 TraceCheckUtils]: 89: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,818 INFO L273 TraceCheckUtils]: 90: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,818 INFO L273 TraceCheckUtils]: 91: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,818 INFO L273 TraceCheckUtils]: 92: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,818 INFO L273 TraceCheckUtils]: 93: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,818 INFO L273 TraceCheckUtils]: 94: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,818 INFO L273 TraceCheckUtils]: 95: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,818 INFO L273 TraceCheckUtils]: 96: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,818 INFO L273 TraceCheckUtils]: 97: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,818 INFO L273 TraceCheckUtils]: 98: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,818 INFO L273 TraceCheckUtils]: 99: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,819 INFO L273 TraceCheckUtils]: 100: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,819 INFO L273 TraceCheckUtils]: 101: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,819 INFO L273 TraceCheckUtils]: 102: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,819 INFO L273 TraceCheckUtils]: 103: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,819 INFO L273 TraceCheckUtils]: 104: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,819 INFO L273 TraceCheckUtils]: 105: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,819 INFO L273 TraceCheckUtils]: 106: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,819 INFO L273 TraceCheckUtils]: 107: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,819 INFO L273 TraceCheckUtils]: 108: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,819 INFO L273 TraceCheckUtils]: 109: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,820 INFO L273 TraceCheckUtils]: 110: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,820 INFO L273 TraceCheckUtils]: 111: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,820 INFO L273 TraceCheckUtils]: 112: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,820 INFO L273 TraceCheckUtils]: 113: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,820 INFO L273 TraceCheckUtils]: 114: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,820 INFO L273 TraceCheckUtils]: 115: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,820 INFO L273 TraceCheckUtils]: 116: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,820 INFO L273 TraceCheckUtils]: 117: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,820 INFO L273 TraceCheckUtils]: 118: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,821 INFO L273 TraceCheckUtils]: 119: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,821 INFO L273 TraceCheckUtils]: 120: Hoare triple {37597#true} assume !(~i~0 < 40); {37597#true} is VALID [2018-11-23 12:19:09,821 INFO L273 TraceCheckUtils]: 121: Hoare triple {37597#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {37597#true} is VALID [2018-11-23 12:19:09,821 INFO L273 TraceCheckUtils]: 122: Hoare triple {37597#true} assume true; {37597#true} is VALID [2018-11-23 12:19:09,821 INFO L268 TraceCheckUtils]: 123: Hoare quadruple {37597#true} {37597#true} #75#return; {37597#true} is VALID [2018-11-23 12:19:09,821 INFO L273 TraceCheckUtils]: 124: Hoare triple {37597#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); {37597#true} is VALID [2018-11-23 12:19:09,821 INFO L256 TraceCheckUtils]: 125: Hoare triple {37597#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {37597#true} is VALID [2018-11-23 12:19:09,821 INFO L273 TraceCheckUtils]: 126: Hoare triple {37597#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {37597#true} is VALID [2018-11-23 12:19:09,821 INFO L273 TraceCheckUtils]: 127: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,821 INFO L273 TraceCheckUtils]: 128: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,822 INFO L273 TraceCheckUtils]: 129: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,822 INFO L273 TraceCheckUtils]: 130: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,822 INFO L273 TraceCheckUtils]: 131: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,822 INFO L273 TraceCheckUtils]: 132: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,822 INFO L273 TraceCheckUtils]: 133: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,822 INFO L273 TraceCheckUtils]: 134: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,822 INFO L273 TraceCheckUtils]: 135: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,822 INFO L273 TraceCheckUtils]: 136: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,822 INFO L273 TraceCheckUtils]: 137: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,823 INFO L273 TraceCheckUtils]: 138: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,823 INFO L273 TraceCheckUtils]: 139: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,823 INFO L273 TraceCheckUtils]: 140: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,823 INFO L273 TraceCheckUtils]: 141: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,823 INFO L273 TraceCheckUtils]: 142: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,823 INFO L273 TraceCheckUtils]: 143: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,823 INFO L273 TraceCheckUtils]: 144: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,823 INFO L273 TraceCheckUtils]: 145: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,823 INFO L273 TraceCheckUtils]: 146: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,823 INFO L273 TraceCheckUtils]: 147: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,824 INFO L273 TraceCheckUtils]: 148: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,824 INFO L273 TraceCheckUtils]: 149: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,824 INFO L273 TraceCheckUtils]: 150: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,824 INFO L273 TraceCheckUtils]: 151: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,824 INFO L273 TraceCheckUtils]: 152: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,824 INFO L273 TraceCheckUtils]: 153: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,824 INFO L273 TraceCheckUtils]: 154: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,824 INFO L273 TraceCheckUtils]: 155: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,824 INFO L273 TraceCheckUtils]: 156: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,824 INFO L273 TraceCheckUtils]: 157: Hoare triple {37597#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {37597#true} is VALID [2018-11-23 12:19:09,825 INFO L273 TraceCheckUtils]: 158: Hoare triple {37597#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {37597#true} is VALID [2018-11-23 12:19:09,825 INFO L273 TraceCheckUtils]: 159: Hoare triple {37597#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37597#true} is VALID [2018-11-23 12:19:09,825 INFO L273 TraceCheckUtils]: 160: Hoare triple {37597#true} assume !(~i~0 < 40); {37597#true} is VALID [2018-11-23 12:19:09,825 INFO L273 TraceCheckUtils]: 161: Hoare triple {37597#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {37597#true} is VALID [2018-11-23 12:19:09,825 INFO L273 TraceCheckUtils]: 162: Hoare triple {37597#true} assume true; {37597#true} is VALID [2018-11-23 12:19:09,825 INFO L268 TraceCheckUtils]: 163: Hoare quadruple {37597#true} {37597#true} #77#return; {37597#true} is VALID [2018-11-23 12:19:09,825 INFO L273 TraceCheckUtils]: 164: Hoare triple {37597#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; {37597#true} is VALID [2018-11-23 12:19:09,825 INFO L273 TraceCheckUtils]: 165: Hoare triple {37597#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37597#true} is VALID [2018-11-23 12:19:09,825 INFO L273 TraceCheckUtils]: 166: Hoare triple {37597#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37597#true} is VALID [2018-11-23 12:19:09,825 INFO L273 TraceCheckUtils]: 167: Hoare triple {37597#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37597#true} is VALID [2018-11-23 12:19:09,826 INFO L273 TraceCheckUtils]: 168: Hoare triple {37597#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37597#true} is VALID [2018-11-23 12:19:09,826 INFO L273 TraceCheckUtils]: 169: Hoare triple {37597#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37597#true} is VALID [2018-11-23 12:19:09,826 INFO L273 TraceCheckUtils]: 170: Hoare triple {37597#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37597#true} is VALID [2018-11-23 12:19:09,826 INFO L273 TraceCheckUtils]: 171: Hoare triple {37597#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37597#true} is VALID [2018-11-23 12:19:09,826 INFO L273 TraceCheckUtils]: 172: Hoare triple {37597#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37597#true} is VALID [2018-11-23 12:19:09,826 INFO L273 TraceCheckUtils]: 173: Hoare triple {37597#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37597#true} is VALID [2018-11-23 12:19:09,826 INFO L273 TraceCheckUtils]: 174: Hoare triple {37597#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37597#true} is VALID [2018-11-23 12:19:09,826 INFO L273 TraceCheckUtils]: 175: Hoare triple {37597#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37597#true} is VALID [2018-11-23 12:19:09,826 INFO L273 TraceCheckUtils]: 176: Hoare triple {37597#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37597#true} is VALID [2018-11-23 12:19:09,827 INFO L273 TraceCheckUtils]: 177: Hoare triple {37597#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37597#true} is VALID [2018-11-23 12:19:09,827 INFO L273 TraceCheckUtils]: 178: Hoare triple {37597#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37597#true} is VALID [2018-11-23 12:19:09,827 INFO L273 TraceCheckUtils]: 179: Hoare triple {37597#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37597#true} is VALID [2018-11-23 12:19:09,827 INFO L273 TraceCheckUtils]: 180: Hoare triple {37597#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37597#true} is VALID [2018-11-23 12:19:09,827 INFO L273 TraceCheckUtils]: 181: Hoare triple {37597#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37597#true} is VALID [2018-11-23 12:19:09,827 INFO L273 TraceCheckUtils]: 182: Hoare triple {37597#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37597#true} is VALID [2018-11-23 12:19:09,827 INFO L273 TraceCheckUtils]: 183: Hoare triple {37597#true} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {37597#true} is VALID [2018-11-23 12:19:09,827 INFO L273 TraceCheckUtils]: 184: Hoare triple {37597#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {37597#true} is VALID [2018-11-23 12:19:09,827 INFO L273 TraceCheckUtils]: 185: Hoare triple {37597#true} assume !(~i~2 < 39); {37597#true} is VALID [2018-11-23 12:19:09,827 INFO L273 TraceCheckUtils]: 186: Hoare triple {37597#true} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {37597#true} is VALID [2018-11-23 12:19:09,828 INFO L256 TraceCheckUtils]: 187: Hoare triple {37597#true} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {37597#true} is VALID [2018-11-23 12:19:09,828 INFO L273 TraceCheckUtils]: 188: Hoare triple {37597#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {38206#(<= sep_~i~0 0)} is VALID [2018-11-23 12:19:09,828 INFO L273 TraceCheckUtils]: 189: Hoare triple {38206#(<= sep_~i~0 0)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {38206#(<= sep_~i~0 0)} is VALID [2018-11-23 12:19:09,829 INFO L273 TraceCheckUtils]: 190: Hoare triple {38206#(<= 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; {38206#(<= sep_~i~0 0)} is VALID [2018-11-23 12:19:09,829 INFO L273 TraceCheckUtils]: 191: Hoare triple {38206#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {38216#(<= sep_~i~0 1)} is VALID [2018-11-23 12:19:09,829 INFO L273 TraceCheckUtils]: 192: Hoare triple {38216#(<= sep_~i~0 1)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {38216#(<= sep_~i~0 1)} is VALID [2018-11-23 12:19:09,830 INFO L273 TraceCheckUtils]: 193: Hoare triple {38216#(<= 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; {38216#(<= sep_~i~0 1)} is VALID [2018-11-23 12:19:09,830 INFO L273 TraceCheckUtils]: 194: Hoare triple {38216#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {38226#(<= sep_~i~0 2)} is VALID [2018-11-23 12:19:09,830 INFO L273 TraceCheckUtils]: 195: Hoare triple {38226#(<= sep_~i~0 2)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {38226#(<= sep_~i~0 2)} is VALID [2018-11-23 12:19:09,831 INFO L273 TraceCheckUtils]: 196: Hoare triple {38226#(<= 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; {38226#(<= sep_~i~0 2)} is VALID [2018-11-23 12:19:09,831 INFO L273 TraceCheckUtils]: 197: Hoare triple {38226#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {38236#(<= sep_~i~0 3)} is VALID [2018-11-23 12:19:09,832 INFO L273 TraceCheckUtils]: 198: Hoare triple {38236#(<= sep_~i~0 3)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {38236#(<= sep_~i~0 3)} is VALID [2018-11-23 12:19:09,832 INFO L273 TraceCheckUtils]: 199: Hoare triple {38236#(<= 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; {38236#(<= sep_~i~0 3)} is VALID [2018-11-23 12:19:09,833 INFO L273 TraceCheckUtils]: 200: Hoare triple {38236#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {38246#(<= sep_~i~0 4)} is VALID [2018-11-23 12:19:09,833 INFO L273 TraceCheckUtils]: 201: Hoare triple {38246#(<= sep_~i~0 4)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {38246#(<= sep_~i~0 4)} is VALID [2018-11-23 12:19:09,834 INFO L273 TraceCheckUtils]: 202: Hoare triple {38246#(<= 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; {38246#(<= sep_~i~0 4)} is VALID [2018-11-23 12:19:09,834 INFO L273 TraceCheckUtils]: 203: Hoare triple {38246#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {38256#(<= sep_~i~0 5)} is VALID [2018-11-23 12:19:09,835 INFO L273 TraceCheckUtils]: 204: Hoare triple {38256#(<= sep_~i~0 5)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {38256#(<= sep_~i~0 5)} is VALID [2018-11-23 12:19:09,835 INFO L273 TraceCheckUtils]: 205: Hoare triple {38256#(<= 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; {38256#(<= sep_~i~0 5)} is VALID [2018-11-23 12:19:09,836 INFO L273 TraceCheckUtils]: 206: Hoare triple {38256#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {38266#(<= sep_~i~0 6)} is VALID [2018-11-23 12:19:09,837 INFO L273 TraceCheckUtils]: 207: Hoare triple {38266#(<= sep_~i~0 6)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {38266#(<= sep_~i~0 6)} is VALID [2018-11-23 12:19:09,837 INFO L273 TraceCheckUtils]: 208: Hoare triple {38266#(<= 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; {38266#(<= sep_~i~0 6)} is VALID [2018-11-23 12:19:09,838 INFO L273 TraceCheckUtils]: 209: Hoare triple {38266#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {38276#(<= sep_~i~0 7)} is VALID [2018-11-23 12:19:09,838 INFO L273 TraceCheckUtils]: 210: Hoare triple {38276#(<= sep_~i~0 7)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {38276#(<= sep_~i~0 7)} is VALID [2018-11-23 12:19:09,839 INFO L273 TraceCheckUtils]: 211: Hoare triple {38276#(<= 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; {38276#(<= sep_~i~0 7)} is VALID [2018-11-23 12:19:09,840 INFO L273 TraceCheckUtils]: 212: Hoare triple {38276#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {38286#(<= sep_~i~0 8)} is VALID [2018-11-23 12:19:09,840 INFO L273 TraceCheckUtils]: 213: Hoare triple {38286#(<= sep_~i~0 8)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {38286#(<= sep_~i~0 8)} is VALID [2018-11-23 12:19:09,841 INFO L273 TraceCheckUtils]: 214: Hoare triple {38286#(<= 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; {38286#(<= sep_~i~0 8)} is VALID [2018-11-23 12:19:09,841 INFO L273 TraceCheckUtils]: 215: Hoare triple {38286#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {38296#(<= sep_~i~0 9)} is VALID [2018-11-23 12:19:09,842 INFO L273 TraceCheckUtils]: 216: Hoare triple {38296#(<= sep_~i~0 9)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {38296#(<= sep_~i~0 9)} is VALID [2018-11-23 12:19:09,842 INFO L273 TraceCheckUtils]: 217: Hoare triple {38296#(<= 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; {38296#(<= sep_~i~0 9)} is VALID [2018-11-23 12:19:09,843 INFO L273 TraceCheckUtils]: 218: Hoare triple {38296#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {38306#(<= sep_~i~0 10)} is VALID [2018-11-23 12:19:09,844 INFO L273 TraceCheckUtils]: 219: Hoare triple {38306#(<= sep_~i~0 10)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {38306#(<= sep_~i~0 10)} is VALID [2018-11-23 12:19:09,844 INFO L273 TraceCheckUtils]: 220: Hoare triple {38306#(<= 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; {38306#(<= sep_~i~0 10)} is VALID [2018-11-23 12:19:09,845 INFO L273 TraceCheckUtils]: 221: Hoare triple {38306#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {38316#(<= sep_~i~0 11)} is VALID [2018-11-23 12:19:09,845 INFO L273 TraceCheckUtils]: 222: Hoare triple {38316#(<= sep_~i~0 11)} assume !(~i~0 < 40); {37598#false} is VALID [2018-11-23 12:19:09,846 INFO L273 TraceCheckUtils]: 223: Hoare triple {37598#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {37598#false} is VALID [2018-11-23 12:19:09,846 INFO L273 TraceCheckUtils]: 224: Hoare triple {37598#false} assume true; {37598#false} is VALID [2018-11-23 12:19:09,846 INFO L268 TraceCheckUtils]: 225: Hoare quadruple {37598#false} {37597#true} #79#return; {37598#false} is VALID [2018-11-23 12:19:09,846 INFO L273 TraceCheckUtils]: 226: Hoare triple {37598#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {37598#false} is VALID [2018-11-23 12:19:09,846 INFO L273 TraceCheckUtils]: 227: Hoare triple {37598#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {37598#false} is VALID [2018-11-23 12:19:09,846 INFO L273 TraceCheckUtils]: 228: Hoare triple {37598#false} assume !false; {37598#false} is VALID [2018-11-23 12:19:09,868 INFO L134 CoverageAnalysis]: Checked inductivity of 3319 backedges. 778 proven. 176 refuted. 0 times theorem prover too weak. 2365 trivial. 0 not checked. [2018-11-23 12:19:09,889 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:19:09,889 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [42, 14] total 54 [2018-11-23 12:19:09,889 INFO L78 Accepts]: Start accepts. Automaton has 54 states. Word has length 229 [2018-11-23 12:19:09,890 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:19:09,890 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 54 states. [2018-11-23 12:19:10,051 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 160 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:19:10,051 INFO L459 AbstractCegarLoop]: Interpolant automaton has 54 states [2018-11-23 12:19:10,052 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 54 interpolants. [2018-11-23 12:19:10,053 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=951, Invalid=1911, Unknown=0, NotChecked=0, Total=2862 [2018-11-23 12:19:10,053 INFO L87 Difference]: Start difference. First operand 154 states and 169 transitions. Second operand 54 states. [2018-11-23 12:19:10,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:10,770 INFO L93 Difference]: Finished difference Result 230 states and 266 transitions. [2018-11-23 12:19:10,770 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 54 states. [2018-11-23 12:19:10,770 INFO L78 Accepts]: Start accepts. Automaton has 54 states. Word has length 229 [2018-11-23 12:19:10,770 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:19:10,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-23 12:19:10,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 187 transitions. [2018-11-23 12:19:10,774 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-23 12:19:10,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 187 transitions. [2018-11-23 12:19:10,778 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 54 states and 187 transitions. [2018-11-23 12:19:10,984 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 187 edges. 187 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:19:10,987 INFO L225 Difference]: With dead ends: 230 [2018-11-23 12:19:10,987 INFO L226 Difference]: Without dead ends: 161 [2018-11-23 12:19:10,988 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 270 GetRequests, 218 SyntacticMatches, 0 SemanticMatches, 52 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 468 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=951, Invalid=1911, Unknown=0, NotChecked=0, Total=2862 [2018-11-23 12:19:10,988 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2018-11-23 12:19:11,046 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 159. [2018-11-23 12:19:11,046 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:19:11,046 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand 159 states. [2018-11-23 12:19:11,046 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand 159 states. [2018-11-23 12:19:11,047 INFO L87 Difference]: Start difference. First operand 161 states. Second operand 159 states. [2018-11-23 12:19:11,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:11,052 INFO L93 Difference]: Finished difference Result 161 states and 178 transitions. [2018-11-23 12:19:11,053 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 178 transitions. [2018-11-23 12:19:11,053 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:19:11,053 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:19:11,053 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand 161 states. [2018-11-23 12:19:11,053 INFO L87 Difference]: Start difference. First operand 159 states. Second operand 161 states. [2018-11-23 12:19:11,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:11,058 INFO L93 Difference]: Finished difference Result 161 states and 178 transitions. [2018-11-23 12:19:11,058 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 178 transitions. [2018-11-23 12:19:11,058 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:19:11,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:19:11,059 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:19:11,059 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:19:11,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 159 states. [2018-11-23 12:19:11,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 159 states to 159 states and 175 transitions. [2018-11-23 12:19:11,064 INFO L78 Accepts]: Start accepts. Automaton has 159 states and 175 transitions. Word has length 229 [2018-11-23 12:19:11,064 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:19:11,064 INFO L480 AbstractCegarLoop]: Abstraction has 159 states and 175 transitions. [2018-11-23 12:19:11,064 INFO L481 AbstractCegarLoop]: Interpolant automaton has 54 states. [2018-11-23 12:19:11,064 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 175 transitions. [2018-11-23 12:19:11,065 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 241 [2018-11-23 12:19:11,065 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:19:11,065 INFO L402 BasicCegarLoop]: trace histogram [40, 40, 36, 36, 36, 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:19:11,066 INFO L423 AbstractCegarLoop]: === Iteration 44 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:19:11,066 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:19:11,066 INFO L82 PathProgramCache]: Analyzing trace with hash -1307781390, now seen corresponding path program 40 times [2018-11-23 12:19:11,066 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:19:11,066 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:19:11,067 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:19:11,067 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:19:11,067 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:19:11,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:11,526 INFO L256 TraceCheckUtils]: 0: Hoare triple {39221#true} call ULTIMATE.init(); {39221#true} is VALID [2018-11-23 12:19:11,526 INFO L273 TraceCheckUtils]: 1: Hoare triple {39221#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {39221#true} is VALID [2018-11-23 12:19:11,527 INFO L273 TraceCheckUtils]: 2: Hoare triple {39221#true} assume true; {39221#true} is VALID [2018-11-23 12:19:11,527 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {39221#true} {39221#true} #71#return; {39221#true} is VALID [2018-11-23 12:19:11,527 INFO L256 TraceCheckUtils]: 4: Hoare triple {39221#true} call #t~ret14 := main(); {39221#true} is VALID [2018-11-23 12:19:11,528 INFO L273 TraceCheckUtils]: 5: Hoare triple {39221#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {39221#true} is VALID [2018-11-23 12:19:11,528 INFO L273 TraceCheckUtils]: 6: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,528 INFO L273 TraceCheckUtils]: 7: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,528 INFO L273 TraceCheckUtils]: 8: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,528 INFO L273 TraceCheckUtils]: 9: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,528 INFO L273 TraceCheckUtils]: 10: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,529 INFO L273 TraceCheckUtils]: 11: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,529 INFO L273 TraceCheckUtils]: 12: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,529 INFO L273 TraceCheckUtils]: 13: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,529 INFO L273 TraceCheckUtils]: 14: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,529 INFO L273 TraceCheckUtils]: 15: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,529 INFO L273 TraceCheckUtils]: 16: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,529 INFO L273 TraceCheckUtils]: 17: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,529 INFO L273 TraceCheckUtils]: 18: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,529 INFO L273 TraceCheckUtils]: 19: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,529 INFO L273 TraceCheckUtils]: 20: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,530 INFO L273 TraceCheckUtils]: 21: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,530 INFO L273 TraceCheckUtils]: 22: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,530 INFO L273 TraceCheckUtils]: 23: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,530 INFO L273 TraceCheckUtils]: 24: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,530 INFO L273 TraceCheckUtils]: 25: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,530 INFO L273 TraceCheckUtils]: 26: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,530 INFO L273 TraceCheckUtils]: 27: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,530 INFO L273 TraceCheckUtils]: 28: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,530 INFO L273 TraceCheckUtils]: 29: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,531 INFO L273 TraceCheckUtils]: 30: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,531 INFO L273 TraceCheckUtils]: 31: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,531 INFO L273 TraceCheckUtils]: 32: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,531 INFO L273 TraceCheckUtils]: 33: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,531 INFO L273 TraceCheckUtils]: 34: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,531 INFO L273 TraceCheckUtils]: 35: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,531 INFO L273 TraceCheckUtils]: 36: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,531 INFO L273 TraceCheckUtils]: 37: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,531 INFO L273 TraceCheckUtils]: 38: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,531 INFO L273 TraceCheckUtils]: 39: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,532 INFO L273 TraceCheckUtils]: 40: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,532 INFO L273 TraceCheckUtils]: 41: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,532 INFO L273 TraceCheckUtils]: 42: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,532 INFO L273 TraceCheckUtils]: 43: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,532 INFO L273 TraceCheckUtils]: 44: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,532 INFO L273 TraceCheckUtils]: 45: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,532 INFO L273 TraceCheckUtils]: 46: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,532 INFO L273 TraceCheckUtils]: 47: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,532 INFO L273 TraceCheckUtils]: 48: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,532 INFO L273 TraceCheckUtils]: 49: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,533 INFO L273 TraceCheckUtils]: 50: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,533 INFO L273 TraceCheckUtils]: 51: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,533 INFO L273 TraceCheckUtils]: 52: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,533 INFO L273 TraceCheckUtils]: 53: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,533 INFO L273 TraceCheckUtils]: 54: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,533 INFO L273 TraceCheckUtils]: 55: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,533 INFO L273 TraceCheckUtils]: 56: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,533 INFO L273 TraceCheckUtils]: 57: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,533 INFO L273 TraceCheckUtils]: 58: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,533 INFO L273 TraceCheckUtils]: 59: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,534 INFO L273 TraceCheckUtils]: 60: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,534 INFO L273 TraceCheckUtils]: 61: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,534 INFO L273 TraceCheckUtils]: 62: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,534 INFO L273 TraceCheckUtils]: 63: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,534 INFO L273 TraceCheckUtils]: 64: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,534 INFO L273 TraceCheckUtils]: 65: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,534 INFO L273 TraceCheckUtils]: 66: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,534 INFO L273 TraceCheckUtils]: 67: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,534 INFO L273 TraceCheckUtils]: 68: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,534 INFO L273 TraceCheckUtils]: 69: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,535 INFO L273 TraceCheckUtils]: 70: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,535 INFO L273 TraceCheckUtils]: 71: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,535 INFO L273 TraceCheckUtils]: 72: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,535 INFO L273 TraceCheckUtils]: 73: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,535 INFO L273 TraceCheckUtils]: 74: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,535 INFO L273 TraceCheckUtils]: 75: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,535 INFO L273 TraceCheckUtils]: 76: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,535 INFO L273 TraceCheckUtils]: 77: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,535 INFO L273 TraceCheckUtils]: 78: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,535 INFO L273 TraceCheckUtils]: 79: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,536 INFO L273 TraceCheckUtils]: 80: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,536 INFO L273 TraceCheckUtils]: 81: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,536 INFO L273 TraceCheckUtils]: 82: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,536 INFO L273 TraceCheckUtils]: 83: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,536 INFO L273 TraceCheckUtils]: 84: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:11,536 INFO L273 TraceCheckUtils]: 85: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:11,536 INFO L273 TraceCheckUtils]: 86: Hoare triple {39221#true} assume !(~i~1 < 40); {39221#true} is VALID [2018-11-23 12:19:11,536 INFO L256 TraceCheckUtils]: 87: Hoare triple {39221#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {39221#true} is VALID [2018-11-23 12:19:11,537 INFO L273 TraceCheckUtils]: 88: Hoare triple {39221#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {39223#(= sep_~i~0 0)} is VALID [2018-11-23 12:19:11,537 INFO L273 TraceCheckUtils]: 89: Hoare triple {39223#(= sep_~i~0 0)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39223#(= sep_~i~0 0)} is VALID [2018-11-23 12:19:11,537 INFO L273 TraceCheckUtils]: 90: Hoare triple {39223#(= 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; {39223#(= sep_~i~0 0)} is VALID [2018-11-23 12:19:11,538 INFO L273 TraceCheckUtils]: 91: Hoare triple {39223#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39224#(<= sep_~i~0 1)} is VALID [2018-11-23 12:19:11,538 INFO L273 TraceCheckUtils]: 92: Hoare triple {39224#(<= sep_~i~0 1)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39224#(<= sep_~i~0 1)} is VALID [2018-11-23 12:19:11,538 INFO L273 TraceCheckUtils]: 93: Hoare triple {39224#(<= 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; {39224#(<= sep_~i~0 1)} is VALID [2018-11-23 12:19:11,539 INFO L273 TraceCheckUtils]: 94: Hoare triple {39224#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39225#(<= sep_~i~0 2)} is VALID [2018-11-23 12:19:11,539 INFO L273 TraceCheckUtils]: 95: Hoare triple {39225#(<= sep_~i~0 2)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39225#(<= sep_~i~0 2)} is VALID [2018-11-23 12:19:11,539 INFO L273 TraceCheckUtils]: 96: Hoare triple {39225#(<= 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; {39225#(<= sep_~i~0 2)} is VALID [2018-11-23 12:19:11,540 INFO L273 TraceCheckUtils]: 97: Hoare triple {39225#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39226#(<= sep_~i~0 3)} is VALID [2018-11-23 12:19:11,540 INFO L273 TraceCheckUtils]: 98: Hoare triple {39226#(<= sep_~i~0 3)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39226#(<= sep_~i~0 3)} is VALID [2018-11-23 12:19:11,541 INFO L273 TraceCheckUtils]: 99: Hoare triple {39226#(<= 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; {39226#(<= sep_~i~0 3)} is VALID [2018-11-23 12:19:11,542 INFO L273 TraceCheckUtils]: 100: Hoare triple {39226#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39227#(<= sep_~i~0 4)} is VALID [2018-11-23 12:19:11,542 INFO L273 TraceCheckUtils]: 101: Hoare triple {39227#(<= sep_~i~0 4)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39227#(<= sep_~i~0 4)} is VALID [2018-11-23 12:19:11,543 INFO L273 TraceCheckUtils]: 102: Hoare triple {39227#(<= 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; {39227#(<= sep_~i~0 4)} is VALID [2018-11-23 12:19:11,543 INFO L273 TraceCheckUtils]: 103: Hoare triple {39227#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39228#(<= sep_~i~0 5)} is VALID [2018-11-23 12:19:11,544 INFO L273 TraceCheckUtils]: 104: Hoare triple {39228#(<= sep_~i~0 5)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39228#(<= sep_~i~0 5)} is VALID [2018-11-23 12:19:11,544 INFO L273 TraceCheckUtils]: 105: Hoare triple {39228#(<= 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; {39228#(<= sep_~i~0 5)} is VALID [2018-11-23 12:19:11,545 INFO L273 TraceCheckUtils]: 106: Hoare triple {39228#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39229#(<= sep_~i~0 6)} is VALID [2018-11-23 12:19:11,545 INFO L273 TraceCheckUtils]: 107: Hoare triple {39229#(<= sep_~i~0 6)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39229#(<= sep_~i~0 6)} is VALID [2018-11-23 12:19:11,546 INFO L273 TraceCheckUtils]: 108: Hoare triple {39229#(<= 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; {39229#(<= sep_~i~0 6)} is VALID [2018-11-23 12:19:11,547 INFO L273 TraceCheckUtils]: 109: Hoare triple {39229#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39230#(<= sep_~i~0 7)} is VALID [2018-11-23 12:19:11,547 INFO L273 TraceCheckUtils]: 110: Hoare triple {39230#(<= sep_~i~0 7)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39230#(<= sep_~i~0 7)} is VALID [2018-11-23 12:19:11,548 INFO L273 TraceCheckUtils]: 111: Hoare triple {39230#(<= 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; {39230#(<= sep_~i~0 7)} is VALID [2018-11-23 12:19:11,548 INFO L273 TraceCheckUtils]: 112: Hoare triple {39230#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39231#(<= sep_~i~0 8)} is VALID [2018-11-23 12:19:11,549 INFO L273 TraceCheckUtils]: 113: Hoare triple {39231#(<= sep_~i~0 8)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39231#(<= sep_~i~0 8)} is VALID [2018-11-23 12:19:11,549 INFO L273 TraceCheckUtils]: 114: Hoare triple {39231#(<= 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; {39231#(<= sep_~i~0 8)} is VALID [2018-11-23 12:19:11,550 INFO L273 TraceCheckUtils]: 115: Hoare triple {39231#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39232#(<= sep_~i~0 9)} is VALID [2018-11-23 12:19:11,551 INFO L273 TraceCheckUtils]: 116: Hoare triple {39232#(<= sep_~i~0 9)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39232#(<= sep_~i~0 9)} is VALID [2018-11-23 12:19:11,551 INFO L273 TraceCheckUtils]: 117: Hoare triple {39232#(<= 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; {39232#(<= sep_~i~0 9)} is VALID [2018-11-23 12:19:11,552 INFO L273 TraceCheckUtils]: 118: Hoare triple {39232#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39233#(<= sep_~i~0 10)} is VALID [2018-11-23 12:19:11,552 INFO L273 TraceCheckUtils]: 119: Hoare triple {39233#(<= sep_~i~0 10)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39233#(<= sep_~i~0 10)} is VALID [2018-11-23 12:19:11,553 INFO L273 TraceCheckUtils]: 120: Hoare triple {39233#(<= 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; {39233#(<= sep_~i~0 10)} is VALID [2018-11-23 12:19:11,553 INFO L273 TraceCheckUtils]: 121: Hoare triple {39233#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39234#(<= sep_~i~0 11)} is VALID [2018-11-23 12:19:11,554 INFO L273 TraceCheckUtils]: 122: Hoare triple {39234#(<= sep_~i~0 11)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39234#(<= sep_~i~0 11)} is VALID [2018-11-23 12:19:11,554 INFO L273 TraceCheckUtils]: 123: Hoare triple {39234#(<= 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; {39234#(<= sep_~i~0 11)} is VALID [2018-11-23 12:19:11,555 INFO L273 TraceCheckUtils]: 124: Hoare triple {39234#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39235#(<= sep_~i~0 12)} is VALID [2018-11-23 12:19:11,556 INFO L273 TraceCheckUtils]: 125: Hoare triple {39235#(<= sep_~i~0 12)} assume !(~i~0 < 40); {39222#false} is VALID [2018-11-23 12:19:11,556 INFO L273 TraceCheckUtils]: 126: Hoare triple {39222#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39222#false} is VALID [2018-11-23 12:19:11,556 INFO L273 TraceCheckUtils]: 127: Hoare triple {39222#false} assume true; {39222#false} is VALID [2018-11-23 12:19:11,556 INFO L268 TraceCheckUtils]: 128: Hoare quadruple {39222#false} {39221#true} #75#return; {39222#false} is VALID [2018-11-23 12:19:11,557 INFO L273 TraceCheckUtils]: 129: Hoare triple {39222#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); {39222#false} is VALID [2018-11-23 12:19:11,557 INFO L256 TraceCheckUtils]: 130: Hoare triple {39222#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {39221#true} is VALID [2018-11-23 12:19:11,557 INFO L273 TraceCheckUtils]: 131: Hoare triple {39221#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {39221#true} is VALID [2018-11-23 12:19:11,557 INFO L273 TraceCheckUtils]: 132: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,557 INFO L273 TraceCheckUtils]: 133: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,557 INFO L273 TraceCheckUtils]: 134: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,558 INFO L273 TraceCheckUtils]: 135: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,558 INFO L273 TraceCheckUtils]: 136: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,558 INFO L273 TraceCheckUtils]: 137: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,558 INFO L273 TraceCheckUtils]: 138: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,558 INFO L273 TraceCheckUtils]: 139: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,558 INFO L273 TraceCheckUtils]: 140: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,559 INFO L273 TraceCheckUtils]: 141: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,559 INFO L273 TraceCheckUtils]: 142: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,559 INFO L273 TraceCheckUtils]: 143: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,559 INFO L273 TraceCheckUtils]: 144: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,559 INFO L273 TraceCheckUtils]: 145: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,559 INFO L273 TraceCheckUtils]: 146: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,559 INFO L273 TraceCheckUtils]: 147: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,559 INFO L273 TraceCheckUtils]: 148: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,559 INFO L273 TraceCheckUtils]: 149: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,559 INFO L273 TraceCheckUtils]: 150: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,560 INFO L273 TraceCheckUtils]: 151: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,560 INFO L273 TraceCheckUtils]: 152: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,560 INFO L273 TraceCheckUtils]: 153: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,560 INFO L273 TraceCheckUtils]: 154: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,560 INFO L273 TraceCheckUtils]: 155: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,560 INFO L273 TraceCheckUtils]: 156: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,560 INFO L273 TraceCheckUtils]: 157: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,560 INFO L273 TraceCheckUtils]: 158: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,560 INFO L273 TraceCheckUtils]: 159: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,560 INFO L273 TraceCheckUtils]: 160: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,561 INFO L273 TraceCheckUtils]: 161: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,561 INFO L273 TraceCheckUtils]: 162: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,561 INFO L273 TraceCheckUtils]: 163: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,561 INFO L273 TraceCheckUtils]: 164: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,561 INFO L273 TraceCheckUtils]: 165: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,561 INFO L273 TraceCheckUtils]: 166: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,561 INFO L273 TraceCheckUtils]: 167: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,561 INFO L273 TraceCheckUtils]: 168: Hoare triple {39221#true} assume !(~i~0 < 40); {39221#true} is VALID [2018-11-23 12:19:11,561 INFO L273 TraceCheckUtils]: 169: Hoare triple {39221#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39221#true} is VALID [2018-11-23 12:19:11,561 INFO L273 TraceCheckUtils]: 170: Hoare triple {39221#true} assume true; {39221#true} is VALID [2018-11-23 12:19:11,562 INFO L268 TraceCheckUtils]: 171: Hoare quadruple {39221#true} {39222#false} #77#return; {39222#false} is VALID [2018-11-23 12:19:11,562 INFO L273 TraceCheckUtils]: 172: Hoare triple {39222#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; {39222#false} is VALID [2018-11-23 12:19:11,562 INFO L273 TraceCheckUtils]: 173: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:11,562 INFO L273 TraceCheckUtils]: 174: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:11,562 INFO L273 TraceCheckUtils]: 175: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:11,562 INFO L273 TraceCheckUtils]: 176: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:11,562 INFO L273 TraceCheckUtils]: 177: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:11,562 INFO L273 TraceCheckUtils]: 178: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:11,562 INFO L273 TraceCheckUtils]: 179: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:11,562 INFO L273 TraceCheckUtils]: 180: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:11,563 INFO L273 TraceCheckUtils]: 181: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:11,563 INFO L273 TraceCheckUtils]: 182: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:11,563 INFO L273 TraceCheckUtils]: 183: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:11,563 INFO L273 TraceCheckUtils]: 184: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:11,563 INFO L273 TraceCheckUtils]: 185: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:11,563 INFO L273 TraceCheckUtils]: 186: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:11,563 INFO L273 TraceCheckUtils]: 187: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:11,563 INFO L273 TraceCheckUtils]: 188: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:11,563 INFO L273 TraceCheckUtils]: 189: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:11,563 INFO L273 TraceCheckUtils]: 190: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:11,564 INFO L273 TraceCheckUtils]: 191: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:11,564 INFO L273 TraceCheckUtils]: 192: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:11,564 INFO L273 TraceCheckUtils]: 193: Hoare triple {39222#false} assume !(~i~2 < 39); {39222#false} is VALID [2018-11-23 12:19:11,564 INFO L273 TraceCheckUtils]: 194: Hoare triple {39222#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {39222#false} is VALID [2018-11-23 12:19:11,564 INFO L256 TraceCheckUtils]: 195: Hoare triple {39222#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {39221#true} is VALID [2018-11-23 12:19:11,564 INFO L273 TraceCheckUtils]: 196: Hoare triple {39221#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {39221#true} is VALID [2018-11-23 12:19:11,564 INFO L273 TraceCheckUtils]: 197: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,564 INFO L273 TraceCheckUtils]: 198: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,564 INFO L273 TraceCheckUtils]: 199: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,565 INFO L273 TraceCheckUtils]: 200: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,565 INFO L273 TraceCheckUtils]: 201: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,565 INFO L273 TraceCheckUtils]: 202: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,565 INFO L273 TraceCheckUtils]: 203: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,565 INFO L273 TraceCheckUtils]: 204: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,565 INFO L273 TraceCheckUtils]: 205: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,565 INFO L273 TraceCheckUtils]: 206: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,565 INFO L273 TraceCheckUtils]: 207: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,565 INFO L273 TraceCheckUtils]: 208: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,565 INFO L273 TraceCheckUtils]: 209: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,566 INFO L273 TraceCheckUtils]: 210: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,566 INFO L273 TraceCheckUtils]: 211: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,566 INFO L273 TraceCheckUtils]: 212: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,566 INFO L273 TraceCheckUtils]: 213: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,566 INFO L273 TraceCheckUtils]: 214: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,566 INFO L273 TraceCheckUtils]: 215: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,566 INFO L273 TraceCheckUtils]: 216: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,566 INFO L273 TraceCheckUtils]: 217: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,566 INFO L273 TraceCheckUtils]: 218: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,566 INFO L273 TraceCheckUtils]: 219: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,567 INFO L273 TraceCheckUtils]: 220: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,567 INFO L273 TraceCheckUtils]: 221: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,567 INFO L273 TraceCheckUtils]: 222: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,567 INFO L273 TraceCheckUtils]: 223: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,567 INFO L273 TraceCheckUtils]: 224: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,567 INFO L273 TraceCheckUtils]: 225: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,567 INFO L273 TraceCheckUtils]: 226: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,567 INFO L273 TraceCheckUtils]: 227: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,567 INFO L273 TraceCheckUtils]: 228: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,567 INFO L273 TraceCheckUtils]: 229: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,568 INFO L273 TraceCheckUtils]: 230: Hoare triple {39221#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39221#true} is VALID [2018-11-23 12:19:11,568 INFO L273 TraceCheckUtils]: 231: Hoare triple {39221#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39221#true} is VALID [2018-11-23 12:19:11,568 INFO L273 TraceCheckUtils]: 232: Hoare triple {39221#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39221#true} is VALID [2018-11-23 12:19:11,568 INFO L273 TraceCheckUtils]: 233: Hoare triple {39221#true} assume !(~i~0 < 40); {39221#true} is VALID [2018-11-23 12:19:11,568 INFO L273 TraceCheckUtils]: 234: Hoare triple {39221#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39221#true} is VALID [2018-11-23 12:19:11,568 INFO L273 TraceCheckUtils]: 235: Hoare triple {39221#true} assume true; {39221#true} is VALID [2018-11-23 12:19:11,568 INFO L268 TraceCheckUtils]: 236: Hoare quadruple {39221#true} {39222#false} #79#return; {39222#false} is VALID [2018-11-23 12:19:11,568 INFO L273 TraceCheckUtils]: 237: Hoare triple {39222#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {39222#false} is VALID [2018-11-23 12:19:11,568 INFO L273 TraceCheckUtils]: 238: Hoare triple {39222#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {39222#false} is VALID [2018-11-23 12:19:11,568 INFO L273 TraceCheckUtils]: 239: Hoare triple {39222#false} assume !false; {39222#false} is VALID [2018-11-23 12:19:11,590 INFO L134 CoverageAnalysis]: Checked inductivity of 3713 backedges. 0 proven. 1130 refuted. 0 times theorem prover too weak. 2583 trivial. 0 not checked. [2018-11-23 12:19:11,590 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:19:11,590 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:19:11,598 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:19:11,723 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:19:11,723 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:19:11,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:11,772 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:19:12,007 INFO L256 TraceCheckUtils]: 0: Hoare triple {39221#true} call ULTIMATE.init(); {39221#true} is VALID [2018-11-23 12:19:12,007 INFO L273 TraceCheckUtils]: 1: Hoare triple {39221#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {39221#true} is VALID [2018-11-23 12:19:12,007 INFO L273 TraceCheckUtils]: 2: Hoare triple {39221#true} assume true; {39221#true} is VALID [2018-11-23 12:19:12,007 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {39221#true} {39221#true} #71#return; {39221#true} is VALID [2018-11-23 12:19:12,008 INFO L256 TraceCheckUtils]: 4: Hoare triple {39221#true} call #t~ret14 := main(); {39221#true} is VALID [2018-11-23 12:19:12,008 INFO L273 TraceCheckUtils]: 5: Hoare triple {39221#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {39221#true} is VALID [2018-11-23 12:19:12,008 INFO L273 TraceCheckUtils]: 6: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,008 INFO L273 TraceCheckUtils]: 7: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,008 INFO L273 TraceCheckUtils]: 8: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,008 INFO L273 TraceCheckUtils]: 9: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,008 INFO L273 TraceCheckUtils]: 10: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,009 INFO L273 TraceCheckUtils]: 11: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,009 INFO L273 TraceCheckUtils]: 12: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,009 INFO L273 TraceCheckUtils]: 13: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,009 INFO L273 TraceCheckUtils]: 14: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,009 INFO L273 TraceCheckUtils]: 15: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,009 INFO L273 TraceCheckUtils]: 16: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,009 INFO L273 TraceCheckUtils]: 17: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,009 INFO L273 TraceCheckUtils]: 18: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,009 INFO L273 TraceCheckUtils]: 19: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,009 INFO L273 TraceCheckUtils]: 20: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,010 INFO L273 TraceCheckUtils]: 21: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,010 INFO L273 TraceCheckUtils]: 22: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,010 INFO L273 TraceCheckUtils]: 23: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,010 INFO L273 TraceCheckUtils]: 24: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,010 INFO L273 TraceCheckUtils]: 25: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,010 INFO L273 TraceCheckUtils]: 26: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,010 INFO L273 TraceCheckUtils]: 27: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,010 INFO L273 TraceCheckUtils]: 28: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,010 INFO L273 TraceCheckUtils]: 29: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,010 INFO L273 TraceCheckUtils]: 30: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,011 INFO L273 TraceCheckUtils]: 31: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,011 INFO L273 TraceCheckUtils]: 32: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,011 INFO L273 TraceCheckUtils]: 33: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,011 INFO L273 TraceCheckUtils]: 34: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,011 INFO L273 TraceCheckUtils]: 35: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,011 INFO L273 TraceCheckUtils]: 36: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,011 INFO L273 TraceCheckUtils]: 37: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,011 INFO L273 TraceCheckUtils]: 38: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,011 INFO L273 TraceCheckUtils]: 39: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,011 INFO L273 TraceCheckUtils]: 40: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,012 INFO L273 TraceCheckUtils]: 41: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,012 INFO L273 TraceCheckUtils]: 42: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,012 INFO L273 TraceCheckUtils]: 43: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,012 INFO L273 TraceCheckUtils]: 44: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,012 INFO L273 TraceCheckUtils]: 45: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,012 INFO L273 TraceCheckUtils]: 46: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,012 INFO L273 TraceCheckUtils]: 47: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,012 INFO L273 TraceCheckUtils]: 48: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,012 INFO L273 TraceCheckUtils]: 49: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,013 INFO L273 TraceCheckUtils]: 50: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,013 INFO L273 TraceCheckUtils]: 51: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,013 INFO L273 TraceCheckUtils]: 52: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,013 INFO L273 TraceCheckUtils]: 53: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,013 INFO L273 TraceCheckUtils]: 54: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,013 INFO L273 TraceCheckUtils]: 55: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,013 INFO L273 TraceCheckUtils]: 56: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,013 INFO L273 TraceCheckUtils]: 57: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,013 INFO L273 TraceCheckUtils]: 58: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,013 INFO L273 TraceCheckUtils]: 59: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,014 INFO L273 TraceCheckUtils]: 60: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,014 INFO L273 TraceCheckUtils]: 61: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,014 INFO L273 TraceCheckUtils]: 62: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,014 INFO L273 TraceCheckUtils]: 63: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,014 INFO L273 TraceCheckUtils]: 64: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,014 INFO L273 TraceCheckUtils]: 65: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,014 INFO L273 TraceCheckUtils]: 66: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,014 INFO L273 TraceCheckUtils]: 67: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,014 INFO L273 TraceCheckUtils]: 68: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,014 INFO L273 TraceCheckUtils]: 69: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,015 INFO L273 TraceCheckUtils]: 70: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,015 INFO L273 TraceCheckUtils]: 71: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,015 INFO L273 TraceCheckUtils]: 72: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,015 INFO L273 TraceCheckUtils]: 73: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,015 INFO L273 TraceCheckUtils]: 74: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,015 INFO L273 TraceCheckUtils]: 75: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,015 INFO L273 TraceCheckUtils]: 76: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,015 INFO L273 TraceCheckUtils]: 77: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,015 INFO L273 TraceCheckUtils]: 78: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,015 INFO L273 TraceCheckUtils]: 79: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,016 INFO L273 TraceCheckUtils]: 80: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,016 INFO L273 TraceCheckUtils]: 81: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,016 INFO L273 TraceCheckUtils]: 82: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,016 INFO L273 TraceCheckUtils]: 83: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,016 INFO L273 TraceCheckUtils]: 84: Hoare triple {39221#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {39221#true} is VALID [2018-11-23 12:19:12,016 INFO L273 TraceCheckUtils]: 85: Hoare triple {39221#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {39221#true} is VALID [2018-11-23 12:19:12,016 INFO L273 TraceCheckUtils]: 86: Hoare triple {39221#true} assume !(~i~1 < 40); {39221#true} is VALID [2018-11-23 12:19:12,016 INFO L256 TraceCheckUtils]: 87: Hoare triple {39221#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {39221#true} is VALID [2018-11-23 12:19:12,017 INFO L273 TraceCheckUtils]: 88: Hoare triple {39221#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {39503#(<= sep_~i~0 0)} is VALID [2018-11-23 12:19:12,017 INFO L273 TraceCheckUtils]: 89: Hoare triple {39503#(<= sep_~i~0 0)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39503#(<= sep_~i~0 0)} is VALID [2018-11-23 12:19:12,017 INFO L273 TraceCheckUtils]: 90: Hoare triple {39503#(<= 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; {39503#(<= sep_~i~0 0)} is VALID [2018-11-23 12:19:12,018 INFO L273 TraceCheckUtils]: 91: Hoare triple {39503#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39224#(<= sep_~i~0 1)} is VALID [2018-11-23 12:19:12,018 INFO L273 TraceCheckUtils]: 92: Hoare triple {39224#(<= sep_~i~0 1)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39224#(<= sep_~i~0 1)} is VALID [2018-11-23 12:19:12,018 INFO L273 TraceCheckUtils]: 93: Hoare triple {39224#(<= 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; {39224#(<= sep_~i~0 1)} is VALID [2018-11-23 12:19:12,019 INFO L273 TraceCheckUtils]: 94: Hoare triple {39224#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39225#(<= sep_~i~0 2)} is VALID [2018-11-23 12:19:12,019 INFO L273 TraceCheckUtils]: 95: Hoare triple {39225#(<= sep_~i~0 2)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39225#(<= sep_~i~0 2)} is VALID [2018-11-23 12:19:12,019 INFO L273 TraceCheckUtils]: 96: Hoare triple {39225#(<= 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; {39225#(<= sep_~i~0 2)} is VALID [2018-11-23 12:19:12,020 INFO L273 TraceCheckUtils]: 97: Hoare triple {39225#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39226#(<= sep_~i~0 3)} is VALID [2018-11-23 12:19:12,020 INFO L273 TraceCheckUtils]: 98: Hoare triple {39226#(<= sep_~i~0 3)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39226#(<= sep_~i~0 3)} is VALID [2018-11-23 12:19:12,020 INFO L273 TraceCheckUtils]: 99: Hoare triple {39226#(<= 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; {39226#(<= sep_~i~0 3)} is VALID [2018-11-23 12:19:12,021 INFO L273 TraceCheckUtils]: 100: Hoare triple {39226#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39227#(<= sep_~i~0 4)} is VALID [2018-11-23 12:19:12,021 INFO L273 TraceCheckUtils]: 101: Hoare triple {39227#(<= sep_~i~0 4)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39227#(<= sep_~i~0 4)} is VALID [2018-11-23 12:19:12,021 INFO L273 TraceCheckUtils]: 102: Hoare triple {39227#(<= 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; {39227#(<= sep_~i~0 4)} is VALID [2018-11-23 12:19:12,022 INFO L273 TraceCheckUtils]: 103: Hoare triple {39227#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39228#(<= sep_~i~0 5)} is VALID [2018-11-23 12:19:12,022 INFO L273 TraceCheckUtils]: 104: Hoare triple {39228#(<= sep_~i~0 5)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39228#(<= sep_~i~0 5)} is VALID [2018-11-23 12:19:12,023 INFO L273 TraceCheckUtils]: 105: Hoare triple {39228#(<= 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; {39228#(<= sep_~i~0 5)} is VALID [2018-11-23 12:19:12,024 INFO L273 TraceCheckUtils]: 106: Hoare triple {39228#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39229#(<= sep_~i~0 6)} is VALID [2018-11-23 12:19:12,024 INFO L273 TraceCheckUtils]: 107: Hoare triple {39229#(<= sep_~i~0 6)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39229#(<= sep_~i~0 6)} is VALID [2018-11-23 12:19:12,025 INFO L273 TraceCheckUtils]: 108: Hoare triple {39229#(<= 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; {39229#(<= sep_~i~0 6)} is VALID [2018-11-23 12:19:12,025 INFO L273 TraceCheckUtils]: 109: Hoare triple {39229#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39230#(<= sep_~i~0 7)} is VALID [2018-11-23 12:19:12,026 INFO L273 TraceCheckUtils]: 110: Hoare triple {39230#(<= sep_~i~0 7)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39230#(<= sep_~i~0 7)} is VALID [2018-11-23 12:19:12,026 INFO L273 TraceCheckUtils]: 111: Hoare triple {39230#(<= 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; {39230#(<= sep_~i~0 7)} is VALID [2018-11-23 12:19:12,027 INFO L273 TraceCheckUtils]: 112: Hoare triple {39230#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39231#(<= sep_~i~0 8)} is VALID [2018-11-23 12:19:12,028 INFO L273 TraceCheckUtils]: 113: Hoare triple {39231#(<= sep_~i~0 8)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39231#(<= sep_~i~0 8)} is VALID [2018-11-23 12:19:12,028 INFO L273 TraceCheckUtils]: 114: Hoare triple {39231#(<= 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; {39231#(<= sep_~i~0 8)} is VALID [2018-11-23 12:19:12,056 INFO L273 TraceCheckUtils]: 115: Hoare triple {39231#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39232#(<= sep_~i~0 9)} is VALID [2018-11-23 12:19:12,059 INFO L273 TraceCheckUtils]: 116: Hoare triple {39232#(<= sep_~i~0 9)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39232#(<= sep_~i~0 9)} is VALID [2018-11-23 12:19:12,064 INFO L273 TraceCheckUtils]: 117: Hoare triple {39232#(<= 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; {39232#(<= sep_~i~0 9)} is VALID [2018-11-23 12:19:12,064 INFO L273 TraceCheckUtils]: 118: Hoare triple {39232#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39233#(<= sep_~i~0 10)} is VALID [2018-11-23 12:19:12,064 INFO L273 TraceCheckUtils]: 119: Hoare triple {39233#(<= sep_~i~0 10)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39233#(<= sep_~i~0 10)} is VALID [2018-11-23 12:19:12,067 INFO L273 TraceCheckUtils]: 120: Hoare triple {39233#(<= 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; {39233#(<= sep_~i~0 10)} is VALID [2018-11-23 12:19:12,067 INFO L273 TraceCheckUtils]: 121: Hoare triple {39233#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39234#(<= sep_~i~0 11)} is VALID [2018-11-23 12:19:12,067 INFO L273 TraceCheckUtils]: 122: Hoare triple {39234#(<= sep_~i~0 11)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39234#(<= sep_~i~0 11)} is VALID [2018-11-23 12:19:12,068 INFO L273 TraceCheckUtils]: 123: Hoare triple {39234#(<= 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; {39234#(<= sep_~i~0 11)} is VALID [2018-11-23 12:19:12,068 INFO L273 TraceCheckUtils]: 124: Hoare triple {39234#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39235#(<= sep_~i~0 12)} is VALID [2018-11-23 12:19:12,068 INFO L273 TraceCheckUtils]: 125: Hoare triple {39235#(<= sep_~i~0 12)} assume !(~i~0 < 40); {39222#false} is VALID [2018-11-23 12:19:12,069 INFO L273 TraceCheckUtils]: 126: Hoare triple {39222#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39222#false} is VALID [2018-11-23 12:19:12,069 INFO L273 TraceCheckUtils]: 127: Hoare triple {39222#false} assume true; {39222#false} is VALID [2018-11-23 12:19:12,069 INFO L268 TraceCheckUtils]: 128: Hoare quadruple {39222#false} {39221#true} #75#return; {39222#false} is VALID [2018-11-23 12:19:12,069 INFO L273 TraceCheckUtils]: 129: Hoare triple {39222#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); {39222#false} is VALID [2018-11-23 12:19:12,069 INFO L256 TraceCheckUtils]: 130: Hoare triple {39222#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {39222#false} is VALID [2018-11-23 12:19:12,069 INFO L273 TraceCheckUtils]: 131: Hoare triple {39222#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {39222#false} is VALID [2018-11-23 12:19:12,069 INFO L273 TraceCheckUtils]: 132: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,069 INFO L273 TraceCheckUtils]: 133: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,069 INFO L273 TraceCheckUtils]: 134: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,069 INFO L273 TraceCheckUtils]: 135: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,070 INFO L273 TraceCheckUtils]: 136: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,070 INFO L273 TraceCheckUtils]: 137: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,070 INFO L273 TraceCheckUtils]: 138: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,070 INFO L273 TraceCheckUtils]: 139: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,070 INFO L273 TraceCheckUtils]: 140: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,070 INFO L273 TraceCheckUtils]: 141: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,070 INFO L273 TraceCheckUtils]: 142: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,070 INFO L273 TraceCheckUtils]: 143: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,070 INFO L273 TraceCheckUtils]: 144: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,070 INFO L273 TraceCheckUtils]: 145: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,071 INFO L273 TraceCheckUtils]: 146: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,071 INFO L273 TraceCheckUtils]: 147: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,071 INFO L273 TraceCheckUtils]: 148: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,071 INFO L273 TraceCheckUtils]: 149: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,071 INFO L273 TraceCheckUtils]: 150: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,071 INFO L273 TraceCheckUtils]: 151: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,071 INFO L273 TraceCheckUtils]: 152: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,071 INFO L273 TraceCheckUtils]: 153: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,071 INFO L273 TraceCheckUtils]: 154: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,072 INFO L273 TraceCheckUtils]: 155: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,072 INFO L273 TraceCheckUtils]: 156: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,072 INFO L273 TraceCheckUtils]: 157: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,072 INFO L273 TraceCheckUtils]: 158: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,072 INFO L273 TraceCheckUtils]: 159: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,072 INFO L273 TraceCheckUtils]: 160: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,073 INFO L273 TraceCheckUtils]: 161: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,073 INFO L273 TraceCheckUtils]: 162: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,073 INFO L273 TraceCheckUtils]: 163: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,073 INFO L273 TraceCheckUtils]: 164: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,073 INFO L273 TraceCheckUtils]: 165: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,073 INFO L273 TraceCheckUtils]: 166: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,073 INFO L273 TraceCheckUtils]: 167: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,073 INFO L273 TraceCheckUtils]: 168: Hoare triple {39222#false} assume !(~i~0 < 40); {39222#false} is VALID [2018-11-23 12:19:12,073 INFO L273 TraceCheckUtils]: 169: Hoare triple {39222#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39222#false} is VALID [2018-11-23 12:19:12,073 INFO L273 TraceCheckUtils]: 170: Hoare triple {39222#false} assume true; {39222#false} is VALID [2018-11-23 12:19:12,074 INFO L268 TraceCheckUtils]: 171: Hoare quadruple {39222#false} {39222#false} #77#return; {39222#false} is VALID [2018-11-23 12:19:12,074 INFO L273 TraceCheckUtils]: 172: Hoare triple {39222#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; {39222#false} is VALID [2018-11-23 12:19:12,074 INFO L273 TraceCheckUtils]: 173: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:12,074 INFO L273 TraceCheckUtils]: 174: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:12,074 INFO L273 TraceCheckUtils]: 175: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:12,074 INFO L273 TraceCheckUtils]: 176: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:12,074 INFO L273 TraceCheckUtils]: 177: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:12,074 INFO L273 TraceCheckUtils]: 178: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:12,074 INFO L273 TraceCheckUtils]: 179: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:12,074 INFO L273 TraceCheckUtils]: 180: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:12,075 INFO L273 TraceCheckUtils]: 181: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:12,075 INFO L273 TraceCheckUtils]: 182: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:12,075 INFO L273 TraceCheckUtils]: 183: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:12,075 INFO L273 TraceCheckUtils]: 184: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:12,075 INFO L273 TraceCheckUtils]: 185: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:12,075 INFO L273 TraceCheckUtils]: 186: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:12,075 INFO L273 TraceCheckUtils]: 187: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:12,075 INFO L273 TraceCheckUtils]: 188: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:12,075 INFO L273 TraceCheckUtils]: 189: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:12,075 INFO L273 TraceCheckUtils]: 190: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:12,076 INFO L273 TraceCheckUtils]: 191: Hoare triple {39222#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {39222#false} is VALID [2018-11-23 12:19:12,076 INFO L273 TraceCheckUtils]: 192: Hoare triple {39222#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {39222#false} is VALID [2018-11-23 12:19:12,076 INFO L273 TraceCheckUtils]: 193: Hoare triple {39222#false} assume !(~i~2 < 39); {39222#false} is VALID [2018-11-23 12:19:12,076 INFO L273 TraceCheckUtils]: 194: Hoare triple {39222#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {39222#false} is VALID [2018-11-23 12:19:12,076 INFO L256 TraceCheckUtils]: 195: Hoare triple {39222#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {39222#false} is VALID [2018-11-23 12:19:12,076 INFO L273 TraceCheckUtils]: 196: Hoare triple {39222#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {39222#false} is VALID [2018-11-23 12:19:12,076 INFO L273 TraceCheckUtils]: 197: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,076 INFO L273 TraceCheckUtils]: 198: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,076 INFO L273 TraceCheckUtils]: 199: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,076 INFO L273 TraceCheckUtils]: 200: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,077 INFO L273 TraceCheckUtils]: 201: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,077 INFO L273 TraceCheckUtils]: 202: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,077 INFO L273 TraceCheckUtils]: 203: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,077 INFO L273 TraceCheckUtils]: 204: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,077 INFO L273 TraceCheckUtils]: 205: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,077 INFO L273 TraceCheckUtils]: 206: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,077 INFO L273 TraceCheckUtils]: 207: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,077 INFO L273 TraceCheckUtils]: 208: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,077 INFO L273 TraceCheckUtils]: 209: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,077 INFO L273 TraceCheckUtils]: 210: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,078 INFO L273 TraceCheckUtils]: 211: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,078 INFO L273 TraceCheckUtils]: 212: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,078 INFO L273 TraceCheckUtils]: 213: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,078 INFO L273 TraceCheckUtils]: 214: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,078 INFO L273 TraceCheckUtils]: 215: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,078 INFO L273 TraceCheckUtils]: 216: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,078 INFO L273 TraceCheckUtils]: 217: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,078 INFO L273 TraceCheckUtils]: 218: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,078 INFO L273 TraceCheckUtils]: 219: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,078 INFO L273 TraceCheckUtils]: 220: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,079 INFO L273 TraceCheckUtils]: 221: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,079 INFO L273 TraceCheckUtils]: 222: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,079 INFO L273 TraceCheckUtils]: 223: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,079 INFO L273 TraceCheckUtils]: 224: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,079 INFO L273 TraceCheckUtils]: 225: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,079 INFO L273 TraceCheckUtils]: 226: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,079 INFO L273 TraceCheckUtils]: 227: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,079 INFO L273 TraceCheckUtils]: 228: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,079 INFO L273 TraceCheckUtils]: 229: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,080 INFO L273 TraceCheckUtils]: 230: Hoare triple {39222#false} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {39222#false} is VALID [2018-11-23 12:19:12,080 INFO L273 TraceCheckUtils]: 231: Hoare triple {39222#false} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {39222#false} is VALID [2018-11-23 12:19:12,080 INFO L273 TraceCheckUtils]: 232: Hoare triple {39222#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39222#false} is VALID [2018-11-23 12:19:12,080 INFO L273 TraceCheckUtils]: 233: Hoare triple {39222#false} assume !(~i~0 < 40); {39222#false} is VALID [2018-11-23 12:19:12,080 INFO L273 TraceCheckUtils]: 234: Hoare triple {39222#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39222#false} is VALID [2018-11-23 12:19:12,080 INFO L273 TraceCheckUtils]: 235: Hoare triple {39222#false} assume true; {39222#false} is VALID [2018-11-23 12:19:12,080 INFO L268 TraceCheckUtils]: 236: Hoare quadruple {39222#false} {39222#false} #79#return; {39222#false} is VALID [2018-11-23 12:19:12,080 INFO L273 TraceCheckUtils]: 237: Hoare triple {39222#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {39222#false} is VALID [2018-11-23 12:19:12,080 INFO L273 TraceCheckUtils]: 238: Hoare triple {39222#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {39222#false} is VALID [2018-11-23 12:19:12,080 INFO L273 TraceCheckUtils]: 239: Hoare triple {39222#false} assume !false; {39222#false} is VALID [2018-11-23 12:19:12,101 INFO L134 CoverageAnalysis]: Checked inductivity of 3713 backedges. 916 proven. 210 refuted. 0 times theorem prover too weak. 2587 trivial. 0 not checked. [2018-11-23 12:19:12,121 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:19:12,121 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 16 [2018-11-23 12:19:12,121 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 240 [2018-11-23 12:19:12,122 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:19:12,122 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:19:12,204 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:12,204 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:19:12,204 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:19:12,204 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:19:12,205 INFO L87 Difference]: Start difference. First operand 159 states and 175 transitions. Second operand 16 states. [2018-11-23 12:19:12,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:12,632 INFO L93 Difference]: Finished difference Result 235 states and 271 transitions. [2018-11-23 12:19:12,632 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 12:19:12,632 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 240 [2018-11-23 12:19:12,632 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:19:12,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:19:12,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2018-11-23 12:19:12,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:19:12,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2018-11-23 12:19:12,636 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 109 transitions. [2018-11-23 12:19:12,741 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:19:12,744 INFO L225 Difference]: With dead ends: 235 [2018-11-23 12:19:12,744 INFO L226 Difference]: Without dead ends: 164 [2018-11-23 12:19:12,744 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 254 GetRequests, 240 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:19:12,745 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2018-11-23 12:19:12,796 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 162. [2018-11-23 12:19:12,796 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:19:12,797 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand 162 states. [2018-11-23 12:19:12,797 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand 162 states. [2018-11-23 12:19:12,797 INFO L87 Difference]: Start difference. First operand 164 states. Second operand 162 states. [2018-11-23 12:19:12,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:12,801 INFO L93 Difference]: Finished difference Result 164 states and 182 transitions. [2018-11-23 12:19:12,801 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 182 transitions. [2018-11-23 12:19:12,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:19:12,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:19:12,802 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 164 states. [2018-11-23 12:19:12,802 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 164 states. [2018-11-23 12:19:12,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:19:12,805 INFO L93 Difference]: Finished difference Result 164 states and 182 transitions. [2018-11-23 12:19:12,805 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 182 transitions. [2018-11-23 12:19:12,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:19:12,806 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:19:12,806 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:19:12,806 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:19:12,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 162 states. [2018-11-23 12:19:12,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 162 states to 162 states and 179 transitions. [2018-11-23 12:19:12,810 INFO L78 Accepts]: Start accepts. Automaton has 162 states and 179 transitions. Word has length 240 [2018-11-23 12:19:12,810 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:19:12,810 INFO L480 AbstractCegarLoop]: Abstraction has 162 states and 179 transitions. [2018-11-23 12:19:12,810 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:19:12,810 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 179 transitions. [2018-11-23 12:19:12,811 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 250 [2018-11-23 12:19:12,811 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:19:12,812 INFO L402 BasicCegarLoop]: trace histogram [40, 40, 39, 39, 39, 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:19:12,812 INFO L423 AbstractCegarLoop]: === Iteration 45 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:19:12,812 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:19:12,812 INFO L82 PathProgramCache]: Analyzing trace with hash 9901731, now seen corresponding path program 41 times [2018-11-23 12:19:12,812 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:19:12,812 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:19:12,813 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:19:12,813 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:19:12,813 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:19:12,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:19:13,146 INFO L256 TraceCheckUtils]: 0: Hoare triple {40856#true} call ULTIMATE.init(); {40856#true} is VALID [2018-11-23 12:19:13,147 INFO L273 TraceCheckUtils]: 1: Hoare triple {40856#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {40856#true} is VALID [2018-11-23 12:19:13,147 INFO L273 TraceCheckUtils]: 2: Hoare triple {40856#true} assume true; {40856#true} is VALID [2018-11-23 12:19:13,147 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {40856#true} {40856#true} #71#return; {40856#true} is VALID [2018-11-23 12:19:13,147 INFO L256 TraceCheckUtils]: 4: Hoare triple {40856#true} call #t~ret14 := main(); {40856#true} is VALID [2018-11-23 12:19:13,148 INFO L273 TraceCheckUtils]: 5: Hoare triple {40856#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {40856#true} is VALID [2018-11-23 12:19:13,148 INFO L273 TraceCheckUtils]: 6: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,148 INFO L273 TraceCheckUtils]: 7: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,148 INFO L273 TraceCheckUtils]: 8: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,148 INFO L273 TraceCheckUtils]: 9: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,148 INFO L273 TraceCheckUtils]: 10: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,149 INFO L273 TraceCheckUtils]: 11: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,149 INFO L273 TraceCheckUtils]: 12: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,149 INFO L273 TraceCheckUtils]: 13: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,149 INFO L273 TraceCheckUtils]: 14: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,149 INFO L273 TraceCheckUtils]: 15: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,149 INFO L273 TraceCheckUtils]: 16: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,150 INFO L273 TraceCheckUtils]: 17: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,150 INFO L273 TraceCheckUtils]: 18: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,150 INFO L273 TraceCheckUtils]: 19: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,150 INFO L273 TraceCheckUtils]: 20: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,150 INFO L273 TraceCheckUtils]: 21: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,150 INFO L273 TraceCheckUtils]: 22: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,150 INFO L273 TraceCheckUtils]: 23: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,150 INFO L273 TraceCheckUtils]: 24: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,150 INFO L273 TraceCheckUtils]: 25: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,150 INFO L273 TraceCheckUtils]: 26: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,151 INFO L273 TraceCheckUtils]: 27: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,151 INFO L273 TraceCheckUtils]: 28: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,151 INFO L273 TraceCheckUtils]: 29: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,151 INFO L273 TraceCheckUtils]: 30: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,151 INFO L273 TraceCheckUtils]: 31: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,151 INFO L273 TraceCheckUtils]: 32: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,151 INFO L273 TraceCheckUtils]: 33: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,151 INFO L273 TraceCheckUtils]: 34: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,151 INFO L273 TraceCheckUtils]: 35: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,151 INFO L273 TraceCheckUtils]: 36: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,152 INFO L273 TraceCheckUtils]: 37: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,152 INFO L273 TraceCheckUtils]: 38: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,152 INFO L273 TraceCheckUtils]: 39: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,152 INFO L273 TraceCheckUtils]: 40: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,152 INFO L273 TraceCheckUtils]: 41: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,152 INFO L273 TraceCheckUtils]: 42: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,152 INFO L273 TraceCheckUtils]: 43: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,152 INFO L273 TraceCheckUtils]: 44: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,152 INFO L273 TraceCheckUtils]: 45: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,152 INFO L273 TraceCheckUtils]: 46: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,153 INFO L273 TraceCheckUtils]: 47: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,153 INFO L273 TraceCheckUtils]: 48: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,153 INFO L273 TraceCheckUtils]: 49: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,153 INFO L273 TraceCheckUtils]: 50: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,153 INFO L273 TraceCheckUtils]: 51: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,153 INFO L273 TraceCheckUtils]: 52: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,153 INFO L273 TraceCheckUtils]: 53: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,153 INFO L273 TraceCheckUtils]: 54: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,153 INFO L273 TraceCheckUtils]: 55: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,153 INFO L273 TraceCheckUtils]: 56: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,154 INFO L273 TraceCheckUtils]: 57: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,154 INFO L273 TraceCheckUtils]: 58: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,154 INFO L273 TraceCheckUtils]: 59: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,154 INFO L273 TraceCheckUtils]: 60: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,154 INFO L273 TraceCheckUtils]: 61: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,154 INFO L273 TraceCheckUtils]: 62: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,154 INFO L273 TraceCheckUtils]: 63: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,154 INFO L273 TraceCheckUtils]: 64: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,154 INFO L273 TraceCheckUtils]: 65: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,155 INFO L273 TraceCheckUtils]: 66: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,155 INFO L273 TraceCheckUtils]: 67: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,155 INFO L273 TraceCheckUtils]: 68: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,155 INFO L273 TraceCheckUtils]: 69: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,155 INFO L273 TraceCheckUtils]: 70: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,155 INFO L273 TraceCheckUtils]: 71: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,155 INFO L273 TraceCheckUtils]: 72: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,155 INFO L273 TraceCheckUtils]: 73: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,155 INFO L273 TraceCheckUtils]: 74: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,155 INFO L273 TraceCheckUtils]: 75: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,156 INFO L273 TraceCheckUtils]: 76: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,156 INFO L273 TraceCheckUtils]: 77: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,156 INFO L273 TraceCheckUtils]: 78: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,156 INFO L273 TraceCheckUtils]: 79: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,156 INFO L273 TraceCheckUtils]: 80: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,156 INFO L273 TraceCheckUtils]: 81: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,156 INFO L273 TraceCheckUtils]: 82: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,156 INFO L273 TraceCheckUtils]: 83: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,156 INFO L273 TraceCheckUtils]: 84: Hoare triple {40856#true} assume !!(~i~1 < 40);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {40856#true} is VALID [2018-11-23 12:19:13,156 INFO L273 TraceCheckUtils]: 85: Hoare triple {40856#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {40856#true} is VALID [2018-11-23 12:19:13,157 INFO L273 TraceCheckUtils]: 86: Hoare triple {40856#true} assume !(~i~1 < 40); {40856#true} is VALID [2018-11-23 12:19:13,157 INFO L256 TraceCheckUtils]: 87: Hoare triple {40856#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {40856#true} is VALID [2018-11-23 12:19:13,157 INFO L273 TraceCheckUtils]: 88: Hoare triple {40856#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {40858#(= sep_~i~0 0)} is VALID [2018-11-23 12:19:13,157 INFO L273 TraceCheckUtils]: 89: Hoare triple {40858#(= sep_~i~0 0)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40858#(= sep_~i~0 0)} is VALID [2018-11-23 12:19:13,158 INFO L273 TraceCheckUtils]: 90: Hoare triple {40858#(= 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; {40858#(= sep_~i~0 0)} is VALID [2018-11-23 12:19:13,158 INFO L273 TraceCheckUtils]: 91: Hoare triple {40858#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40859#(<= sep_~i~0 1)} is VALID [2018-11-23 12:19:13,158 INFO L273 TraceCheckUtils]: 92: Hoare triple {40859#(<= sep_~i~0 1)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40859#(<= sep_~i~0 1)} is VALID [2018-11-23 12:19:13,159 INFO L273 TraceCheckUtils]: 93: Hoare triple {40859#(<= 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; {40859#(<= sep_~i~0 1)} is VALID [2018-11-23 12:19:13,159 INFO L273 TraceCheckUtils]: 94: Hoare triple {40859#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40860#(<= sep_~i~0 2)} is VALID [2018-11-23 12:19:13,159 INFO L273 TraceCheckUtils]: 95: Hoare triple {40860#(<= sep_~i~0 2)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40860#(<= sep_~i~0 2)} is VALID [2018-11-23 12:19:13,160 INFO L273 TraceCheckUtils]: 96: Hoare triple {40860#(<= 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; {40860#(<= sep_~i~0 2)} is VALID [2018-11-23 12:19:13,160 INFO L273 TraceCheckUtils]: 97: Hoare triple {40860#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40861#(<= sep_~i~0 3)} is VALID [2018-11-23 12:19:13,161 INFO L273 TraceCheckUtils]: 98: Hoare triple {40861#(<= sep_~i~0 3)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40861#(<= sep_~i~0 3)} is VALID [2018-11-23 12:19:13,161 INFO L273 TraceCheckUtils]: 99: Hoare triple {40861#(<= 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; {40861#(<= sep_~i~0 3)} is VALID [2018-11-23 12:19:13,162 INFO L273 TraceCheckUtils]: 100: Hoare triple {40861#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40862#(<= sep_~i~0 4)} is VALID [2018-11-23 12:19:13,163 INFO L273 TraceCheckUtils]: 101: Hoare triple {40862#(<= sep_~i~0 4)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40862#(<= sep_~i~0 4)} is VALID [2018-11-23 12:19:13,163 INFO L273 TraceCheckUtils]: 102: Hoare triple {40862#(<= 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; {40862#(<= sep_~i~0 4)} is VALID [2018-11-23 12:19:13,164 INFO L273 TraceCheckUtils]: 103: Hoare triple {40862#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40863#(<= sep_~i~0 5)} is VALID [2018-11-23 12:19:13,164 INFO L273 TraceCheckUtils]: 104: Hoare triple {40863#(<= sep_~i~0 5)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40863#(<= sep_~i~0 5)} is VALID [2018-11-23 12:19:13,165 INFO L273 TraceCheckUtils]: 105: Hoare triple {40863#(<= 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; {40863#(<= sep_~i~0 5)} is VALID [2018-11-23 12:19:13,165 INFO L273 TraceCheckUtils]: 106: Hoare triple {40863#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40864#(<= sep_~i~0 6)} is VALID [2018-11-23 12:19:13,166 INFO L273 TraceCheckUtils]: 107: Hoare triple {40864#(<= sep_~i~0 6)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40864#(<= sep_~i~0 6)} is VALID [2018-11-23 12:19:13,166 INFO L273 TraceCheckUtils]: 108: Hoare triple {40864#(<= 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; {40864#(<= sep_~i~0 6)} is VALID [2018-11-23 12:19:13,167 INFO L273 TraceCheckUtils]: 109: Hoare triple {40864#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40865#(<= sep_~i~0 7)} is VALID [2018-11-23 12:19:13,168 INFO L273 TraceCheckUtils]: 110: Hoare triple {40865#(<= sep_~i~0 7)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40865#(<= sep_~i~0 7)} is VALID [2018-11-23 12:19:13,168 INFO L273 TraceCheckUtils]: 111: Hoare triple {40865#(<= 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; {40865#(<= sep_~i~0 7)} is VALID [2018-11-23 12:19:13,169 INFO L273 TraceCheckUtils]: 112: Hoare triple {40865#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40866#(<= sep_~i~0 8)} is VALID [2018-11-23 12:19:13,169 INFO L273 TraceCheckUtils]: 113: Hoare triple {40866#(<= sep_~i~0 8)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40866#(<= sep_~i~0 8)} is VALID [2018-11-23 12:19:13,170 INFO L273 TraceCheckUtils]: 114: Hoare triple {40866#(<= 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; {40866#(<= sep_~i~0 8)} is VALID [2018-11-23 12:19:13,171 INFO L273 TraceCheckUtils]: 115: Hoare triple {40866#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40867#(<= sep_~i~0 9)} is VALID [2018-11-23 12:19:13,171 INFO L273 TraceCheckUtils]: 116: Hoare triple {40867#(<= sep_~i~0 9)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40867#(<= sep_~i~0 9)} is VALID [2018-11-23 12:19:13,171 INFO L273 TraceCheckUtils]: 117: Hoare triple {40867#(<= 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; {40867#(<= sep_~i~0 9)} is VALID [2018-11-23 12:19:13,172 INFO L273 TraceCheckUtils]: 118: Hoare triple {40867#(<= sep_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40868#(<= sep_~i~0 10)} is VALID [2018-11-23 12:19:13,173 INFO L273 TraceCheckUtils]: 119: Hoare triple {40868#(<= sep_~i~0 10)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40868#(<= sep_~i~0 10)} is VALID [2018-11-23 12:19:13,173 INFO L273 TraceCheckUtils]: 120: Hoare triple {40868#(<= 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; {40868#(<= sep_~i~0 10)} is VALID [2018-11-23 12:19:13,174 INFO L273 TraceCheckUtils]: 121: Hoare triple {40868#(<= sep_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40869#(<= sep_~i~0 11)} is VALID [2018-11-23 12:19:13,174 INFO L273 TraceCheckUtils]: 122: Hoare triple {40869#(<= sep_~i~0 11)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40869#(<= sep_~i~0 11)} is VALID [2018-11-23 12:19:13,175 INFO L273 TraceCheckUtils]: 123: Hoare triple {40869#(<= 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; {40869#(<= sep_~i~0 11)} is VALID [2018-11-23 12:19:13,176 INFO L273 TraceCheckUtils]: 124: Hoare triple {40869#(<= sep_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40870#(<= sep_~i~0 12)} is VALID [2018-11-23 12:19:13,176 INFO L273 TraceCheckUtils]: 125: Hoare triple {40870#(<= sep_~i~0 12)} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40870#(<= sep_~i~0 12)} is VALID [2018-11-23 12:19:13,177 INFO L273 TraceCheckUtils]: 126: Hoare triple {40870#(<= 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; {40870#(<= sep_~i~0 12)} is VALID [2018-11-23 12:19:13,177 INFO L273 TraceCheckUtils]: 127: Hoare triple {40870#(<= sep_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40871#(<= sep_~i~0 13)} is VALID [2018-11-23 12:19:13,178 INFO L273 TraceCheckUtils]: 128: Hoare triple {40871#(<= sep_~i~0 13)} assume !(~i~0 < 40); {40857#false} is VALID [2018-11-23 12:19:13,178 INFO L273 TraceCheckUtils]: 129: Hoare triple {40857#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {40857#false} is VALID [2018-11-23 12:19:13,178 INFO L273 TraceCheckUtils]: 130: Hoare triple {40857#false} assume true; {40857#false} is VALID [2018-11-23 12:19:13,179 INFO L268 TraceCheckUtils]: 131: Hoare quadruple {40857#false} {40856#true} #75#return; {40857#false} is VALID [2018-11-23 12:19:13,179 INFO L273 TraceCheckUtils]: 132: Hoare triple {40857#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); {40857#false} is VALID [2018-11-23 12:19:13,179 INFO L256 TraceCheckUtils]: 133: Hoare triple {40857#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {40856#true} is VALID [2018-11-23 12:19:13,179 INFO L273 TraceCheckUtils]: 134: Hoare triple {40856#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {40856#true} is VALID [2018-11-23 12:19:13,179 INFO L273 TraceCheckUtils]: 135: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,179 INFO L273 TraceCheckUtils]: 136: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,180 INFO L273 TraceCheckUtils]: 137: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,180 INFO L273 TraceCheckUtils]: 138: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,180 INFO L273 TraceCheckUtils]: 139: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,180 INFO L273 TraceCheckUtils]: 140: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,180 INFO L273 TraceCheckUtils]: 141: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,180 INFO L273 TraceCheckUtils]: 142: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,181 INFO L273 TraceCheckUtils]: 143: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,181 INFO L273 TraceCheckUtils]: 144: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,181 INFO L273 TraceCheckUtils]: 145: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,181 INFO L273 TraceCheckUtils]: 146: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,181 INFO L273 TraceCheckUtils]: 147: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,181 INFO L273 TraceCheckUtils]: 148: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,181 INFO L273 TraceCheckUtils]: 149: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,181 INFO L273 TraceCheckUtils]: 150: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,181 INFO L273 TraceCheckUtils]: 151: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,182 INFO L273 TraceCheckUtils]: 152: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,182 INFO L273 TraceCheckUtils]: 153: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,182 INFO L273 TraceCheckUtils]: 154: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,182 INFO L273 TraceCheckUtils]: 155: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,182 INFO L273 TraceCheckUtils]: 156: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,182 INFO L273 TraceCheckUtils]: 157: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,182 INFO L273 TraceCheckUtils]: 158: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,182 INFO L273 TraceCheckUtils]: 159: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,182 INFO L273 TraceCheckUtils]: 160: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,182 INFO L273 TraceCheckUtils]: 161: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,183 INFO L273 TraceCheckUtils]: 162: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,183 INFO L273 TraceCheckUtils]: 163: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,183 INFO L273 TraceCheckUtils]: 164: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,183 INFO L273 TraceCheckUtils]: 165: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,183 INFO L273 TraceCheckUtils]: 166: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,183 INFO L273 TraceCheckUtils]: 167: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,183 INFO L273 TraceCheckUtils]: 168: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,183 INFO L273 TraceCheckUtils]: 169: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,183 INFO L273 TraceCheckUtils]: 170: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,183 INFO L273 TraceCheckUtils]: 171: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,184 INFO L273 TraceCheckUtils]: 172: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,184 INFO L273 TraceCheckUtils]: 173: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,184 INFO L273 TraceCheckUtils]: 174: Hoare triple {40856#true} assume !(~i~0 < 40); {40856#true} is VALID [2018-11-23 12:19:13,184 INFO L273 TraceCheckUtils]: 175: Hoare triple {40856#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {40856#true} is VALID [2018-11-23 12:19:13,184 INFO L273 TraceCheckUtils]: 176: Hoare triple {40856#true} assume true; {40856#true} is VALID [2018-11-23 12:19:13,184 INFO L268 TraceCheckUtils]: 177: Hoare quadruple {40856#true} {40857#false} #77#return; {40857#false} is VALID [2018-11-23 12:19:13,184 INFO L273 TraceCheckUtils]: 178: Hoare triple {40857#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; {40857#false} is VALID [2018-11-23 12:19:13,184 INFO L273 TraceCheckUtils]: 179: Hoare triple {40857#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40857#false} is VALID [2018-11-23 12:19:13,184 INFO L273 TraceCheckUtils]: 180: Hoare triple {40857#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40857#false} is VALID [2018-11-23 12:19:13,184 INFO L273 TraceCheckUtils]: 181: Hoare triple {40857#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40857#false} is VALID [2018-11-23 12:19:13,185 INFO L273 TraceCheckUtils]: 182: Hoare triple {40857#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40857#false} is VALID [2018-11-23 12:19:13,185 INFO L273 TraceCheckUtils]: 183: Hoare triple {40857#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40857#false} is VALID [2018-11-23 12:19:13,185 INFO L273 TraceCheckUtils]: 184: Hoare triple {40857#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40857#false} is VALID [2018-11-23 12:19:13,185 INFO L273 TraceCheckUtils]: 185: Hoare triple {40857#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40857#false} is VALID [2018-11-23 12:19:13,185 INFO L273 TraceCheckUtils]: 186: Hoare triple {40857#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40857#false} is VALID [2018-11-23 12:19:13,185 INFO L273 TraceCheckUtils]: 187: Hoare triple {40857#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40857#false} is VALID [2018-11-23 12:19:13,185 INFO L273 TraceCheckUtils]: 188: Hoare triple {40857#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40857#false} is VALID [2018-11-23 12:19:13,185 INFO L273 TraceCheckUtils]: 189: Hoare triple {40857#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40857#false} is VALID [2018-11-23 12:19:13,185 INFO L273 TraceCheckUtils]: 190: Hoare triple {40857#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40857#false} is VALID [2018-11-23 12:19:13,185 INFO L273 TraceCheckUtils]: 191: Hoare triple {40857#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40857#false} is VALID [2018-11-23 12:19:13,186 INFO L273 TraceCheckUtils]: 192: Hoare triple {40857#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40857#false} is VALID [2018-11-23 12:19:13,186 INFO L273 TraceCheckUtils]: 193: Hoare triple {40857#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40857#false} is VALID [2018-11-23 12:19:13,186 INFO L273 TraceCheckUtils]: 194: Hoare triple {40857#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40857#false} is VALID [2018-11-23 12:19:13,186 INFO L273 TraceCheckUtils]: 195: Hoare triple {40857#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40857#false} is VALID [2018-11-23 12:19:13,186 INFO L273 TraceCheckUtils]: 196: Hoare triple {40857#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40857#false} is VALID [2018-11-23 12:19:13,186 INFO L273 TraceCheckUtils]: 197: Hoare triple {40857#false} assume !!(~i~2 < 39);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {40857#false} is VALID [2018-11-23 12:19:13,186 INFO L273 TraceCheckUtils]: 198: Hoare triple {40857#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {40857#false} is VALID [2018-11-23 12:19:13,186 INFO L273 TraceCheckUtils]: 199: Hoare triple {40857#false} assume !(~i~2 < 39); {40857#false} is VALID [2018-11-23 12:19:13,186 INFO L273 TraceCheckUtils]: 200: Hoare triple {40857#false} call write~int(~temp~0, ~#x~0.base, 156 + ~#x~0.offset, 4); {40857#false} is VALID [2018-11-23 12:19:13,186 INFO L256 TraceCheckUtils]: 201: Hoare triple {40857#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {40856#true} is VALID [2018-11-23 12:19:13,187 INFO L273 TraceCheckUtils]: 202: Hoare triple {40856#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {40856#true} is VALID [2018-11-23 12:19:13,187 INFO L273 TraceCheckUtils]: 203: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,187 INFO L273 TraceCheckUtils]: 204: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,187 INFO L273 TraceCheckUtils]: 205: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,187 INFO L273 TraceCheckUtils]: 206: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,187 INFO L273 TraceCheckUtils]: 207: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,187 INFO L273 TraceCheckUtils]: 208: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,187 INFO L273 TraceCheckUtils]: 209: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,187 INFO L273 TraceCheckUtils]: 210: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,187 INFO L273 TraceCheckUtils]: 211: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,188 INFO L273 TraceCheckUtils]: 212: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,188 INFO L273 TraceCheckUtils]: 213: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,188 INFO L273 TraceCheckUtils]: 214: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,188 INFO L273 TraceCheckUtils]: 215: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,188 INFO L273 TraceCheckUtils]: 216: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,188 INFO L273 TraceCheckUtils]: 217: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,188 INFO L273 TraceCheckUtils]: 218: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,188 INFO L273 TraceCheckUtils]: 219: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,188 INFO L273 TraceCheckUtils]: 220: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,188 INFO L273 TraceCheckUtils]: 221: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,188 INFO L273 TraceCheckUtils]: 222: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,189 INFO L273 TraceCheckUtils]: 223: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,189 INFO L273 TraceCheckUtils]: 224: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,189 INFO L273 TraceCheckUtils]: 225: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,189 INFO L273 TraceCheckUtils]: 226: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,189 INFO L273 TraceCheckUtils]: 227: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,189 INFO L273 TraceCheckUtils]: 228: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,189 INFO L273 TraceCheckUtils]: 229: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,189 INFO L273 TraceCheckUtils]: 230: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,189 INFO L273 TraceCheckUtils]: 231: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,189 INFO L273 TraceCheckUtils]: 232: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,189 INFO L273 TraceCheckUtils]: 233: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,190 INFO L273 TraceCheckUtils]: 234: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,190 INFO L273 TraceCheckUtils]: 235: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,190 INFO L273 TraceCheckUtils]: 236: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,190 INFO L273 TraceCheckUtils]: 237: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,190 INFO L273 TraceCheckUtils]: 238: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,190 INFO L273 TraceCheckUtils]: 239: Hoare triple {40856#true} assume !!(~i~0 < 40);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {40856#true} is VALID [2018-11-23 12:19:13,190 INFO L273 TraceCheckUtils]: 240: Hoare triple {40856#true} assume 0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := 1 + #t~post2;havoc #t~post2; {40856#true} is VALID [2018-11-23 12:19:13,190 INFO L273 TraceCheckUtils]: 241: Hoare triple {40856#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {40856#true} is VALID [2018-11-23 12:19:13,190 INFO L273 TraceCheckUtils]: 242: Hoare triple {40856#true} assume !(~i~0 < 40); {40856#true} is VALID [2018-11-23 12:19:13,190 INFO L273 TraceCheckUtils]: 243: Hoare triple {40856#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {40856#true} is VALID [2018-11-23 12:19:13,190 INFO L273 TraceCheckUtils]: 244: Hoare triple {40856#true} assume true; {40856#true} is VALID [2018-11-23 12:19:13,191 INFO L268 TraceCheckUtils]: 245: Hoare quadruple {40856#true} {40857#false} #79#return; {40857#false} is VALID [2018-11-23 12:19:13,191 INFO L273 TraceCheckUtils]: 246: Hoare triple {40857#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {40857#false} is VALID [2018-11-23 12:19:13,191 INFO L273 TraceCheckUtils]: 247: Hoare triple {40857#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {40857#false} is VALID [2018-11-23 12:19:13,191 INFO L273 TraceCheckUtils]: 248: Hoare triple {40857#false} assume !false; {40857#false} is VALID [2018-11-23 12:19:13,210 INFO L134 CoverageAnalysis]: Checked inductivity of 4055 backedges. 0 proven. 1321 refuted. 0 times theorem prover too weak. 2734 trivial. 0 not checked. [2018-11-23 12:19:13,211 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:19:13,211 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:19:13,219 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1