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/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/reducercommutativity/sep10_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-18e5b2d-m [2018-11-18 23:07:46,154 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-18 23:07:46,156 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-18 23:07:46,173 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-18 23:07:46,173 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-18 23:07:46,174 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-18 23:07:46,176 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-18 23:07:46,179 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-18 23:07:46,180 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-18 23:07:46,182 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-18 23:07:46,185 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-18 23:07:46,185 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-18 23:07:46,188 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-18 23:07:46,195 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-18 23:07:46,196 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-18 23:07:46,199 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-18 23:07:46,200 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-18 23:07:46,204 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-18 23:07:46,206 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-18 23:07:46,207 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-18 23:07:46,208 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-18 23:07:46,209 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-18 23:07:46,211 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-18 23:07:46,211 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-18 23:07:46,212 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-18 23:07:46,212 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-18 23:07:46,213 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-18 23:07:46,214 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-18 23:07:46,215 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-18 23:07:46,216 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-18 23:07:46,216 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-18 23:07:46,217 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-18 23:07:46,217 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-18 23:07:46,217 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-18 23:07:46,218 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-18 23:07:46,219 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-18 23:07:46,219 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-18 23:07:46,234 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-18 23:07:46,234 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-18 23:07:46,235 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-18 23:07:46,235 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-18 23:07:46,236 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-18 23:07:46,236 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-18 23:07:46,236 INFO L133 SettingsManager]: * Use SBE=true [2018-11-18 23:07:46,236 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-18 23:07:46,237 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-18 23:07:46,237 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-18 23:07:46,237 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-18 23:07:46,237 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-18 23:07:46,237 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-18 23:07:46,237 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-18 23:07:46,238 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-18 23:07:46,238 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-18 23:07:46,238 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-18 23:07:46,238 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-18 23:07:46,239 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-18 23:07:46,239 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-18 23:07:46,239 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-18 23:07:46,239 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-18 23:07:46,239 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-18 23:07:46,240 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-18 23:07:46,240 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-18 23:07:46,240 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-18 23:07:46,240 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-18 23:07:46,240 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-18 23:07:46,241 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-18 23:07:46,241 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-18 23:07:46,241 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-18 23:07:46,284 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-18 23:07:46,297 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-18 23:07:46,301 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-18 23:07:46,303 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-18 23:07:46,303 INFO L276 PluginConnector]: CDTParser initialized [2018-11-18 23:07:46,304 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/reducercommutativity/sep10_true-unreach-call.i [2018-11-18 23:07:46,363 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b24934201/2f92b1be4d85409eb8437940a660f226/FLAG754b92892 [2018-11-18 23:07:46,810 INFO L307 CDTParser]: Found 1 translation units. [2018-11-18 23:07:46,811 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/reducercommutativity/sep10_true-unreach-call.i [2018-11-18 23:07:46,820 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b24934201/2f92b1be4d85409eb8437940a660f226/FLAG754b92892 [2018-11-18 23:07:47,147 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b24934201/2f92b1be4d85409eb8437940a660f226 [2018-11-18 23:07:47,157 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-18 23:07:47,158 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-18 23:07:47,159 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-18 23:07:47,160 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-18 23:07:47,166 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-18 23:07:47,168 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:07:47" (1/1) ... [2018-11-18 23:07:47,171 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@595e579a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:07:47, skipping insertion in model container [2018-11-18 23:07:47,171 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:07:47" (1/1) ... [2018-11-18 23:07:47,183 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-18 23:07:47,209 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-18 23:07:47,488 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:07:47,504 INFO L191 MainTranslator]: Completed pre-run [2018-11-18 23:07:47,549 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:07:47,572 INFO L195 MainTranslator]: Completed translation [2018-11-18 23:07:47,573 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:07:47 WrapperNode [2018-11-18 23:07:47,573 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-18 23:07:47,573 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-18 23:07:47,575 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-18 23:07:47,575 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-18 23:07:47,591 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:07:47" (1/1) ... [2018-11-18 23:07:47,591 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:07:47" (1/1) ... [2018-11-18 23:07:47,602 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:07:47" (1/1) ... [2018-11-18 23:07:47,603 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:07:47" (1/1) ... [2018-11-18 23:07:47,616 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:07:47" (1/1) ... [2018-11-18 23:07:47,623 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:07:47" (1/1) ... [2018-11-18 23:07:47,625 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:07:47" (1/1) ... [2018-11-18 23:07:47,628 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-18 23:07:47,629 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-18 23:07:47,629 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-18 23:07:47,630 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-18 23:07:47,634 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:07:47" (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-18 23:07:47,771 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-18 23:07:47,772 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-18 23:07:47,772 INFO L138 BoogieDeclarations]: Found implementation of procedure sep [2018-11-18 23:07:47,772 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-18 23:07:47,772 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-18 23:07:47,772 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-11-18 23:07:47,772 INFO L130 BoogieDeclarations]: Found specification of procedure sep [2018-11-18 23:07:47,773 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-18 23:07:47,773 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-18 23:07:47,773 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-18 23:07:47,773 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-18 23:07:47,773 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-18 23:07:47,773 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-18 23:07:47,773 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-18 23:07:47,774 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-18 23:07:48,619 INFO L280 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-18 23:07:48,620 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:07:48 BoogieIcfgContainer [2018-11-18 23:07:48,621 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-18 23:07:48,622 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-18 23:07:48,622 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-18 23:07:48,625 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-18 23:07:48,626 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 18.11 11:07:47" (1/3) ... [2018-11-18 23:07:48,626 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@189edeec and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:07:48, skipping insertion in model container [2018-11-18 23:07:48,627 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:07:47" (2/3) ... [2018-11-18 23:07:48,627 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@189edeec and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:07:48, skipping insertion in model container [2018-11-18 23:07:48,627 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:07:48" (3/3) ... [2018-11-18 23:07:48,629 INFO L112 eAbstractionObserver]: Analyzing ICFG sep10_true-unreach-call.i [2018-11-18 23:07:48,640 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-18 23:07:48,649 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-18 23:07:48,667 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-18 23:07:48,701 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-18 23:07:48,702 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-18 23:07:48,703 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-18 23:07:48,703 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-18 23:07:48,703 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-18 23:07:48,704 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-18 23:07:48,704 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-18 23:07:48,704 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-18 23:07:48,704 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-18 23:07:48,725 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states. [2018-11-18 23:07:48,733 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-18 23:07:48,733 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:07:48,734 INFO L375 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-18 23:07:48,737 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:07:48,743 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:07:48,744 INFO L82 PathProgramCache]: Analyzing trace with hash 373848704, now seen corresponding path program 1 times [2018-11-18 23:07:48,746 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:07:48,747 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:07:48,806 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:48,806 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:07:48,806 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:48,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:48,965 INFO L256 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {38#true} is VALID [2018-11-18 23:07:48,970 INFO L273 TraceCheckUtils]: 1: Hoare triple {38#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {38#true} is VALID [2018-11-18 23:07:48,970 INFO L273 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2018-11-18 23:07:48,971 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #74#return; {38#true} is VALID [2018-11-18 23:07:48,972 INFO L256 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret14 := main(); {38#true} is VALID [2018-11-18 23:07:48,972 INFO L273 TraceCheckUtils]: 5: Hoare triple {38#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {38#true} is VALID [2018-11-18 23:07:48,985 INFO L273 TraceCheckUtils]: 6: Hoare triple {38#true} assume !true; {39#false} is VALID [2018-11-18 23:07:48,986 INFO L256 TraceCheckUtils]: 7: Hoare triple {39#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {38#true} is VALID [2018-11-18 23:07:48,986 INFO L273 TraceCheckUtils]: 8: Hoare triple {38#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {38#true} is VALID [2018-11-18 23:07:48,986 INFO L273 TraceCheckUtils]: 9: Hoare triple {38#true} assume !true; {38#true} is VALID [2018-11-18 23:07:48,987 INFO L273 TraceCheckUtils]: 10: Hoare triple {38#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {38#true} is VALID [2018-11-18 23:07:48,987 INFO L273 TraceCheckUtils]: 11: Hoare triple {38#true} assume true; {38#true} is VALID [2018-11-18 23:07:48,987 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {38#true} {39#false} #78#return; {39#false} is VALID [2018-11-18 23:07:48,988 INFO L273 TraceCheckUtils]: 13: Hoare triple {39#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); {39#false} is VALID [2018-11-18 23:07:48,988 INFO L256 TraceCheckUtils]: 14: Hoare triple {39#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {38#true} is VALID [2018-11-18 23:07:48,988 INFO L273 TraceCheckUtils]: 15: Hoare triple {38#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {38#true} is VALID [2018-11-18 23:07:48,989 INFO L273 TraceCheckUtils]: 16: Hoare triple {38#true} assume !true; {38#true} is VALID [2018-11-18 23:07:48,989 INFO L273 TraceCheckUtils]: 17: Hoare triple {38#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {38#true} is VALID [2018-11-18 23:07:48,989 INFO L273 TraceCheckUtils]: 18: Hoare triple {38#true} assume true; {38#true} is VALID [2018-11-18 23:07:48,990 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {38#true} {39#false} #80#return; {39#false} is VALID [2018-11-18 23:07:48,990 INFO L273 TraceCheckUtils]: 20: Hoare triple {39#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; {39#false} is VALID [2018-11-18 23:07:48,990 INFO L273 TraceCheckUtils]: 21: Hoare triple {39#false} assume !true; {39#false} is VALID [2018-11-18 23:07:48,991 INFO L273 TraceCheckUtils]: 22: Hoare triple {39#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {39#false} is VALID [2018-11-18 23:07:48,991 INFO L256 TraceCheckUtils]: 23: Hoare triple {39#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {38#true} is VALID [2018-11-18 23:07:48,991 INFO L273 TraceCheckUtils]: 24: Hoare triple {38#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {38#true} is VALID [2018-11-18 23:07:48,992 INFO L273 TraceCheckUtils]: 25: Hoare triple {38#true} assume !true; {38#true} is VALID [2018-11-18 23:07:48,992 INFO L273 TraceCheckUtils]: 26: Hoare triple {38#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {38#true} is VALID [2018-11-18 23:07:48,992 INFO L273 TraceCheckUtils]: 27: Hoare triple {38#true} assume true; {38#true} is VALID [2018-11-18 23:07:48,993 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {38#true} {39#false} #82#return; {39#false} is VALID [2018-11-18 23:07:48,993 INFO L273 TraceCheckUtils]: 29: Hoare triple {39#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {39#false} is VALID [2018-11-18 23:07:48,993 INFO L273 TraceCheckUtils]: 30: Hoare triple {39#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {39#false} is VALID [2018-11-18 23:07:48,994 INFO L273 TraceCheckUtils]: 31: Hoare triple {39#false} assume !false; {39#false} is VALID [2018-11-18 23:07:49,000 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-18 23:07:49,003 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:07:49,003 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-18 23:07:49,010 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-18 23:07:49,013 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:07:49,018 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-18 23:07:49,198 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-18 23:07:49,198 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-18 23:07:49,207 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-18 23:07:49,208 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-18 23:07:49,211 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 2 states. [2018-11-18 23:07:49,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:49,341 INFO L93 Difference]: Finished difference Result 61 states and 80 transitions. [2018-11-18 23:07:49,342 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-18 23:07:49,342 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-18 23:07:49,342 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:07:49,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:07:49,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 80 transitions. [2018-11-18 23:07:49,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:07:49,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 80 transitions. [2018-11-18 23:07:49,361 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 80 transitions. [2018-11-18 23:07:49,619 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:07:49,632 INFO L225 Difference]: With dead ends: 61 [2018-11-18 23:07:49,633 INFO L226 Difference]: Without dead ends: 30 [2018-11-18 23:07:49,637 INFO L604 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-18 23:07:49,657 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-18 23:07:49,817 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2018-11-18 23:07:49,817 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:07:49,818 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 30 states. [2018-11-18 23:07:49,819 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 30 states. [2018-11-18 23:07:49,819 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 30 states. [2018-11-18 23:07:49,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:49,826 INFO L93 Difference]: Finished difference Result 30 states and 35 transitions. [2018-11-18 23:07:49,826 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-18 23:07:49,827 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:49,827 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:49,827 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 30 states. [2018-11-18 23:07:49,827 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 30 states. [2018-11-18 23:07:49,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:49,833 INFO L93 Difference]: Finished difference Result 30 states and 35 transitions. [2018-11-18 23:07:49,833 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-18 23:07:49,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:49,834 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:49,835 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:07:49,835 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:07:49,835 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-18 23:07:49,839 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 35 transitions. [2018-11-18 23:07:49,841 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 35 transitions. Word has length 32 [2018-11-18 23:07:49,841 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:07:49,842 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 35 transitions. [2018-11-18 23:07:49,842 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-18 23:07:49,842 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-18 23:07:49,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-18 23:07:49,844 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:07:49,844 INFO L375 BasicCegarLoop]: trace histogram [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-18 23:07:49,845 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:07:49,845 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:07:49,845 INFO L82 PathProgramCache]: Analyzing trace with hash 1658721474, now seen corresponding path program 1 times [2018-11-18 23:07:49,846 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:07:49,846 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:07:49,847 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:49,847 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:07:49,847 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:49,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:50,009 INFO L256 TraceCheckUtils]: 0: Hoare triple {221#true} call ULTIMATE.init(); {221#true} is VALID [2018-11-18 23:07:50,010 INFO L273 TraceCheckUtils]: 1: Hoare triple {221#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {221#true} is VALID [2018-11-18 23:07:50,010 INFO L273 TraceCheckUtils]: 2: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-18 23:07:50,010 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {221#true} {221#true} #74#return; {221#true} is VALID [2018-11-18 23:07:50,011 INFO L256 TraceCheckUtils]: 4: Hoare triple {221#true} call #t~ret14 := main(); {221#true} is VALID [2018-11-18 23:07:50,025 INFO L273 TraceCheckUtils]: 5: Hoare triple {221#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {223#(= main_~i~1 0)} is VALID [2018-11-18 23:07:50,030 INFO L273 TraceCheckUtils]: 6: Hoare triple {223#(= main_~i~1 0)} assume true; {223#(= main_~i~1 0)} is VALID [2018-11-18 23:07:50,031 INFO L273 TraceCheckUtils]: 7: Hoare triple {223#(= main_~i~1 0)} assume !(~i~1 < 10); {222#false} is VALID [2018-11-18 23:07:50,032 INFO L256 TraceCheckUtils]: 8: Hoare triple {222#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {221#true} is VALID [2018-11-18 23:07:50,032 INFO L273 TraceCheckUtils]: 9: Hoare triple {221#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {221#true} is VALID [2018-11-18 23:07:50,032 INFO L273 TraceCheckUtils]: 10: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-18 23:07:50,033 INFO L273 TraceCheckUtils]: 11: Hoare triple {221#true} assume !(~i~0 < 10); {221#true} is VALID [2018-11-18 23:07:50,033 INFO L273 TraceCheckUtils]: 12: Hoare triple {221#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {221#true} is VALID [2018-11-18 23:07:50,033 INFO L273 TraceCheckUtils]: 13: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-18 23:07:50,033 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {221#true} {222#false} #78#return; {222#false} is VALID [2018-11-18 23:07:50,034 INFO L273 TraceCheckUtils]: 15: Hoare triple {222#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); {222#false} is VALID [2018-11-18 23:07:50,034 INFO L256 TraceCheckUtils]: 16: Hoare triple {222#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {221#true} is VALID [2018-11-18 23:07:50,034 INFO L273 TraceCheckUtils]: 17: Hoare triple {221#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {221#true} is VALID [2018-11-18 23:07:50,034 INFO L273 TraceCheckUtils]: 18: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-18 23:07:50,035 INFO L273 TraceCheckUtils]: 19: Hoare triple {221#true} assume !(~i~0 < 10); {221#true} is VALID [2018-11-18 23:07:50,035 INFO L273 TraceCheckUtils]: 20: Hoare triple {221#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {221#true} is VALID [2018-11-18 23:07:50,035 INFO L273 TraceCheckUtils]: 21: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-18 23:07:50,035 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {221#true} {222#false} #80#return; {222#false} is VALID [2018-11-18 23:07:50,036 INFO L273 TraceCheckUtils]: 23: Hoare triple {222#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; {222#false} is VALID [2018-11-18 23:07:50,036 INFO L273 TraceCheckUtils]: 24: Hoare triple {222#false} assume true; {222#false} is VALID [2018-11-18 23:07:50,036 INFO L273 TraceCheckUtils]: 25: Hoare triple {222#false} assume !(~i~2 < 9); {222#false} is VALID [2018-11-18 23:07:50,037 INFO L273 TraceCheckUtils]: 26: Hoare triple {222#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {222#false} is VALID [2018-11-18 23:07:50,037 INFO L256 TraceCheckUtils]: 27: Hoare triple {222#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {221#true} is VALID [2018-11-18 23:07:50,037 INFO L273 TraceCheckUtils]: 28: Hoare triple {221#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {221#true} is VALID [2018-11-18 23:07:50,038 INFO L273 TraceCheckUtils]: 29: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-18 23:07:50,038 INFO L273 TraceCheckUtils]: 30: Hoare triple {221#true} assume !(~i~0 < 10); {221#true} is VALID [2018-11-18 23:07:50,039 INFO L273 TraceCheckUtils]: 31: Hoare triple {221#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {221#true} is VALID [2018-11-18 23:07:50,039 INFO L273 TraceCheckUtils]: 32: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-18 23:07:50,039 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {221#true} {222#false} #82#return; {222#false} is VALID [2018-11-18 23:07:50,040 INFO L273 TraceCheckUtils]: 34: Hoare triple {222#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {222#false} is VALID [2018-11-18 23:07:50,040 INFO L273 TraceCheckUtils]: 35: Hoare triple {222#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {222#false} is VALID [2018-11-18 23:07:50,040 INFO L273 TraceCheckUtils]: 36: Hoare triple {222#false} assume !false; {222#false} is VALID [2018-11-18 23:07:50,043 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2018-11-18 23:07:50,043 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:07:50,044 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-18 23:07:50,045 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 37 [2018-11-18 23:07:50,046 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:07:50,046 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-18 23:07:50,329 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:07:50,330 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-18 23:07:50,330 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-18 23:07:50,330 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:07:50,331 INFO L87 Difference]: Start difference. First operand 30 states and 35 transitions. Second operand 3 states. [2018-11-18 23:07:50,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:50,674 INFO L93 Difference]: Finished difference Result 54 states and 64 transitions. [2018-11-18 23:07:50,674 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-18 23:07:50,675 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 37 [2018-11-18 23:07:50,675 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:07:50,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:07:50,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2018-11-18 23:07:50,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:07:50,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2018-11-18 23:07:50,683 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 64 transitions. [2018-11-18 23:07:50,926 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-18 23:07:50,929 INFO L225 Difference]: With dead ends: 54 [2018-11-18 23:07:50,929 INFO L226 Difference]: Without dead ends: 33 [2018-11-18 23:07:50,930 INFO L604 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-18 23:07:50,930 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2018-11-18 23:07:50,949 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2018-11-18 23:07:50,950 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:07:50,950 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 32 states. [2018-11-18 23:07:50,950 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 32 states. [2018-11-18 23:07:50,950 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 32 states. [2018-11-18 23:07:50,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:50,954 INFO L93 Difference]: Finished difference Result 33 states and 38 transitions. [2018-11-18 23:07:50,954 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2018-11-18 23:07:50,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:50,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:50,955 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 33 states. [2018-11-18 23:07:50,955 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 33 states. [2018-11-18 23:07:50,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:50,959 INFO L93 Difference]: Finished difference Result 33 states and 38 transitions. [2018-11-18 23:07:50,959 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2018-11-18 23:07:50,960 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:50,960 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:50,960 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:07:50,960 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:07:50,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-18 23:07:50,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 37 transitions. [2018-11-18 23:07:50,963 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 37 transitions. Word has length 37 [2018-11-18 23:07:50,964 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:07:50,964 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 37 transitions. [2018-11-18 23:07:50,964 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-18 23:07:50,964 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2018-11-18 23:07:50,966 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-18 23:07:50,966 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:07:50,966 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 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-18 23:07:50,967 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:07:50,967 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:07:50,967 INFO L82 PathProgramCache]: Analyzing trace with hash -583898067, now seen corresponding path program 1 times [2018-11-18 23:07:50,967 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:07:50,967 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:07:50,968 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:50,969 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:07:50,969 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:50,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:51,040 INFO L256 TraceCheckUtils]: 0: Hoare triple {408#true} call ULTIMATE.init(); {408#true} is VALID [2018-11-18 23:07:51,041 INFO L273 TraceCheckUtils]: 1: Hoare triple {408#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {408#true} is VALID [2018-11-18 23:07:51,041 INFO L273 TraceCheckUtils]: 2: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-18 23:07:51,041 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {408#true} {408#true} #74#return; {408#true} is VALID [2018-11-18 23:07:51,042 INFO L256 TraceCheckUtils]: 4: Hoare triple {408#true} call #t~ret14 := main(); {408#true} is VALID [2018-11-18 23:07:51,042 INFO L273 TraceCheckUtils]: 5: Hoare triple {408#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {408#true} is VALID [2018-11-18 23:07:51,042 INFO L273 TraceCheckUtils]: 6: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-18 23:07:51,043 INFO L273 TraceCheckUtils]: 7: Hoare triple {408#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {408#true} is VALID [2018-11-18 23:07:51,043 INFO L273 TraceCheckUtils]: 8: Hoare triple {408#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {408#true} is VALID [2018-11-18 23:07:51,044 INFO L273 TraceCheckUtils]: 9: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-18 23:07:51,044 INFO L273 TraceCheckUtils]: 10: Hoare triple {408#true} assume !(~i~1 < 10); {408#true} is VALID [2018-11-18 23:07:51,044 INFO L256 TraceCheckUtils]: 11: Hoare triple {408#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {408#true} is VALID [2018-11-18 23:07:51,048 INFO L273 TraceCheckUtils]: 12: Hoare triple {408#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {410#(= sep_~i~0 0)} is VALID [2018-11-18 23:07:51,050 INFO L273 TraceCheckUtils]: 13: Hoare triple {410#(= sep_~i~0 0)} assume true; {410#(= sep_~i~0 0)} is VALID [2018-11-18 23:07:51,050 INFO L273 TraceCheckUtils]: 14: Hoare triple {410#(= sep_~i~0 0)} assume !(~i~0 < 10); {409#false} is VALID [2018-11-18 23:07:51,051 INFO L273 TraceCheckUtils]: 15: Hoare triple {409#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {409#false} is VALID [2018-11-18 23:07:51,051 INFO L273 TraceCheckUtils]: 16: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-18 23:07:51,051 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {409#false} {408#true} #78#return; {409#false} is VALID [2018-11-18 23:07:51,051 INFO L273 TraceCheckUtils]: 18: Hoare triple {409#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); {409#false} is VALID [2018-11-18 23:07:51,052 INFO L256 TraceCheckUtils]: 19: Hoare triple {409#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {408#true} is VALID [2018-11-18 23:07:51,052 INFO L273 TraceCheckUtils]: 20: Hoare triple {408#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {408#true} is VALID [2018-11-18 23:07:51,052 INFO L273 TraceCheckUtils]: 21: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-18 23:07:51,052 INFO L273 TraceCheckUtils]: 22: Hoare triple {408#true} assume !(~i~0 < 10); {408#true} is VALID [2018-11-18 23:07:51,055 INFO L273 TraceCheckUtils]: 23: Hoare triple {408#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {408#true} is VALID [2018-11-18 23:07:51,055 INFO L273 TraceCheckUtils]: 24: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-18 23:07:51,055 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {408#true} {409#false} #80#return; {409#false} is VALID [2018-11-18 23:07:51,056 INFO L273 TraceCheckUtils]: 26: Hoare triple {409#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; {409#false} is VALID [2018-11-18 23:07:51,056 INFO L273 TraceCheckUtils]: 27: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-18 23:07:51,056 INFO L273 TraceCheckUtils]: 28: Hoare triple {409#false} assume !(~i~2 < 9); {409#false} is VALID [2018-11-18 23:07:51,057 INFO L273 TraceCheckUtils]: 29: Hoare triple {409#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {409#false} is VALID [2018-11-18 23:07:51,057 INFO L256 TraceCheckUtils]: 30: Hoare triple {409#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {408#true} is VALID [2018-11-18 23:07:51,057 INFO L273 TraceCheckUtils]: 31: Hoare triple {408#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {408#true} is VALID [2018-11-18 23:07:51,058 INFO L273 TraceCheckUtils]: 32: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-18 23:07:51,058 INFO L273 TraceCheckUtils]: 33: Hoare triple {408#true} assume !(~i~0 < 10); {408#true} is VALID [2018-11-18 23:07:51,058 INFO L273 TraceCheckUtils]: 34: Hoare triple {408#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {408#true} is VALID [2018-11-18 23:07:51,059 INFO L273 TraceCheckUtils]: 35: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-18 23:07:51,059 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {408#true} {409#false} #82#return; {409#false} is VALID [2018-11-18 23:07:51,059 INFO L273 TraceCheckUtils]: 37: Hoare triple {409#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {409#false} is VALID [2018-11-18 23:07:51,059 INFO L273 TraceCheckUtils]: 38: Hoare triple {409#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {409#false} is VALID [2018-11-18 23:07:51,060 INFO L273 TraceCheckUtils]: 39: Hoare triple {409#false} assume !false; {409#false} is VALID [2018-11-18 23:07:51,063 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2018-11-18 23:07:51,063 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:07:51,063 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-18 23:07:51,075 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:07:51,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:51,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:51,150 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:07:51,329 INFO L256 TraceCheckUtils]: 0: Hoare triple {408#true} call ULTIMATE.init(); {408#true} is VALID [2018-11-18 23:07:51,330 INFO L273 TraceCheckUtils]: 1: Hoare triple {408#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {408#true} is VALID [2018-11-18 23:07:51,330 INFO L273 TraceCheckUtils]: 2: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-18 23:07:51,331 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {408#true} {408#true} #74#return; {408#true} is VALID [2018-11-18 23:07:51,331 INFO L256 TraceCheckUtils]: 4: Hoare triple {408#true} call #t~ret14 := main(); {408#true} is VALID [2018-11-18 23:07:51,331 INFO L273 TraceCheckUtils]: 5: Hoare triple {408#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {408#true} is VALID [2018-11-18 23:07:51,332 INFO L273 TraceCheckUtils]: 6: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-18 23:07:51,332 INFO L273 TraceCheckUtils]: 7: Hoare triple {408#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {408#true} is VALID [2018-11-18 23:07:51,332 INFO L273 TraceCheckUtils]: 8: Hoare triple {408#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {408#true} is VALID [2018-11-18 23:07:51,333 INFO L273 TraceCheckUtils]: 9: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-18 23:07:51,333 INFO L273 TraceCheckUtils]: 10: Hoare triple {408#true} assume !(~i~1 < 10); {408#true} is VALID [2018-11-18 23:07:51,333 INFO L256 TraceCheckUtils]: 11: Hoare triple {408#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {408#true} is VALID [2018-11-18 23:07:51,348 INFO L273 TraceCheckUtils]: 12: Hoare triple {408#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {450#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:51,353 INFO L273 TraceCheckUtils]: 13: Hoare triple {450#(<= sep_~i~0 0)} assume true; {450#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:51,362 INFO L273 TraceCheckUtils]: 14: Hoare triple {450#(<= sep_~i~0 0)} assume !(~i~0 < 10); {409#false} is VALID [2018-11-18 23:07:51,363 INFO L273 TraceCheckUtils]: 15: Hoare triple {409#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {409#false} is VALID [2018-11-18 23:07:51,363 INFO L273 TraceCheckUtils]: 16: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-18 23:07:51,364 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {409#false} {408#true} #78#return; {409#false} is VALID [2018-11-18 23:07:51,364 INFO L273 TraceCheckUtils]: 18: Hoare triple {409#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); {409#false} is VALID [2018-11-18 23:07:51,364 INFO L256 TraceCheckUtils]: 19: Hoare triple {409#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {409#false} is VALID [2018-11-18 23:07:51,364 INFO L273 TraceCheckUtils]: 20: Hoare triple {409#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {409#false} is VALID [2018-11-18 23:07:51,365 INFO L273 TraceCheckUtils]: 21: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-18 23:07:51,365 INFO L273 TraceCheckUtils]: 22: Hoare triple {409#false} assume !(~i~0 < 10); {409#false} is VALID [2018-11-18 23:07:51,365 INFO L273 TraceCheckUtils]: 23: Hoare triple {409#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {409#false} is VALID [2018-11-18 23:07:51,366 INFO L273 TraceCheckUtils]: 24: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-18 23:07:51,366 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {409#false} {409#false} #80#return; {409#false} is VALID [2018-11-18 23:07:51,366 INFO L273 TraceCheckUtils]: 26: Hoare triple {409#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; {409#false} is VALID [2018-11-18 23:07:51,366 INFO L273 TraceCheckUtils]: 27: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-18 23:07:51,367 INFO L273 TraceCheckUtils]: 28: Hoare triple {409#false} assume !(~i~2 < 9); {409#false} is VALID [2018-11-18 23:07:51,367 INFO L273 TraceCheckUtils]: 29: Hoare triple {409#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {409#false} is VALID [2018-11-18 23:07:51,367 INFO L256 TraceCheckUtils]: 30: Hoare triple {409#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {409#false} is VALID [2018-11-18 23:07:51,368 INFO L273 TraceCheckUtils]: 31: Hoare triple {409#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {409#false} is VALID [2018-11-18 23:07:51,368 INFO L273 TraceCheckUtils]: 32: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-18 23:07:51,368 INFO L273 TraceCheckUtils]: 33: Hoare triple {409#false} assume !(~i~0 < 10); {409#false} is VALID [2018-11-18 23:07:51,368 INFO L273 TraceCheckUtils]: 34: Hoare triple {409#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {409#false} is VALID [2018-11-18 23:07:51,369 INFO L273 TraceCheckUtils]: 35: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-18 23:07:51,369 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {409#false} {409#false} #82#return; {409#false} is VALID [2018-11-18 23:07:51,369 INFO L273 TraceCheckUtils]: 37: Hoare triple {409#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {409#false} is VALID [2018-11-18 23:07:51,370 INFO L273 TraceCheckUtils]: 38: Hoare triple {409#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {409#false} is VALID [2018-11-18 23:07:51,370 INFO L273 TraceCheckUtils]: 39: Hoare triple {409#false} assume !false; {409#false} is VALID [2018-11-18 23:07:51,373 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2018-11-18 23:07:51,394 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-18 23:07:51,394 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [3] total 4 [2018-11-18 23:07:51,394 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 40 [2018-11-18 23:07:51,397 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:07:51,397 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-18 23:07:51,536 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:07:51,536 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-18 23:07:51,536 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-18 23:07:51,536 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-18 23:07:51,537 INFO L87 Difference]: Start difference. First operand 32 states and 37 transitions. Second operand 4 states. [2018-11-18 23:07:51,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:51,701 INFO L93 Difference]: Finished difference Result 56 states and 69 transitions. [2018-11-18 23:07:51,701 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-18 23:07:51,701 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 40 [2018-11-18 23:07:51,702 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:07:51,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-18 23:07:51,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 67 transitions. [2018-11-18 23:07:51,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-18 23:07:51,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 67 transitions. [2018-11-18 23:07:51,709 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 67 transitions. [2018-11-18 23:07:51,838 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:07:51,841 INFO L225 Difference]: With dead ends: 56 [2018-11-18 23:07:51,842 INFO L226 Difference]: Without dead ends: 36 [2018-11-18 23:07:51,843 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 40 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-18 23:07:51,843 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2018-11-18 23:07:51,886 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2018-11-18 23:07:51,886 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:07:51,887 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 34 states. [2018-11-18 23:07:51,887 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 34 states. [2018-11-18 23:07:51,887 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 34 states. [2018-11-18 23:07:51,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:51,890 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2018-11-18 23:07:51,891 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2018-11-18 23:07:51,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:51,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:51,892 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 36 states. [2018-11-18 23:07:51,892 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 36 states. [2018-11-18 23:07:51,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:51,895 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2018-11-18 23:07:51,895 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2018-11-18 23:07:51,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:51,896 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:51,896 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:07:51,897 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:07:51,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-18 23:07:51,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 39 transitions. [2018-11-18 23:07:51,899 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 39 transitions. Word has length 40 [2018-11-18 23:07:51,900 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:07:51,900 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 39 transitions. [2018-11-18 23:07:51,900 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-18 23:07:51,900 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2018-11-18 23:07:51,902 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-18 23:07:51,902 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:07:51,902 INFO L375 BasicCegarLoop]: trace histogram [6, 3, 3, 3, 3, 3, 3, 3, 2, 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-18 23:07:51,902 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:07:51,903 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:07:51,903 INFO L82 PathProgramCache]: Analyzing trace with hash 1185758630, now seen corresponding path program 1 times [2018-11-18 23:07:51,903 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:07:51,903 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:07:51,904 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:51,905 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:07:51,905 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:51,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:52,019 INFO L256 TraceCheckUtils]: 0: Hoare triple {724#true} call ULTIMATE.init(); {724#true} is VALID [2018-11-18 23:07:52,019 INFO L273 TraceCheckUtils]: 1: Hoare triple {724#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {724#true} is VALID [2018-11-18 23:07:52,020 INFO L273 TraceCheckUtils]: 2: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-18 23:07:52,020 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {724#true} {724#true} #74#return; {724#true} is VALID [2018-11-18 23:07:52,021 INFO L256 TraceCheckUtils]: 4: Hoare triple {724#true} call #t~ret14 := main(); {724#true} is VALID [2018-11-18 23:07:52,021 INFO L273 TraceCheckUtils]: 5: Hoare triple {724#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {724#true} is VALID [2018-11-18 23:07:52,021 INFO L273 TraceCheckUtils]: 6: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-18 23:07:52,022 INFO L273 TraceCheckUtils]: 7: Hoare triple {724#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {724#true} is VALID [2018-11-18 23:07:52,022 INFO L273 TraceCheckUtils]: 8: Hoare triple {724#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {724#true} is VALID [2018-11-18 23:07:52,022 INFO L273 TraceCheckUtils]: 9: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-18 23:07:52,022 INFO L273 TraceCheckUtils]: 10: Hoare triple {724#true} assume !(~i~1 < 10); {724#true} is VALID [2018-11-18 23:07:52,023 INFO L256 TraceCheckUtils]: 11: Hoare triple {724#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {724#true} is VALID [2018-11-18 23:07:52,023 INFO L273 TraceCheckUtils]: 12: Hoare triple {724#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {724#true} is VALID [2018-11-18 23:07:52,023 INFO L273 TraceCheckUtils]: 13: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-18 23:07:52,024 INFO L273 TraceCheckUtils]: 14: Hoare triple {724#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {724#true} is VALID [2018-11-18 23:07:52,024 INFO L273 TraceCheckUtils]: 15: Hoare triple {724#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {724#true} is VALID [2018-11-18 23:07:52,024 INFO L273 TraceCheckUtils]: 16: Hoare triple {724#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {724#true} is VALID [2018-11-18 23:07:52,025 INFO L273 TraceCheckUtils]: 17: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-18 23:07:52,025 INFO L273 TraceCheckUtils]: 18: Hoare triple {724#true} assume !(~i~0 < 10); {724#true} is VALID [2018-11-18 23:07:52,025 INFO L273 TraceCheckUtils]: 19: Hoare triple {724#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {724#true} is VALID [2018-11-18 23:07:52,026 INFO L273 TraceCheckUtils]: 20: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-18 23:07:52,026 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {724#true} {724#true} #78#return; {724#true} is VALID [2018-11-18 23:07:52,026 INFO L273 TraceCheckUtils]: 22: Hoare triple {724#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); {724#true} is VALID [2018-11-18 23:07:52,026 INFO L256 TraceCheckUtils]: 23: Hoare triple {724#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {724#true} is VALID [2018-11-18 23:07:52,027 INFO L273 TraceCheckUtils]: 24: Hoare triple {724#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {724#true} is VALID [2018-11-18 23:07:52,027 INFO L273 TraceCheckUtils]: 25: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-18 23:07:52,027 INFO L273 TraceCheckUtils]: 26: Hoare triple {724#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {724#true} is VALID [2018-11-18 23:07:52,027 INFO L273 TraceCheckUtils]: 27: Hoare triple {724#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {724#true} is VALID [2018-11-18 23:07:52,028 INFO L273 TraceCheckUtils]: 28: Hoare triple {724#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {724#true} is VALID [2018-11-18 23:07:52,028 INFO L273 TraceCheckUtils]: 29: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-18 23:07:52,028 INFO L273 TraceCheckUtils]: 30: Hoare triple {724#true} assume !(~i~0 < 10); {724#true} is VALID [2018-11-18 23:07:52,029 INFO L273 TraceCheckUtils]: 31: Hoare triple {724#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {724#true} is VALID [2018-11-18 23:07:52,029 INFO L273 TraceCheckUtils]: 32: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-18 23:07:52,029 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {724#true} {724#true} #80#return; {724#true} is VALID [2018-11-18 23:07:52,037 INFO L273 TraceCheckUtils]: 34: Hoare triple {724#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; {726#(= main_~i~2 0)} is VALID [2018-11-18 23:07:52,039 INFO L273 TraceCheckUtils]: 35: Hoare triple {726#(= main_~i~2 0)} assume true; {726#(= main_~i~2 0)} is VALID [2018-11-18 23:07:52,041 INFO L273 TraceCheckUtils]: 36: Hoare triple {726#(= main_~i~2 0)} assume !(~i~2 < 9); {725#false} is VALID [2018-11-18 23:07:52,041 INFO L273 TraceCheckUtils]: 37: Hoare triple {725#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {725#false} is VALID [2018-11-18 23:07:52,041 INFO L256 TraceCheckUtils]: 38: Hoare triple {725#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {724#true} is VALID [2018-11-18 23:07:52,042 INFO L273 TraceCheckUtils]: 39: Hoare triple {724#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {724#true} is VALID [2018-11-18 23:07:52,042 INFO L273 TraceCheckUtils]: 40: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-18 23:07:52,043 INFO L273 TraceCheckUtils]: 41: Hoare triple {724#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {724#true} is VALID [2018-11-18 23:07:52,043 INFO L273 TraceCheckUtils]: 42: Hoare triple {724#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {724#true} is VALID [2018-11-18 23:07:52,043 INFO L273 TraceCheckUtils]: 43: Hoare triple {724#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {724#true} is VALID [2018-11-18 23:07:52,043 INFO L273 TraceCheckUtils]: 44: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-18 23:07:52,044 INFO L273 TraceCheckUtils]: 45: Hoare triple {724#true} assume !(~i~0 < 10); {724#true} is VALID [2018-11-18 23:07:52,044 INFO L273 TraceCheckUtils]: 46: Hoare triple {724#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {724#true} is VALID [2018-11-18 23:07:52,044 INFO L273 TraceCheckUtils]: 47: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-18 23:07:52,045 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {724#true} {725#false} #82#return; {725#false} is VALID [2018-11-18 23:07:52,045 INFO L273 TraceCheckUtils]: 49: Hoare triple {725#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {725#false} is VALID [2018-11-18 23:07:52,045 INFO L273 TraceCheckUtils]: 50: Hoare triple {725#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {725#false} is VALID [2018-11-18 23:07:52,045 INFO L273 TraceCheckUtils]: 51: Hoare triple {725#false} assume !false; {725#false} is VALID [2018-11-18 23:07:52,049 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2018-11-18 23:07:52,050 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:07:52,050 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-18 23:07:52,050 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 52 [2018-11-18 23:07:52,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:07:52,051 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-18 23:07:52,130 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:07:52,131 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-18 23:07:52,131 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-18 23:07:52,131 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-18 23:07:52,131 INFO L87 Difference]: Start difference. First operand 34 states and 39 transitions. Second operand 3 states. [2018-11-18 23:07:52,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:52,249 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2018-11-18 23:07:52,249 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-18 23:07:52,250 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 52 [2018-11-18 23:07:52,250 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:07:52,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:07:52,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2018-11-18 23:07:52,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-18 23:07:52,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2018-11-18 23:07:52,255 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 54 transitions. [2018-11-18 23:07:52,366 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:07:52,368 INFO L225 Difference]: With dead ends: 53 [2018-11-18 23:07:52,368 INFO L226 Difference]: Without dead ends: 37 [2018-11-18 23:07:52,369 INFO L604 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-18 23:07:52,369 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-18 23:07:52,382 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 36. [2018-11-18 23:07:52,383 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:07:52,383 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 36 states. [2018-11-18 23:07:52,383 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 36 states. [2018-11-18 23:07:52,383 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 36 states. [2018-11-18 23:07:52,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:52,386 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2018-11-18 23:07:52,386 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2018-11-18 23:07:52,387 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:52,387 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:52,388 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 37 states. [2018-11-18 23:07:52,388 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 37 states. [2018-11-18 23:07:52,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:52,391 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2018-11-18 23:07:52,391 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2018-11-18 23:07:52,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:52,392 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:52,392 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:07:52,392 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:07:52,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-18 23:07:52,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 41 transitions. [2018-11-18 23:07:52,395 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 41 transitions. Word has length 52 [2018-11-18 23:07:52,396 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:07:52,396 INFO L480 AbstractCegarLoop]: Abstraction has 36 states and 41 transitions. [2018-11-18 23:07:52,396 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-18 23:07:52,396 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2018-11-18 23:07:52,398 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2018-11-18 23:07:52,398 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:07:52,398 INFO L375 BasicCegarLoop]: trace histogram [6, 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, 1, 1] [2018-11-18 23:07:52,398 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:07:52,399 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:07:52,399 INFO L82 PathProgramCache]: Analyzing trace with hash -2029337717, now seen corresponding path program 1 times [2018-11-18 23:07:52,399 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:07:52,399 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:07:52,400 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:52,400 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:07:52,400 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:52,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:52,510 INFO L256 TraceCheckUtils]: 0: Hoare triple {924#true} call ULTIMATE.init(); {924#true} is VALID [2018-11-18 23:07:52,511 INFO L273 TraceCheckUtils]: 1: Hoare triple {924#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {924#true} is VALID [2018-11-18 23:07:52,511 INFO L273 TraceCheckUtils]: 2: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-18 23:07:52,511 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {924#true} {924#true} #74#return; {924#true} is VALID [2018-11-18 23:07:52,512 INFO L256 TraceCheckUtils]: 4: Hoare triple {924#true} call #t~ret14 := main(); {924#true} is VALID [2018-11-18 23:07:52,517 INFO L273 TraceCheckUtils]: 5: Hoare triple {924#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {926#(= main_~i~1 0)} is VALID [2018-11-18 23:07:52,518 INFO L273 TraceCheckUtils]: 6: Hoare triple {926#(= main_~i~1 0)} assume true; {926#(= main_~i~1 0)} is VALID [2018-11-18 23:07:52,519 INFO L273 TraceCheckUtils]: 7: Hoare triple {926#(= main_~i~1 0)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {926#(= main_~i~1 0)} is VALID [2018-11-18 23:07:52,520 INFO L273 TraceCheckUtils]: 8: Hoare triple {926#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {927#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:52,522 INFO L273 TraceCheckUtils]: 9: Hoare triple {927#(<= main_~i~1 1)} assume true; {927#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:52,523 INFO L273 TraceCheckUtils]: 10: Hoare triple {927#(<= main_~i~1 1)} assume !(~i~1 < 10); {925#false} is VALID [2018-11-18 23:07:52,523 INFO L256 TraceCheckUtils]: 11: Hoare triple {925#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {924#true} is VALID [2018-11-18 23:07:52,523 INFO L273 TraceCheckUtils]: 12: Hoare triple {924#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {924#true} is VALID [2018-11-18 23:07:52,523 INFO L273 TraceCheckUtils]: 13: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-18 23:07:52,524 INFO L273 TraceCheckUtils]: 14: Hoare triple {924#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {924#true} is VALID [2018-11-18 23:07:52,524 INFO L273 TraceCheckUtils]: 15: Hoare triple {924#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {924#true} is VALID [2018-11-18 23:07:52,524 INFO L273 TraceCheckUtils]: 16: Hoare triple {924#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {924#true} is VALID [2018-11-18 23:07:52,524 INFO L273 TraceCheckUtils]: 17: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-18 23:07:52,525 INFO L273 TraceCheckUtils]: 18: Hoare triple {924#true} assume !(~i~0 < 10); {924#true} is VALID [2018-11-18 23:07:52,525 INFO L273 TraceCheckUtils]: 19: Hoare triple {924#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {924#true} is VALID [2018-11-18 23:07:52,525 INFO L273 TraceCheckUtils]: 20: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-18 23:07:52,526 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {924#true} {925#false} #78#return; {925#false} is VALID [2018-11-18 23:07:52,526 INFO L273 TraceCheckUtils]: 22: Hoare triple {925#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); {925#false} is VALID [2018-11-18 23:07:52,526 INFO L256 TraceCheckUtils]: 23: Hoare triple {925#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {924#true} is VALID [2018-11-18 23:07:52,526 INFO L273 TraceCheckUtils]: 24: Hoare triple {924#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {924#true} is VALID [2018-11-18 23:07:52,527 INFO L273 TraceCheckUtils]: 25: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-18 23:07:52,527 INFO L273 TraceCheckUtils]: 26: Hoare triple {924#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {924#true} is VALID [2018-11-18 23:07:52,527 INFO L273 TraceCheckUtils]: 27: Hoare triple {924#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {924#true} is VALID [2018-11-18 23:07:52,527 INFO L273 TraceCheckUtils]: 28: Hoare triple {924#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {924#true} is VALID [2018-11-18 23:07:52,528 INFO L273 TraceCheckUtils]: 29: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-18 23:07:52,528 INFO L273 TraceCheckUtils]: 30: Hoare triple {924#true} assume !(~i~0 < 10); {924#true} is VALID [2018-11-18 23:07:52,528 INFO L273 TraceCheckUtils]: 31: Hoare triple {924#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {924#true} is VALID [2018-11-18 23:07:52,528 INFO L273 TraceCheckUtils]: 32: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-18 23:07:52,529 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {924#true} {925#false} #80#return; {925#false} is VALID [2018-11-18 23:07:52,529 INFO L273 TraceCheckUtils]: 34: Hoare triple {925#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; {925#false} is VALID [2018-11-18 23:07:52,529 INFO L273 TraceCheckUtils]: 35: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-18 23:07:52,529 INFO L273 TraceCheckUtils]: 36: Hoare triple {925#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {925#false} is VALID [2018-11-18 23:07:52,530 INFO L273 TraceCheckUtils]: 37: Hoare triple {925#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {925#false} is VALID [2018-11-18 23:07:52,530 INFO L273 TraceCheckUtils]: 38: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-18 23:07:52,530 INFO L273 TraceCheckUtils]: 39: Hoare triple {925#false} assume !(~i~2 < 9); {925#false} is VALID [2018-11-18 23:07:52,530 INFO L273 TraceCheckUtils]: 40: Hoare triple {925#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {925#false} is VALID [2018-11-18 23:07:52,531 INFO L256 TraceCheckUtils]: 41: Hoare triple {925#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {924#true} is VALID [2018-11-18 23:07:52,531 INFO L273 TraceCheckUtils]: 42: Hoare triple {924#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {924#true} is VALID [2018-11-18 23:07:52,531 INFO L273 TraceCheckUtils]: 43: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-18 23:07:52,531 INFO L273 TraceCheckUtils]: 44: Hoare triple {924#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {924#true} is VALID [2018-11-18 23:07:52,531 INFO L273 TraceCheckUtils]: 45: Hoare triple {924#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {924#true} is VALID [2018-11-18 23:07:52,532 INFO L273 TraceCheckUtils]: 46: Hoare triple {924#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {924#true} is VALID [2018-11-18 23:07:52,532 INFO L273 TraceCheckUtils]: 47: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-18 23:07:52,532 INFO L273 TraceCheckUtils]: 48: Hoare triple {924#true} assume !(~i~0 < 10); {924#true} is VALID [2018-11-18 23:07:52,533 INFO L273 TraceCheckUtils]: 49: Hoare triple {924#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {924#true} is VALID [2018-11-18 23:07:52,533 INFO L273 TraceCheckUtils]: 50: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-18 23:07:52,533 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {924#true} {925#false} #82#return; {925#false} is VALID [2018-11-18 23:07:52,533 INFO L273 TraceCheckUtils]: 52: Hoare triple {925#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {925#false} is VALID [2018-11-18 23:07:52,534 INFO L273 TraceCheckUtils]: 53: Hoare triple {925#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {925#false} is VALID [2018-11-18 23:07:52,534 INFO L273 TraceCheckUtils]: 54: Hoare triple {925#false} assume !false; {925#false} is VALID [2018-11-18 23:07:52,538 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2018-11-18 23:07:52,538 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:07:52,538 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-18 23:07:52,549 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:07:52,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:52,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:52,629 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:07:52,922 INFO L256 TraceCheckUtils]: 0: Hoare triple {924#true} call ULTIMATE.init(); {924#true} is VALID [2018-11-18 23:07:52,923 INFO L273 TraceCheckUtils]: 1: Hoare triple {924#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {924#true} is VALID [2018-11-18 23:07:52,923 INFO L273 TraceCheckUtils]: 2: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-18 23:07:52,923 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {924#true} {924#true} #74#return; {924#true} is VALID [2018-11-18 23:07:52,924 INFO L256 TraceCheckUtils]: 4: Hoare triple {924#true} call #t~ret14 := main(); {924#true} is VALID [2018-11-18 23:07:52,925 INFO L273 TraceCheckUtils]: 5: Hoare triple {924#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {946#(<= main_~i~1 0)} is VALID [2018-11-18 23:07:52,925 INFO L273 TraceCheckUtils]: 6: Hoare triple {946#(<= main_~i~1 0)} assume true; {946#(<= main_~i~1 0)} is VALID [2018-11-18 23:07:52,926 INFO L273 TraceCheckUtils]: 7: Hoare triple {946#(<= main_~i~1 0)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {946#(<= main_~i~1 0)} is VALID [2018-11-18 23:07:52,945 INFO L273 TraceCheckUtils]: 8: Hoare triple {946#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {927#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:52,960 INFO L273 TraceCheckUtils]: 9: Hoare triple {927#(<= main_~i~1 1)} assume true; {927#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:52,965 INFO L273 TraceCheckUtils]: 10: Hoare triple {927#(<= main_~i~1 1)} assume !(~i~1 < 10); {925#false} is VALID [2018-11-18 23:07:52,965 INFO L256 TraceCheckUtils]: 11: Hoare triple {925#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {925#false} is VALID [2018-11-18 23:07:52,966 INFO L273 TraceCheckUtils]: 12: Hoare triple {925#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {925#false} is VALID [2018-11-18 23:07:52,966 INFO L273 TraceCheckUtils]: 13: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-18 23:07:52,966 INFO L273 TraceCheckUtils]: 14: Hoare triple {925#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {925#false} is VALID [2018-11-18 23:07:52,966 INFO L273 TraceCheckUtils]: 15: Hoare triple {925#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {925#false} is VALID [2018-11-18 23:07:52,966 INFO L273 TraceCheckUtils]: 16: Hoare triple {925#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {925#false} is VALID [2018-11-18 23:07:52,967 INFO L273 TraceCheckUtils]: 17: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-18 23:07:52,967 INFO L273 TraceCheckUtils]: 18: Hoare triple {925#false} assume !(~i~0 < 10); {925#false} is VALID [2018-11-18 23:07:52,967 INFO L273 TraceCheckUtils]: 19: Hoare triple {925#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {925#false} is VALID [2018-11-18 23:07:52,967 INFO L273 TraceCheckUtils]: 20: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-18 23:07:52,968 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {925#false} {925#false} #78#return; {925#false} is VALID [2018-11-18 23:07:52,968 INFO L273 TraceCheckUtils]: 22: Hoare triple {925#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); {925#false} is VALID [2018-11-18 23:07:52,968 INFO L256 TraceCheckUtils]: 23: Hoare triple {925#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {925#false} is VALID [2018-11-18 23:07:52,968 INFO L273 TraceCheckUtils]: 24: Hoare triple {925#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {925#false} is VALID [2018-11-18 23:07:52,969 INFO L273 TraceCheckUtils]: 25: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-18 23:07:52,969 INFO L273 TraceCheckUtils]: 26: Hoare triple {925#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {925#false} is VALID [2018-11-18 23:07:52,969 INFO L273 TraceCheckUtils]: 27: Hoare triple {925#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {925#false} is VALID [2018-11-18 23:07:52,969 INFO L273 TraceCheckUtils]: 28: Hoare triple {925#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {925#false} is VALID [2018-11-18 23:07:52,970 INFO L273 TraceCheckUtils]: 29: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-18 23:07:52,970 INFO L273 TraceCheckUtils]: 30: Hoare triple {925#false} assume !(~i~0 < 10); {925#false} is VALID [2018-11-18 23:07:52,970 INFO L273 TraceCheckUtils]: 31: Hoare triple {925#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {925#false} is VALID [2018-11-18 23:07:52,971 INFO L273 TraceCheckUtils]: 32: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-18 23:07:52,971 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {925#false} {925#false} #80#return; {925#false} is VALID [2018-11-18 23:07:52,971 INFO L273 TraceCheckUtils]: 34: Hoare triple {925#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; {925#false} is VALID [2018-11-18 23:07:52,971 INFO L273 TraceCheckUtils]: 35: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-18 23:07:52,971 INFO L273 TraceCheckUtils]: 36: Hoare triple {925#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {925#false} is VALID [2018-11-18 23:07:52,972 INFO L273 TraceCheckUtils]: 37: Hoare triple {925#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {925#false} is VALID [2018-11-18 23:07:52,972 INFO L273 TraceCheckUtils]: 38: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-18 23:07:52,972 INFO L273 TraceCheckUtils]: 39: Hoare triple {925#false} assume !(~i~2 < 9); {925#false} is VALID [2018-11-18 23:07:52,972 INFO L273 TraceCheckUtils]: 40: Hoare triple {925#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {925#false} is VALID [2018-11-18 23:07:52,972 INFO L256 TraceCheckUtils]: 41: Hoare triple {925#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {925#false} is VALID [2018-11-18 23:07:52,972 INFO L273 TraceCheckUtils]: 42: Hoare triple {925#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {925#false} is VALID [2018-11-18 23:07:52,973 INFO L273 TraceCheckUtils]: 43: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-18 23:07:52,973 INFO L273 TraceCheckUtils]: 44: Hoare triple {925#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {925#false} is VALID [2018-11-18 23:07:52,973 INFO L273 TraceCheckUtils]: 45: Hoare triple {925#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {925#false} is VALID [2018-11-18 23:07:52,973 INFO L273 TraceCheckUtils]: 46: Hoare triple {925#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {925#false} is VALID [2018-11-18 23:07:52,973 INFO L273 TraceCheckUtils]: 47: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-18 23:07:52,974 INFO L273 TraceCheckUtils]: 48: Hoare triple {925#false} assume !(~i~0 < 10); {925#false} is VALID [2018-11-18 23:07:52,974 INFO L273 TraceCheckUtils]: 49: Hoare triple {925#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {925#false} is VALID [2018-11-18 23:07:52,974 INFO L273 TraceCheckUtils]: 50: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-18 23:07:52,974 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {925#false} {925#false} #82#return; {925#false} is VALID [2018-11-18 23:07:52,974 INFO L273 TraceCheckUtils]: 52: Hoare triple {925#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {925#false} is VALID [2018-11-18 23:07:52,975 INFO L273 TraceCheckUtils]: 53: Hoare triple {925#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {925#false} is VALID [2018-11-18 23:07:52,975 INFO L273 TraceCheckUtils]: 54: Hoare triple {925#false} assume !false; {925#false} is VALID [2018-11-18 23:07:52,978 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2018-11-18 23:07:52,997 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:07:52,997 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2018-11-18 23:07:52,997 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 55 [2018-11-18 23:07:53,000 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:07:53,000 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-18 23:07:53,070 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-18 23:07:53,070 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-18 23:07:53,070 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-18 23:07:53,071 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-18 23:07:53,071 INFO L87 Difference]: Start difference. First operand 36 states and 41 transitions. Second operand 5 states. [2018-11-18 23:07:53,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:53,339 INFO L93 Difference]: Finished difference Result 65 states and 75 transitions. [2018-11-18 23:07:53,339 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-18 23:07:53,339 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 55 [2018-11-18 23:07:53,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:07:53,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-18 23:07:53,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 67 transitions. [2018-11-18 23:07:53,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-18 23:07:53,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 67 transitions. [2018-11-18 23:07:53,345 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 67 transitions. [2018-11-18 23:07:53,555 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:07:53,558 INFO L225 Difference]: With dead ends: 65 [2018-11-18 23:07:53,558 INFO L226 Difference]: Without dead ends: 40 [2018-11-18 23:07:53,559 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 55 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-18 23:07:53,559 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-18 23:07:53,584 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 39. [2018-11-18 23:07:53,584 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:07:53,584 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 39 states. [2018-11-18 23:07:53,584 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 39 states. [2018-11-18 23:07:53,585 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 39 states. [2018-11-18 23:07:53,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:53,588 INFO L93 Difference]: Finished difference Result 40 states and 45 transitions. [2018-11-18 23:07:53,588 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2018-11-18 23:07:53,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:53,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:53,589 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 40 states. [2018-11-18 23:07:53,589 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 40 states. [2018-11-18 23:07:53,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:53,592 INFO L93 Difference]: Finished difference Result 40 states and 45 transitions. [2018-11-18 23:07:53,592 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2018-11-18 23:07:53,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:53,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:53,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:07:53,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:07:53,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-18 23:07:53,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 44 transitions. [2018-11-18 23:07:53,596 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 44 transitions. Word has length 55 [2018-11-18 23:07:53,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:07:53,596 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 44 transitions. [2018-11-18 23:07:53,597 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-18 23:07:53,597 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2018-11-18 23:07:53,598 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2018-11-18 23:07:53,598 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:07:53,599 INFO L375 BasicCegarLoop]: trace histogram [6, 3, 3, 3, 3, 3, 3, 3, 3, 2, 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-18 23:07:53,599 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:07:53,599 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:07:53,599 INFO L82 PathProgramCache]: Analyzing trace with hash 1909339702, now seen corresponding path program 2 times [2018-11-18 23:07:53,599 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:07:53,600 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:07:53,601 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:53,601 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:07:53,601 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:53,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:53,754 INFO L256 TraceCheckUtils]: 0: Hoare triple {1315#true} call ULTIMATE.init(); {1315#true} is VALID [2018-11-18 23:07:53,755 INFO L273 TraceCheckUtils]: 1: Hoare triple {1315#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1315#true} is VALID [2018-11-18 23:07:53,755 INFO L273 TraceCheckUtils]: 2: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-18 23:07:53,756 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1315#true} {1315#true} #74#return; {1315#true} is VALID [2018-11-18 23:07:53,756 INFO L256 TraceCheckUtils]: 4: Hoare triple {1315#true} call #t~ret14 := main(); {1315#true} is VALID [2018-11-18 23:07:53,757 INFO L273 TraceCheckUtils]: 5: Hoare triple {1315#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1317#(= main_~i~1 0)} is VALID [2018-11-18 23:07:53,761 INFO L273 TraceCheckUtils]: 6: Hoare triple {1317#(= main_~i~1 0)} assume true; {1317#(= main_~i~1 0)} is VALID [2018-11-18 23:07:53,761 INFO L273 TraceCheckUtils]: 7: Hoare triple {1317#(= main_~i~1 0)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1317#(= main_~i~1 0)} is VALID [2018-11-18 23:07:53,763 INFO L273 TraceCheckUtils]: 8: Hoare triple {1317#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1318#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:53,766 INFO L273 TraceCheckUtils]: 9: Hoare triple {1318#(<= main_~i~1 1)} assume true; {1318#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:53,767 INFO L273 TraceCheckUtils]: 10: Hoare triple {1318#(<= main_~i~1 1)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1318#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:53,773 INFO L273 TraceCheckUtils]: 11: Hoare triple {1318#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1319#(<= main_~i~1 2)} is VALID [2018-11-18 23:07:53,776 INFO L273 TraceCheckUtils]: 12: Hoare triple {1319#(<= main_~i~1 2)} assume true; {1319#(<= main_~i~1 2)} is VALID [2018-11-18 23:07:53,776 INFO L273 TraceCheckUtils]: 13: Hoare triple {1319#(<= main_~i~1 2)} assume !(~i~1 < 10); {1316#false} is VALID [2018-11-18 23:07:53,777 INFO L256 TraceCheckUtils]: 14: Hoare triple {1316#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1315#true} is VALID [2018-11-18 23:07:53,777 INFO L273 TraceCheckUtils]: 15: Hoare triple {1315#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1315#true} is VALID [2018-11-18 23:07:53,777 INFO L273 TraceCheckUtils]: 16: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-18 23:07:53,777 INFO L273 TraceCheckUtils]: 17: Hoare triple {1315#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1315#true} is VALID [2018-11-18 23:07:53,777 INFO L273 TraceCheckUtils]: 18: Hoare triple {1315#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1315#true} is VALID [2018-11-18 23:07:53,778 INFO L273 TraceCheckUtils]: 19: Hoare triple {1315#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1315#true} is VALID [2018-11-18 23:07:53,778 INFO L273 TraceCheckUtils]: 20: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-18 23:07:53,778 INFO L273 TraceCheckUtils]: 21: Hoare triple {1315#true} assume !(~i~0 < 10); {1315#true} is VALID [2018-11-18 23:07:53,778 INFO L273 TraceCheckUtils]: 22: Hoare triple {1315#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1315#true} is VALID [2018-11-18 23:07:53,778 INFO L273 TraceCheckUtils]: 23: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-18 23:07:53,779 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1315#true} {1316#false} #78#return; {1316#false} is VALID [2018-11-18 23:07:53,779 INFO L273 TraceCheckUtils]: 25: Hoare triple {1316#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); {1316#false} is VALID [2018-11-18 23:07:53,779 INFO L256 TraceCheckUtils]: 26: Hoare triple {1316#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1315#true} is VALID [2018-11-18 23:07:53,779 INFO L273 TraceCheckUtils]: 27: Hoare triple {1315#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1315#true} is VALID [2018-11-18 23:07:53,780 INFO L273 TraceCheckUtils]: 28: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-18 23:07:53,780 INFO L273 TraceCheckUtils]: 29: Hoare triple {1315#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1315#true} is VALID [2018-11-18 23:07:53,780 INFO L273 TraceCheckUtils]: 30: Hoare triple {1315#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1315#true} is VALID [2018-11-18 23:07:53,780 INFO L273 TraceCheckUtils]: 31: Hoare triple {1315#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1315#true} is VALID [2018-11-18 23:07:53,780 INFO L273 TraceCheckUtils]: 32: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-18 23:07:53,781 INFO L273 TraceCheckUtils]: 33: Hoare triple {1315#true} assume !(~i~0 < 10); {1315#true} is VALID [2018-11-18 23:07:53,781 INFO L273 TraceCheckUtils]: 34: Hoare triple {1315#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1315#true} is VALID [2018-11-18 23:07:53,781 INFO L273 TraceCheckUtils]: 35: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-18 23:07:53,781 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1315#true} {1316#false} #80#return; {1316#false} is VALID [2018-11-18 23:07:53,781 INFO L273 TraceCheckUtils]: 37: Hoare triple {1316#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; {1316#false} is VALID [2018-11-18 23:07:53,782 INFO L273 TraceCheckUtils]: 38: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-18 23:07:53,782 INFO L273 TraceCheckUtils]: 39: Hoare triple {1316#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {1316#false} is VALID [2018-11-18 23:07:53,782 INFO L273 TraceCheckUtils]: 40: Hoare triple {1316#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {1316#false} is VALID [2018-11-18 23:07:53,782 INFO L273 TraceCheckUtils]: 41: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-18 23:07:53,782 INFO L273 TraceCheckUtils]: 42: Hoare triple {1316#false} assume !(~i~2 < 9); {1316#false} is VALID [2018-11-18 23:07:53,783 INFO L273 TraceCheckUtils]: 43: Hoare triple {1316#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {1316#false} is VALID [2018-11-18 23:07:53,783 INFO L256 TraceCheckUtils]: 44: Hoare triple {1316#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1315#true} is VALID [2018-11-18 23:07:53,783 INFO L273 TraceCheckUtils]: 45: Hoare triple {1315#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1315#true} is VALID [2018-11-18 23:07:53,783 INFO L273 TraceCheckUtils]: 46: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-18 23:07:53,783 INFO L273 TraceCheckUtils]: 47: Hoare triple {1315#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1315#true} is VALID [2018-11-18 23:07:53,784 INFO L273 TraceCheckUtils]: 48: Hoare triple {1315#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1315#true} is VALID [2018-11-18 23:07:53,784 INFO L273 TraceCheckUtils]: 49: Hoare triple {1315#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1315#true} is VALID [2018-11-18 23:07:53,784 INFO L273 TraceCheckUtils]: 50: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-18 23:07:53,784 INFO L273 TraceCheckUtils]: 51: Hoare triple {1315#true} assume !(~i~0 < 10); {1315#true} is VALID [2018-11-18 23:07:53,785 INFO L273 TraceCheckUtils]: 52: Hoare triple {1315#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1315#true} is VALID [2018-11-18 23:07:53,785 INFO L273 TraceCheckUtils]: 53: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-18 23:07:53,785 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {1315#true} {1316#false} #82#return; {1316#false} is VALID [2018-11-18 23:07:53,785 INFO L273 TraceCheckUtils]: 55: Hoare triple {1316#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1316#false} is VALID [2018-11-18 23:07:53,786 INFO L273 TraceCheckUtils]: 56: Hoare triple {1316#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1316#false} is VALID [2018-11-18 23:07:53,786 INFO L273 TraceCheckUtils]: 57: Hoare triple {1316#false} assume !false; {1316#false} is VALID [2018-11-18 23:07:53,790 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2018-11-18 23:07:53,790 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:07:53,790 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-18 23:07:53,801 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:07:53,856 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-18 23:07:53,857 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:07:53,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:53,880 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:07:53,976 INFO L256 TraceCheckUtils]: 0: Hoare triple {1315#true} call ULTIMATE.init(); {1315#true} is VALID [2018-11-18 23:07:53,976 INFO L273 TraceCheckUtils]: 1: Hoare triple {1315#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1315#true} is VALID [2018-11-18 23:07:53,976 INFO L273 TraceCheckUtils]: 2: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-18 23:07:53,977 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1315#true} {1315#true} #74#return; {1315#true} is VALID [2018-11-18 23:07:53,977 INFO L256 TraceCheckUtils]: 4: Hoare triple {1315#true} call #t~ret14 := main(); {1315#true} is VALID [2018-11-18 23:07:53,978 INFO L273 TraceCheckUtils]: 5: Hoare triple {1315#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1338#(<= main_~i~1 0)} is VALID [2018-11-18 23:07:53,978 INFO L273 TraceCheckUtils]: 6: Hoare triple {1338#(<= main_~i~1 0)} assume true; {1338#(<= main_~i~1 0)} is VALID [2018-11-18 23:07:53,979 INFO L273 TraceCheckUtils]: 7: Hoare triple {1338#(<= main_~i~1 0)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1338#(<= main_~i~1 0)} is VALID [2018-11-18 23:07:53,982 INFO L273 TraceCheckUtils]: 8: Hoare triple {1338#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1318#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:53,983 INFO L273 TraceCheckUtils]: 9: Hoare triple {1318#(<= main_~i~1 1)} assume true; {1318#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:53,983 INFO L273 TraceCheckUtils]: 10: Hoare triple {1318#(<= main_~i~1 1)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1318#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:53,984 INFO L273 TraceCheckUtils]: 11: Hoare triple {1318#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1319#(<= main_~i~1 2)} is VALID [2018-11-18 23:07:53,985 INFO L273 TraceCheckUtils]: 12: Hoare triple {1319#(<= main_~i~1 2)} assume true; {1319#(<= main_~i~1 2)} is VALID [2018-11-18 23:07:53,988 INFO L273 TraceCheckUtils]: 13: Hoare triple {1319#(<= main_~i~1 2)} assume !(~i~1 < 10); {1316#false} is VALID [2018-11-18 23:07:53,988 INFO L256 TraceCheckUtils]: 14: Hoare triple {1316#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1316#false} is VALID [2018-11-18 23:07:53,988 INFO L273 TraceCheckUtils]: 15: Hoare triple {1316#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1316#false} is VALID [2018-11-18 23:07:53,989 INFO L273 TraceCheckUtils]: 16: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-18 23:07:53,989 INFO L273 TraceCheckUtils]: 17: Hoare triple {1316#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1316#false} is VALID [2018-11-18 23:07:53,989 INFO L273 TraceCheckUtils]: 18: Hoare triple {1316#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1316#false} is VALID [2018-11-18 23:07:53,989 INFO L273 TraceCheckUtils]: 19: Hoare triple {1316#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1316#false} is VALID [2018-11-18 23:07:53,990 INFO L273 TraceCheckUtils]: 20: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-18 23:07:53,990 INFO L273 TraceCheckUtils]: 21: Hoare triple {1316#false} assume !(~i~0 < 10); {1316#false} is VALID [2018-11-18 23:07:53,990 INFO L273 TraceCheckUtils]: 22: Hoare triple {1316#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1316#false} is VALID [2018-11-18 23:07:53,990 INFO L273 TraceCheckUtils]: 23: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-18 23:07:53,991 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1316#false} {1316#false} #78#return; {1316#false} is VALID [2018-11-18 23:07:53,991 INFO L273 TraceCheckUtils]: 25: Hoare triple {1316#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); {1316#false} is VALID [2018-11-18 23:07:53,991 INFO L256 TraceCheckUtils]: 26: Hoare triple {1316#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1316#false} is VALID [2018-11-18 23:07:53,991 INFO L273 TraceCheckUtils]: 27: Hoare triple {1316#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1316#false} is VALID [2018-11-18 23:07:53,992 INFO L273 TraceCheckUtils]: 28: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-18 23:07:53,992 INFO L273 TraceCheckUtils]: 29: Hoare triple {1316#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1316#false} is VALID [2018-11-18 23:07:53,992 INFO L273 TraceCheckUtils]: 30: Hoare triple {1316#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1316#false} is VALID [2018-11-18 23:07:53,992 INFO L273 TraceCheckUtils]: 31: Hoare triple {1316#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1316#false} is VALID [2018-11-18 23:07:53,993 INFO L273 TraceCheckUtils]: 32: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-18 23:07:53,993 INFO L273 TraceCheckUtils]: 33: Hoare triple {1316#false} assume !(~i~0 < 10); {1316#false} is VALID [2018-11-18 23:07:53,993 INFO L273 TraceCheckUtils]: 34: Hoare triple {1316#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1316#false} is VALID [2018-11-18 23:07:53,993 INFO L273 TraceCheckUtils]: 35: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-18 23:07:53,994 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1316#false} {1316#false} #80#return; {1316#false} is VALID [2018-11-18 23:07:53,994 INFO L273 TraceCheckUtils]: 37: Hoare triple {1316#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; {1316#false} is VALID [2018-11-18 23:07:53,994 INFO L273 TraceCheckUtils]: 38: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-18 23:07:53,994 INFO L273 TraceCheckUtils]: 39: Hoare triple {1316#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {1316#false} is VALID [2018-11-18 23:07:53,995 INFO L273 TraceCheckUtils]: 40: Hoare triple {1316#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {1316#false} is VALID [2018-11-18 23:07:53,995 INFO L273 TraceCheckUtils]: 41: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-18 23:07:53,995 INFO L273 TraceCheckUtils]: 42: Hoare triple {1316#false} assume !(~i~2 < 9); {1316#false} is VALID [2018-11-18 23:07:53,995 INFO L273 TraceCheckUtils]: 43: Hoare triple {1316#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {1316#false} is VALID [2018-11-18 23:07:53,996 INFO L256 TraceCheckUtils]: 44: Hoare triple {1316#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1316#false} is VALID [2018-11-18 23:07:53,996 INFO L273 TraceCheckUtils]: 45: Hoare triple {1316#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1316#false} is VALID [2018-11-18 23:07:53,996 INFO L273 TraceCheckUtils]: 46: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-18 23:07:53,996 INFO L273 TraceCheckUtils]: 47: Hoare triple {1316#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1316#false} is VALID [2018-11-18 23:07:53,996 INFO L273 TraceCheckUtils]: 48: Hoare triple {1316#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1316#false} is VALID [2018-11-18 23:07:53,997 INFO L273 TraceCheckUtils]: 49: Hoare triple {1316#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1316#false} is VALID [2018-11-18 23:07:53,997 INFO L273 TraceCheckUtils]: 50: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-18 23:07:53,997 INFO L273 TraceCheckUtils]: 51: Hoare triple {1316#false} assume !(~i~0 < 10); {1316#false} is VALID [2018-11-18 23:07:53,997 INFO L273 TraceCheckUtils]: 52: Hoare triple {1316#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1316#false} is VALID [2018-11-18 23:07:53,998 INFO L273 TraceCheckUtils]: 53: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-18 23:07:53,998 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {1316#false} {1316#false} #82#return; {1316#false} is VALID [2018-11-18 23:07:53,998 INFO L273 TraceCheckUtils]: 55: Hoare triple {1316#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1316#false} is VALID [2018-11-18 23:07:53,998 INFO L273 TraceCheckUtils]: 56: Hoare triple {1316#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1316#false} is VALID [2018-11-18 23:07:53,999 INFO L273 TraceCheckUtils]: 57: Hoare triple {1316#false} assume !false; {1316#false} is VALID [2018-11-18 23:07:54,002 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2018-11-18 23:07:54,021 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:07:54,021 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-18 23:07:54,022 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 58 [2018-11-18 23:07:54,022 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:07:54,022 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-18 23:07:54,109 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:07:54,109 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-18 23:07:54,109 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-18 23:07:54,110 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-18 23:07:54,110 INFO L87 Difference]: Start difference. First operand 39 states and 44 transitions. Second operand 6 states. [2018-11-18 23:07:54,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:54,399 INFO L93 Difference]: Finished difference Result 68 states and 78 transitions. [2018-11-18 23:07:54,399 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-18 23:07:54,399 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 58 [2018-11-18 23:07:54,399 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:07:54,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-18 23:07:54,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2018-11-18 23:07:54,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-18 23:07:54,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2018-11-18 23:07:54,404 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 70 transitions. [2018-11-18 23:07:54,486 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:07:54,488 INFO L225 Difference]: With dead ends: 68 [2018-11-18 23:07:54,488 INFO L226 Difference]: Without dead ends: 43 [2018-11-18 23:07:54,489 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 58 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-18 23:07:54,489 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-18 23:07:54,525 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2018-11-18 23:07:54,525 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:07:54,525 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 42 states. [2018-11-18 23:07:54,525 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 42 states. [2018-11-18 23:07:54,526 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 42 states. [2018-11-18 23:07:54,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:54,529 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2018-11-18 23:07:54,529 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 48 transitions. [2018-11-18 23:07:54,530 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:54,530 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:54,530 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 43 states. [2018-11-18 23:07:54,531 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 43 states. [2018-11-18 23:07:54,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:54,533 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2018-11-18 23:07:54,533 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 48 transitions. [2018-11-18 23:07:54,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:54,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:54,534 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:07:54,534 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:07:54,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-18 23:07:54,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2018-11-18 23:07:54,537 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 58 [2018-11-18 23:07:54,537 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:07:54,537 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2018-11-18 23:07:54,537 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-18 23:07:54,537 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2018-11-18 23:07:54,538 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2018-11-18 23:07:54,538 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:07:54,538 INFO L375 BasicCegarLoop]: trace histogram [6, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 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-18 23:07:54,539 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:07:54,539 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:07:54,539 INFO L82 PathProgramCache]: Analyzing trace with hash 541802411, now seen corresponding path program 3 times [2018-11-18 23:07:54,539 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:07:54,539 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:07:54,540 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:54,540 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:07:54,541 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:54,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:54,801 INFO L256 TraceCheckUtils]: 0: Hoare triple {1730#true} call ULTIMATE.init(); {1730#true} is VALID [2018-11-18 23:07:54,802 INFO L273 TraceCheckUtils]: 1: Hoare triple {1730#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1730#true} is VALID [2018-11-18 23:07:54,802 INFO L273 TraceCheckUtils]: 2: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:54,802 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1730#true} {1730#true} #74#return; {1730#true} is VALID [2018-11-18 23:07:54,803 INFO L256 TraceCheckUtils]: 4: Hoare triple {1730#true} call #t~ret14 := main(); {1730#true} is VALID [2018-11-18 23:07:54,803 INFO L273 TraceCheckUtils]: 5: Hoare triple {1730#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1732#(= main_~i~1 0)} is VALID [2018-11-18 23:07:54,804 INFO L273 TraceCheckUtils]: 6: Hoare triple {1732#(= main_~i~1 0)} assume true; {1732#(= main_~i~1 0)} is VALID [2018-11-18 23:07:54,804 INFO L273 TraceCheckUtils]: 7: Hoare triple {1732#(= main_~i~1 0)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1732#(= main_~i~1 0)} is VALID [2018-11-18 23:07:54,805 INFO L273 TraceCheckUtils]: 8: Hoare triple {1732#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1733#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:54,805 INFO L273 TraceCheckUtils]: 9: Hoare triple {1733#(<= main_~i~1 1)} assume true; {1733#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:54,806 INFO L273 TraceCheckUtils]: 10: Hoare triple {1733#(<= main_~i~1 1)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1733#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:54,824 INFO L273 TraceCheckUtils]: 11: Hoare triple {1733#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1734#(<= main_~i~1 2)} is VALID [2018-11-18 23:07:54,825 INFO L273 TraceCheckUtils]: 12: Hoare triple {1734#(<= main_~i~1 2)} assume true; {1734#(<= main_~i~1 2)} is VALID [2018-11-18 23:07:54,825 INFO L273 TraceCheckUtils]: 13: Hoare triple {1734#(<= main_~i~1 2)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1734#(<= main_~i~1 2)} is VALID [2018-11-18 23:07:54,826 INFO L273 TraceCheckUtils]: 14: Hoare triple {1734#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1735#(<= main_~i~1 3)} is VALID [2018-11-18 23:07:54,827 INFO L273 TraceCheckUtils]: 15: Hoare triple {1735#(<= main_~i~1 3)} assume true; {1735#(<= main_~i~1 3)} is VALID [2018-11-18 23:07:54,827 INFO L273 TraceCheckUtils]: 16: Hoare triple {1735#(<= main_~i~1 3)} assume !(~i~1 < 10); {1731#false} is VALID [2018-11-18 23:07:54,827 INFO L256 TraceCheckUtils]: 17: Hoare triple {1731#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1730#true} is VALID [2018-11-18 23:07:54,827 INFO L273 TraceCheckUtils]: 18: Hoare triple {1730#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1730#true} is VALID [2018-11-18 23:07:54,828 INFO L273 TraceCheckUtils]: 19: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:54,828 INFO L273 TraceCheckUtils]: 20: Hoare triple {1730#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1730#true} is VALID [2018-11-18 23:07:54,828 INFO L273 TraceCheckUtils]: 21: Hoare triple {1730#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1730#true} is VALID [2018-11-18 23:07:54,828 INFO L273 TraceCheckUtils]: 22: Hoare triple {1730#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1730#true} is VALID [2018-11-18 23:07:54,829 INFO L273 TraceCheckUtils]: 23: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:54,829 INFO L273 TraceCheckUtils]: 24: Hoare triple {1730#true} assume !(~i~0 < 10); {1730#true} is VALID [2018-11-18 23:07:54,829 INFO L273 TraceCheckUtils]: 25: Hoare triple {1730#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1730#true} is VALID [2018-11-18 23:07:54,830 INFO L273 TraceCheckUtils]: 26: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:54,830 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1730#true} {1731#false} #78#return; {1731#false} is VALID [2018-11-18 23:07:54,830 INFO L273 TraceCheckUtils]: 28: Hoare triple {1731#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); {1731#false} is VALID [2018-11-18 23:07:54,830 INFO L256 TraceCheckUtils]: 29: Hoare triple {1731#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1730#true} is VALID [2018-11-18 23:07:54,831 INFO L273 TraceCheckUtils]: 30: Hoare triple {1730#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1730#true} is VALID [2018-11-18 23:07:54,831 INFO L273 TraceCheckUtils]: 31: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:54,831 INFO L273 TraceCheckUtils]: 32: Hoare triple {1730#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1730#true} is VALID [2018-11-18 23:07:54,831 INFO L273 TraceCheckUtils]: 33: Hoare triple {1730#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1730#true} is VALID [2018-11-18 23:07:54,831 INFO L273 TraceCheckUtils]: 34: Hoare triple {1730#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1730#true} is VALID [2018-11-18 23:07:54,832 INFO L273 TraceCheckUtils]: 35: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:54,832 INFO L273 TraceCheckUtils]: 36: Hoare triple {1730#true} assume !(~i~0 < 10); {1730#true} is VALID [2018-11-18 23:07:54,832 INFO L273 TraceCheckUtils]: 37: Hoare triple {1730#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1730#true} is VALID [2018-11-18 23:07:54,832 INFO L273 TraceCheckUtils]: 38: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:54,832 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {1730#true} {1731#false} #80#return; {1731#false} is VALID [2018-11-18 23:07:54,832 INFO L273 TraceCheckUtils]: 40: Hoare triple {1731#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; {1731#false} is VALID [2018-11-18 23:07:54,833 INFO L273 TraceCheckUtils]: 41: Hoare triple {1731#false} assume true; {1731#false} is VALID [2018-11-18 23:07:54,833 INFO L273 TraceCheckUtils]: 42: Hoare triple {1731#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {1731#false} is VALID [2018-11-18 23:07:54,833 INFO L273 TraceCheckUtils]: 43: Hoare triple {1731#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {1731#false} is VALID [2018-11-18 23:07:54,833 INFO L273 TraceCheckUtils]: 44: Hoare triple {1731#false} assume true; {1731#false} is VALID [2018-11-18 23:07:54,833 INFO L273 TraceCheckUtils]: 45: Hoare triple {1731#false} assume !(~i~2 < 9); {1731#false} is VALID [2018-11-18 23:07:54,834 INFO L273 TraceCheckUtils]: 46: Hoare triple {1731#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {1731#false} is VALID [2018-11-18 23:07:54,834 INFO L256 TraceCheckUtils]: 47: Hoare triple {1731#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1730#true} is VALID [2018-11-18 23:07:54,834 INFO L273 TraceCheckUtils]: 48: Hoare triple {1730#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1730#true} is VALID [2018-11-18 23:07:54,834 INFO L273 TraceCheckUtils]: 49: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:54,834 INFO L273 TraceCheckUtils]: 50: Hoare triple {1730#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1730#true} is VALID [2018-11-18 23:07:54,834 INFO L273 TraceCheckUtils]: 51: Hoare triple {1730#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1730#true} is VALID [2018-11-18 23:07:54,835 INFO L273 TraceCheckUtils]: 52: Hoare triple {1730#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1730#true} is VALID [2018-11-18 23:07:54,835 INFO L273 TraceCheckUtils]: 53: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:54,835 INFO L273 TraceCheckUtils]: 54: Hoare triple {1730#true} assume !(~i~0 < 10); {1730#true} is VALID [2018-11-18 23:07:54,835 INFO L273 TraceCheckUtils]: 55: Hoare triple {1730#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1730#true} is VALID [2018-11-18 23:07:54,835 INFO L273 TraceCheckUtils]: 56: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:54,835 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {1730#true} {1731#false} #82#return; {1731#false} is VALID [2018-11-18 23:07:54,836 INFO L273 TraceCheckUtils]: 58: Hoare triple {1731#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1731#false} is VALID [2018-11-18 23:07:54,836 INFO L273 TraceCheckUtils]: 59: Hoare triple {1731#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1731#false} is VALID [2018-11-18 23:07:54,836 INFO L273 TraceCheckUtils]: 60: Hoare triple {1731#false} assume !false; {1731#false} is VALID [2018-11-18 23:07:54,839 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2018-11-18 23:07:54,840 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:07:54,840 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-18 23:07:54,849 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-18 23:07:54,898 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-11-18 23:07:54,898 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:07:54,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:54,936 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:07:55,485 INFO L256 TraceCheckUtils]: 0: Hoare triple {1730#true} call ULTIMATE.init(); {1730#true} is VALID [2018-11-18 23:07:55,485 INFO L273 TraceCheckUtils]: 1: Hoare triple {1730#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1730#true} is VALID [2018-11-18 23:07:55,486 INFO L273 TraceCheckUtils]: 2: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:55,486 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1730#true} {1730#true} #74#return; {1730#true} is VALID [2018-11-18 23:07:55,486 INFO L256 TraceCheckUtils]: 4: Hoare triple {1730#true} call #t~ret14 := main(); {1730#true} is VALID [2018-11-18 23:07:55,487 INFO L273 TraceCheckUtils]: 5: Hoare triple {1730#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1730#true} is VALID [2018-11-18 23:07:55,487 INFO L273 TraceCheckUtils]: 6: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:55,487 INFO L273 TraceCheckUtils]: 7: Hoare triple {1730#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1730#true} is VALID [2018-11-18 23:07:55,487 INFO L273 TraceCheckUtils]: 8: Hoare triple {1730#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1730#true} is VALID [2018-11-18 23:07:55,487 INFO L273 TraceCheckUtils]: 9: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:55,488 INFO L273 TraceCheckUtils]: 10: Hoare triple {1730#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1730#true} is VALID [2018-11-18 23:07:55,488 INFO L273 TraceCheckUtils]: 11: Hoare triple {1730#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1730#true} is VALID [2018-11-18 23:07:55,488 INFO L273 TraceCheckUtils]: 12: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:55,488 INFO L273 TraceCheckUtils]: 13: Hoare triple {1730#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {1730#true} is VALID [2018-11-18 23:07:55,488 INFO L273 TraceCheckUtils]: 14: Hoare triple {1730#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {1730#true} is VALID [2018-11-18 23:07:55,488 INFO L273 TraceCheckUtils]: 15: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:55,489 INFO L273 TraceCheckUtils]: 16: Hoare triple {1730#true} assume !(~i~1 < 10); {1730#true} is VALID [2018-11-18 23:07:55,489 INFO L256 TraceCheckUtils]: 17: Hoare triple {1730#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1730#true} is VALID [2018-11-18 23:07:55,489 INFO L273 TraceCheckUtils]: 18: Hoare triple {1730#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1730#true} is VALID [2018-11-18 23:07:55,489 INFO L273 TraceCheckUtils]: 19: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:55,489 INFO L273 TraceCheckUtils]: 20: Hoare triple {1730#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1730#true} is VALID [2018-11-18 23:07:55,489 INFO L273 TraceCheckUtils]: 21: Hoare triple {1730#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1730#true} is VALID [2018-11-18 23:07:55,490 INFO L273 TraceCheckUtils]: 22: Hoare triple {1730#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1730#true} is VALID [2018-11-18 23:07:55,490 INFO L273 TraceCheckUtils]: 23: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:55,490 INFO L273 TraceCheckUtils]: 24: Hoare triple {1730#true} assume !(~i~0 < 10); {1730#true} is VALID [2018-11-18 23:07:55,490 INFO L273 TraceCheckUtils]: 25: Hoare triple {1730#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1730#true} is VALID [2018-11-18 23:07:55,491 INFO L273 TraceCheckUtils]: 26: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:55,491 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1730#true} {1730#true} #78#return; {1730#true} is VALID [2018-11-18 23:07:55,491 INFO L273 TraceCheckUtils]: 28: Hoare triple {1730#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); {1730#true} is VALID [2018-11-18 23:07:55,491 INFO L256 TraceCheckUtils]: 29: Hoare triple {1730#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1730#true} is VALID [2018-11-18 23:07:55,492 INFO L273 TraceCheckUtils]: 30: Hoare triple {1730#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1730#true} is VALID [2018-11-18 23:07:55,492 INFO L273 TraceCheckUtils]: 31: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:55,492 INFO L273 TraceCheckUtils]: 32: Hoare triple {1730#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1730#true} is VALID [2018-11-18 23:07:55,492 INFO L273 TraceCheckUtils]: 33: Hoare triple {1730#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1730#true} is VALID [2018-11-18 23:07:55,493 INFO L273 TraceCheckUtils]: 34: Hoare triple {1730#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1730#true} is VALID [2018-11-18 23:07:55,493 INFO L273 TraceCheckUtils]: 35: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:55,493 INFO L273 TraceCheckUtils]: 36: Hoare triple {1730#true} assume !(~i~0 < 10); {1730#true} is VALID [2018-11-18 23:07:55,493 INFO L273 TraceCheckUtils]: 37: Hoare triple {1730#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1730#true} is VALID [2018-11-18 23:07:55,493 INFO L273 TraceCheckUtils]: 38: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:55,494 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {1730#true} {1730#true} #80#return; {1730#true} is VALID [2018-11-18 23:07:55,494 INFO L273 TraceCheckUtils]: 40: Hoare triple {1730#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; {1730#true} is VALID [2018-11-18 23:07:55,494 INFO L273 TraceCheckUtils]: 41: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:55,494 INFO L273 TraceCheckUtils]: 42: Hoare triple {1730#true} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {1730#true} is VALID [2018-11-18 23:07:55,495 INFO L273 TraceCheckUtils]: 43: Hoare triple {1730#true} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {1730#true} is VALID [2018-11-18 23:07:55,495 INFO L273 TraceCheckUtils]: 44: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-18 23:07:55,495 INFO L273 TraceCheckUtils]: 45: Hoare triple {1730#true} assume !(~i~2 < 9); {1730#true} is VALID [2018-11-18 23:07:55,495 INFO L273 TraceCheckUtils]: 46: Hoare triple {1730#true} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {1730#true} is VALID [2018-11-18 23:07:55,495 INFO L256 TraceCheckUtils]: 47: Hoare triple {1730#true} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1730#true} is VALID [2018-11-18 23:07:55,504 INFO L273 TraceCheckUtils]: 48: Hoare triple {1730#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {1883#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:55,510 INFO L273 TraceCheckUtils]: 49: Hoare triple {1883#(<= sep_~i~0 0)} assume true; {1883#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:55,512 INFO L273 TraceCheckUtils]: 50: Hoare triple {1883#(<= sep_~i~0 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {1883#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:55,512 INFO L273 TraceCheckUtils]: 51: Hoare triple {1883#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1883#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:55,514 INFO L273 TraceCheckUtils]: 52: Hoare triple {1883#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1896#(<= sep_~i~0 1)} is VALID [2018-11-18 23:07:55,514 INFO L273 TraceCheckUtils]: 53: Hoare triple {1896#(<= sep_~i~0 1)} assume true; {1896#(<= sep_~i~0 1)} is VALID [2018-11-18 23:07:55,515 INFO L273 TraceCheckUtils]: 54: Hoare triple {1896#(<= sep_~i~0 1)} assume !(~i~0 < 10); {1731#false} is VALID [2018-11-18 23:07:55,515 INFO L273 TraceCheckUtils]: 55: Hoare triple {1731#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1731#false} is VALID [2018-11-18 23:07:55,515 INFO L273 TraceCheckUtils]: 56: Hoare triple {1731#false} assume true; {1731#false} is VALID [2018-11-18 23:07:55,515 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {1731#false} {1730#true} #82#return; {1731#false} is VALID [2018-11-18 23:07:55,515 INFO L273 TraceCheckUtils]: 58: Hoare triple {1731#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1731#false} is VALID [2018-11-18 23:07:55,515 INFO L273 TraceCheckUtils]: 59: Hoare triple {1731#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1731#false} is VALID [2018-11-18 23:07:55,516 INFO L273 TraceCheckUtils]: 60: Hoare triple {1731#false} assume !false; {1731#false} is VALID [2018-11-18 23:07:55,520 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 26 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2018-11-18 23:07:55,540 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:07:55,540 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4] total 8 [2018-11-18 23:07:55,541 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 61 [2018-11-18 23:07:55,541 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:07:55,541 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-18 23:07:55,655 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:07:55,656 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-18 23:07:55,656 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-18 23:07:55,656 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-18 23:07:55,657 INFO L87 Difference]: Start difference. First operand 42 states and 47 transitions. Second operand 8 states. [2018-11-18 23:07:56,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:56,097 INFO L93 Difference]: Finished difference Result 77 states and 93 transitions. [2018-11-18 23:07:56,097 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-18 23:07:56,097 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 61 [2018-11-18 23:07:56,098 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:07:56,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-18 23:07:56,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2018-11-18 23:07:56,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-18 23:07:56,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2018-11-18 23:07:56,103 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 87 transitions. [2018-11-18 23:07:56,269 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:07:56,271 INFO L225 Difference]: With dead ends: 77 [2018-11-18 23:07:56,272 INFO L226 Difference]: Without dead ends: 52 [2018-11-18 23:07:56,273 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 60 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-18 23:07:56,273 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-18 23:07:56,307 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 49. [2018-11-18 23:07:56,307 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:07:56,308 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 49 states. [2018-11-18 23:07:56,308 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 49 states. [2018-11-18 23:07:56,308 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 49 states. [2018-11-18 23:07:56,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:56,311 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2018-11-18 23:07:56,311 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2018-11-18 23:07:56,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:56,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:56,312 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 52 states. [2018-11-18 23:07:56,312 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 52 states. [2018-11-18 23:07:56,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:56,335 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2018-11-18 23:07:56,335 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2018-11-18 23:07:56,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:56,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:56,335 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:07:56,336 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:07:56,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-18 23:07:56,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 55 transitions. [2018-11-18 23:07:56,339 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 55 transitions. Word has length 61 [2018-11-18 23:07:56,339 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:07:56,339 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 55 transitions. [2018-11-18 23:07:56,339 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-18 23:07:56,339 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 55 transitions. [2018-11-18 23:07:56,341 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2018-11-18 23:07:56,341 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:07:56,341 INFO L375 BasicCegarLoop]: trace histogram [9, 6, 6, 6, 5, 4, 4, 3, 3, 3, 3, 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-18 23:07:56,342 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:07:56,346 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:07:56,346 INFO L82 PathProgramCache]: Analyzing trace with hash 322852459, now seen corresponding path program 4 times [2018-11-18 23:07:56,346 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:07:56,346 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:07:56,348 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:56,348 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:07:56,348 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:56,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:56,609 INFO L256 TraceCheckUtils]: 0: Hoare triple {2194#true} call ULTIMATE.init(); {2194#true} is VALID [2018-11-18 23:07:56,610 INFO L273 TraceCheckUtils]: 1: Hoare triple {2194#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2194#true} is VALID [2018-11-18 23:07:56,610 INFO L273 TraceCheckUtils]: 2: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,610 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2194#true} {2194#true} #74#return; {2194#true} is VALID [2018-11-18 23:07:56,610 INFO L256 TraceCheckUtils]: 4: Hoare triple {2194#true} call #t~ret14 := main(); {2194#true} is VALID [2018-11-18 23:07:56,611 INFO L273 TraceCheckUtils]: 5: Hoare triple {2194#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2196#(= main_~i~1 0)} is VALID [2018-11-18 23:07:56,619 INFO L273 TraceCheckUtils]: 6: Hoare triple {2196#(= main_~i~1 0)} assume true; {2196#(= main_~i~1 0)} is VALID [2018-11-18 23:07:56,620 INFO L273 TraceCheckUtils]: 7: Hoare triple {2196#(= main_~i~1 0)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2196#(= main_~i~1 0)} is VALID [2018-11-18 23:07:56,620 INFO L273 TraceCheckUtils]: 8: Hoare triple {2196#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2197#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:56,621 INFO L273 TraceCheckUtils]: 9: Hoare triple {2197#(<= main_~i~1 1)} assume true; {2197#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:56,621 INFO L273 TraceCheckUtils]: 10: Hoare triple {2197#(<= main_~i~1 1)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2197#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:56,621 INFO L273 TraceCheckUtils]: 11: Hoare triple {2197#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2198#(<= main_~i~1 2)} is VALID [2018-11-18 23:07:56,622 INFO L273 TraceCheckUtils]: 12: Hoare triple {2198#(<= main_~i~1 2)} assume true; {2198#(<= main_~i~1 2)} is VALID [2018-11-18 23:07:56,622 INFO L273 TraceCheckUtils]: 13: Hoare triple {2198#(<= main_~i~1 2)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2198#(<= main_~i~1 2)} is VALID [2018-11-18 23:07:56,623 INFO L273 TraceCheckUtils]: 14: Hoare triple {2198#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2199#(<= main_~i~1 3)} is VALID [2018-11-18 23:07:56,623 INFO L273 TraceCheckUtils]: 15: Hoare triple {2199#(<= main_~i~1 3)} assume true; {2199#(<= main_~i~1 3)} is VALID [2018-11-18 23:07:56,623 INFO L273 TraceCheckUtils]: 16: Hoare triple {2199#(<= main_~i~1 3)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2199#(<= main_~i~1 3)} is VALID [2018-11-18 23:07:56,624 INFO L273 TraceCheckUtils]: 17: Hoare triple {2199#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2200#(<= main_~i~1 4)} is VALID [2018-11-18 23:07:56,624 INFO L273 TraceCheckUtils]: 18: Hoare triple {2200#(<= main_~i~1 4)} assume true; {2200#(<= main_~i~1 4)} is VALID [2018-11-18 23:07:56,642 INFO L273 TraceCheckUtils]: 19: Hoare triple {2200#(<= main_~i~1 4)} assume !(~i~1 < 10); {2195#false} is VALID [2018-11-18 23:07:56,642 INFO L256 TraceCheckUtils]: 20: Hoare triple {2195#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2194#true} is VALID [2018-11-18 23:07:56,642 INFO L273 TraceCheckUtils]: 21: Hoare triple {2194#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2194#true} is VALID [2018-11-18 23:07:56,643 INFO L273 TraceCheckUtils]: 22: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,643 INFO L273 TraceCheckUtils]: 23: Hoare triple {2194#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2194#true} is VALID [2018-11-18 23:07:56,643 INFO L273 TraceCheckUtils]: 24: Hoare triple {2194#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2194#true} is VALID [2018-11-18 23:07:56,643 INFO L273 TraceCheckUtils]: 25: Hoare triple {2194#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2194#true} is VALID [2018-11-18 23:07:56,643 INFO L273 TraceCheckUtils]: 26: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,643 INFO L273 TraceCheckUtils]: 27: Hoare triple {2194#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2194#true} is VALID [2018-11-18 23:07:56,644 INFO L273 TraceCheckUtils]: 28: Hoare triple {2194#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2194#true} is VALID [2018-11-18 23:07:56,644 INFO L273 TraceCheckUtils]: 29: Hoare triple {2194#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2194#true} is VALID [2018-11-18 23:07:56,644 INFO L273 TraceCheckUtils]: 30: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,644 INFO L273 TraceCheckUtils]: 31: Hoare triple {2194#true} assume !(~i~0 < 10); {2194#true} is VALID [2018-11-18 23:07:56,644 INFO L273 TraceCheckUtils]: 32: Hoare triple {2194#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2194#true} is VALID [2018-11-18 23:07:56,645 INFO L273 TraceCheckUtils]: 33: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,645 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2194#true} {2195#false} #78#return; {2195#false} is VALID [2018-11-18 23:07:56,645 INFO L273 TraceCheckUtils]: 35: Hoare triple {2195#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); {2195#false} is VALID [2018-11-18 23:07:56,645 INFO L256 TraceCheckUtils]: 36: Hoare triple {2195#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2194#true} is VALID [2018-11-18 23:07:56,645 INFO L273 TraceCheckUtils]: 37: Hoare triple {2194#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2194#true} is VALID [2018-11-18 23:07:56,645 INFO L273 TraceCheckUtils]: 38: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,646 INFO L273 TraceCheckUtils]: 39: Hoare triple {2194#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2194#true} is VALID [2018-11-18 23:07:56,646 INFO L273 TraceCheckUtils]: 40: Hoare triple {2194#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2194#true} is VALID [2018-11-18 23:07:56,646 INFO L273 TraceCheckUtils]: 41: Hoare triple {2194#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2194#true} is VALID [2018-11-18 23:07:56,646 INFO L273 TraceCheckUtils]: 42: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,646 INFO L273 TraceCheckUtils]: 43: Hoare triple {2194#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2194#true} is VALID [2018-11-18 23:07:56,647 INFO L273 TraceCheckUtils]: 44: Hoare triple {2194#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2194#true} is VALID [2018-11-18 23:07:56,647 INFO L273 TraceCheckUtils]: 45: Hoare triple {2194#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2194#true} is VALID [2018-11-18 23:07:56,647 INFO L273 TraceCheckUtils]: 46: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,647 INFO L273 TraceCheckUtils]: 47: Hoare triple {2194#true} assume !(~i~0 < 10); {2194#true} is VALID [2018-11-18 23:07:56,647 INFO L273 TraceCheckUtils]: 48: Hoare triple {2194#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2194#true} is VALID [2018-11-18 23:07:56,647 INFO L273 TraceCheckUtils]: 49: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,648 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {2194#true} {2195#false} #80#return; {2195#false} is VALID [2018-11-18 23:07:56,648 INFO L273 TraceCheckUtils]: 51: Hoare triple {2195#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; {2195#false} is VALID [2018-11-18 23:07:56,648 INFO L273 TraceCheckUtils]: 52: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-18 23:07:56,648 INFO L273 TraceCheckUtils]: 53: Hoare triple {2195#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {2195#false} is VALID [2018-11-18 23:07:56,648 INFO L273 TraceCheckUtils]: 54: Hoare triple {2195#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {2195#false} is VALID [2018-11-18 23:07:56,649 INFO L273 TraceCheckUtils]: 55: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-18 23:07:56,649 INFO L273 TraceCheckUtils]: 56: Hoare triple {2195#false} assume !(~i~2 < 9); {2195#false} is VALID [2018-11-18 23:07:56,649 INFO L273 TraceCheckUtils]: 57: Hoare triple {2195#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {2195#false} is VALID [2018-11-18 23:07:56,649 INFO L256 TraceCheckUtils]: 58: Hoare triple {2195#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2194#true} is VALID [2018-11-18 23:07:56,649 INFO L273 TraceCheckUtils]: 59: Hoare triple {2194#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2194#true} is VALID [2018-11-18 23:07:56,649 INFO L273 TraceCheckUtils]: 60: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,650 INFO L273 TraceCheckUtils]: 61: Hoare triple {2194#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2194#true} is VALID [2018-11-18 23:07:56,650 INFO L273 TraceCheckUtils]: 62: Hoare triple {2194#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2194#true} is VALID [2018-11-18 23:07:56,650 INFO L273 TraceCheckUtils]: 63: Hoare triple {2194#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2194#true} is VALID [2018-11-18 23:07:56,650 INFO L273 TraceCheckUtils]: 64: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,650 INFO L273 TraceCheckUtils]: 65: Hoare triple {2194#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2194#true} is VALID [2018-11-18 23:07:56,650 INFO L273 TraceCheckUtils]: 66: Hoare triple {2194#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2194#true} is VALID [2018-11-18 23:07:56,651 INFO L273 TraceCheckUtils]: 67: Hoare triple {2194#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2194#true} is VALID [2018-11-18 23:07:56,651 INFO L273 TraceCheckUtils]: 68: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,651 INFO L273 TraceCheckUtils]: 69: Hoare triple {2194#true} assume !(~i~0 < 10); {2194#true} is VALID [2018-11-18 23:07:56,651 INFO L273 TraceCheckUtils]: 70: Hoare triple {2194#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2194#true} is VALID [2018-11-18 23:07:56,651 INFO L273 TraceCheckUtils]: 71: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,652 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {2194#true} {2195#false} #82#return; {2195#false} is VALID [2018-11-18 23:07:56,652 INFO L273 TraceCheckUtils]: 73: Hoare triple {2195#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2195#false} is VALID [2018-11-18 23:07:56,652 INFO L273 TraceCheckUtils]: 74: Hoare triple {2195#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2195#false} is VALID [2018-11-18 23:07:56,652 INFO L273 TraceCheckUtils]: 75: Hoare triple {2195#false} assume !false; {2195#false} is VALID [2018-11-18 23:07:56,656 INFO L134 CoverageAnalysis]: Checked inductivity of 142 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 116 trivial. 0 not checked. [2018-11-18 23:07:56,656 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:07:56,656 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-18 23:07:56,674 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-18 23:07:56,700 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-18 23:07:56,700 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:07:56,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:56,721 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:07:56,911 INFO L256 TraceCheckUtils]: 0: Hoare triple {2194#true} call ULTIMATE.init(); {2194#true} is VALID [2018-11-18 23:07:56,912 INFO L273 TraceCheckUtils]: 1: Hoare triple {2194#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2194#true} is VALID [2018-11-18 23:07:56,912 INFO L273 TraceCheckUtils]: 2: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,912 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2194#true} {2194#true} #74#return; {2194#true} is VALID [2018-11-18 23:07:56,912 INFO L256 TraceCheckUtils]: 4: Hoare triple {2194#true} call #t~ret14 := main(); {2194#true} is VALID [2018-11-18 23:07:56,912 INFO L273 TraceCheckUtils]: 5: Hoare triple {2194#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2194#true} is VALID [2018-11-18 23:07:56,912 INFO L273 TraceCheckUtils]: 6: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,913 INFO L273 TraceCheckUtils]: 7: Hoare triple {2194#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2194#true} is VALID [2018-11-18 23:07:56,913 INFO L273 TraceCheckUtils]: 8: Hoare triple {2194#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2194#true} is VALID [2018-11-18 23:07:56,913 INFO L273 TraceCheckUtils]: 9: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,913 INFO L273 TraceCheckUtils]: 10: Hoare triple {2194#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2194#true} is VALID [2018-11-18 23:07:56,913 INFO L273 TraceCheckUtils]: 11: Hoare triple {2194#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2194#true} is VALID [2018-11-18 23:07:56,913 INFO L273 TraceCheckUtils]: 12: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,913 INFO L273 TraceCheckUtils]: 13: Hoare triple {2194#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2194#true} is VALID [2018-11-18 23:07:56,913 INFO L273 TraceCheckUtils]: 14: Hoare triple {2194#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2194#true} is VALID [2018-11-18 23:07:56,914 INFO L273 TraceCheckUtils]: 15: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,914 INFO L273 TraceCheckUtils]: 16: Hoare triple {2194#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2194#true} is VALID [2018-11-18 23:07:56,914 INFO L273 TraceCheckUtils]: 17: Hoare triple {2194#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2194#true} is VALID [2018-11-18 23:07:56,914 INFO L273 TraceCheckUtils]: 18: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-18 23:07:56,914 INFO L273 TraceCheckUtils]: 19: Hoare triple {2194#true} assume !(~i~1 < 10); {2194#true} is VALID [2018-11-18 23:07:56,914 INFO L256 TraceCheckUtils]: 20: Hoare triple {2194#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2194#true} is VALID [2018-11-18 23:07:56,915 INFO L273 TraceCheckUtils]: 21: Hoare triple {2194#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2267#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:56,915 INFO L273 TraceCheckUtils]: 22: Hoare triple {2267#(<= sep_~i~0 0)} assume true; {2267#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:56,915 INFO L273 TraceCheckUtils]: 23: Hoare triple {2267#(<= sep_~i~0 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2267#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:56,916 INFO L273 TraceCheckUtils]: 24: Hoare triple {2267#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2267#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:56,916 INFO L273 TraceCheckUtils]: 25: Hoare triple {2267#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2280#(<= sep_~i~0 1)} is VALID [2018-11-18 23:07:56,917 INFO L273 TraceCheckUtils]: 26: Hoare triple {2280#(<= sep_~i~0 1)} assume true; {2280#(<= sep_~i~0 1)} is VALID [2018-11-18 23:07:56,917 INFO L273 TraceCheckUtils]: 27: Hoare triple {2280#(<= sep_~i~0 1)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2280#(<= sep_~i~0 1)} is VALID [2018-11-18 23:07:56,918 INFO L273 TraceCheckUtils]: 28: Hoare triple {2280#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2280#(<= sep_~i~0 1)} is VALID [2018-11-18 23:07:56,918 INFO L273 TraceCheckUtils]: 29: Hoare triple {2280#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2293#(<= sep_~i~0 2)} is VALID [2018-11-18 23:07:56,919 INFO L273 TraceCheckUtils]: 30: Hoare triple {2293#(<= sep_~i~0 2)} assume true; {2293#(<= sep_~i~0 2)} is VALID [2018-11-18 23:07:56,920 INFO L273 TraceCheckUtils]: 31: Hoare triple {2293#(<= sep_~i~0 2)} assume !(~i~0 < 10); {2195#false} is VALID [2018-11-18 23:07:56,920 INFO L273 TraceCheckUtils]: 32: Hoare triple {2195#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2195#false} is VALID [2018-11-18 23:07:56,920 INFO L273 TraceCheckUtils]: 33: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-18 23:07:56,920 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2195#false} {2194#true} #78#return; {2195#false} is VALID [2018-11-18 23:07:56,921 INFO L273 TraceCheckUtils]: 35: Hoare triple {2195#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); {2195#false} is VALID [2018-11-18 23:07:56,921 INFO L256 TraceCheckUtils]: 36: Hoare triple {2195#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2195#false} is VALID [2018-11-18 23:07:56,921 INFO L273 TraceCheckUtils]: 37: Hoare triple {2195#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2195#false} is VALID [2018-11-18 23:07:56,921 INFO L273 TraceCheckUtils]: 38: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-18 23:07:56,921 INFO L273 TraceCheckUtils]: 39: Hoare triple {2195#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2195#false} is VALID [2018-11-18 23:07:56,922 INFO L273 TraceCheckUtils]: 40: Hoare triple {2195#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2195#false} is VALID [2018-11-18 23:07:56,922 INFO L273 TraceCheckUtils]: 41: Hoare triple {2195#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2195#false} is VALID [2018-11-18 23:07:56,922 INFO L273 TraceCheckUtils]: 42: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-18 23:07:56,922 INFO L273 TraceCheckUtils]: 43: Hoare triple {2195#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2195#false} is VALID [2018-11-18 23:07:56,923 INFO L273 TraceCheckUtils]: 44: Hoare triple {2195#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2195#false} is VALID [2018-11-18 23:07:56,923 INFO L273 TraceCheckUtils]: 45: Hoare triple {2195#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2195#false} is VALID [2018-11-18 23:07:56,923 INFO L273 TraceCheckUtils]: 46: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-18 23:07:56,923 INFO L273 TraceCheckUtils]: 47: Hoare triple {2195#false} assume !(~i~0 < 10); {2195#false} is VALID [2018-11-18 23:07:56,923 INFO L273 TraceCheckUtils]: 48: Hoare triple {2195#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2195#false} is VALID [2018-11-18 23:07:56,923 INFO L273 TraceCheckUtils]: 49: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-18 23:07:56,923 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {2195#false} {2195#false} #80#return; {2195#false} is VALID [2018-11-18 23:07:56,924 INFO L273 TraceCheckUtils]: 51: Hoare triple {2195#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; {2195#false} is VALID [2018-11-18 23:07:56,924 INFO L273 TraceCheckUtils]: 52: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-18 23:07:56,924 INFO L273 TraceCheckUtils]: 53: Hoare triple {2195#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {2195#false} is VALID [2018-11-18 23:07:56,924 INFO L273 TraceCheckUtils]: 54: Hoare triple {2195#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {2195#false} is VALID [2018-11-18 23:07:56,924 INFO L273 TraceCheckUtils]: 55: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-18 23:07:56,924 INFO L273 TraceCheckUtils]: 56: Hoare triple {2195#false} assume !(~i~2 < 9); {2195#false} is VALID [2018-11-18 23:07:56,924 INFO L273 TraceCheckUtils]: 57: Hoare triple {2195#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {2195#false} is VALID [2018-11-18 23:07:56,925 INFO L256 TraceCheckUtils]: 58: Hoare triple {2195#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2195#false} is VALID [2018-11-18 23:07:56,925 INFO L273 TraceCheckUtils]: 59: Hoare triple {2195#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2195#false} is VALID [2018-11-18 23:07:56,925 INFO L273 TraceCheckUtils]: 60: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-18 23:07:56,925 INFO L273 TraceCheckUtils]: 61: Hoare triple {2195#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2195#false} is VALID [2018-11-18 23:07:56,925 INFO L273 TraceCheckUtils]: 62: Hoare triple {2195#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2195#false} is VALID [2018-11-18 23:07:56,925 INFO L273 TraceCheckUtils]: 63: Hoare triple {2195#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2195#false} is VALID [2018-11-18 23:07:56,926 INFO L273 TraceCheckUtils]: 64: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-18 23:07:56,926 INFO L273 TraceCheckUtils]: 65: Hoare triple {2195#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2195#false} is VALID [2018-11-18 23:07:56,926 INFO L273 TraceCheckUtils]: 66: Hoare triple {2195#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2195#false} is VALID [2018-11-18 23:07:56,926 INFO L273 TraceCheckUtils]: 67: Hoare triple {2195#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2195#false} is VALID [2018-11-18 23:07:56,926 INFO L273 TraceCheckUtils]: 68: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-18 23:07:56,927 INFO L273 TraceCheckUtils]: 69: Hoare triple {2195#false} assume !(~i~0 < 10); {2195#false} is VALID [2018-11-18 23:07:56,927 INFO L273 TraceCheckUtils]: 70: Hoare triple {2195#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2195#false} is VALID [2018-11-18 23:07:56,927 INFO L273 TraceCheckUtils]: 71: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-18 23:07:56,927 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {2195#false} {2195#false} #82#return; {2195#false} is VALID [2018-11-18 23:07:56,927 INFO L273 TraceCheckUtils]: 73: Hoare triple {2195#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2195#false} is VALID [2018-11-18 23:07:56,928 INFO L273 TraceCheckUtils]: 74: Hoare triple {2195#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2195#false} is VALID [2018-11-18 23:07:56,928 INFO L273 TraceCheckUtils]: 75: Hoare triple {2195#false} assume !false; {2195#false} is VALID [2018-11-18 23:07:56,931 INFO L134 CoverageAnalysis]: Checked inductivity of 142 backedges. 54 proven. 8 refuted. 0 times theorem prover too weak. 80 trivial. 0 not checked. [2018-11-18 23:07:56,955 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:07:56,955 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5] total 10 [2018-11-18 23:07:56,955 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 76 [2018-11-18 23:07:56,956 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:07:56,956 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-18 23:07:57,044 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-18 23:07:57,044 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-18 23:07:57,044 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-18 23:07:57,044 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2018-11-18 23:07:57,045 INFO L87 Difference]: Start difference. First operand 49 states and 55 transitions. Second operand 10 states. [2018-11-18 23:07:57,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:57,531 INFO L93 Difference]: Finished difference Result 88 states and 106 transitions. [2018-11-18 23:07:57,532 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-18 23:07:57,532 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 76 [2018-11-18 23:07:57,532 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:07:57,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-18 23:07:57,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2018-11-18 23:07:57,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-18 23:07:57,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2018-11-18 23:07:57,539 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 95 transitions. [2018-11-18 23:07:57,706 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-18 23:07:57,708 INFO L225 Difference]: With dead ends: 88 [2018-11-18 23:07:57,708 INFO L226 Difference]: Without dead ends: 59 [2018-11-18 23:07:57,709 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 74 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2018-11-18 23:07:57,709 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2018-11-18 23:07:57,758 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 56. [2018-11-18 23:07:57,758 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:07:57,758 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 56 states. [2018-11-18 23:07:57,758 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 56 states. [2018-11-18 23:07:57,758 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 56 states. [2018-11-18 23:07:57,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:57,761 INFO L93 Difference]: Finished difference Result 59 states and 67 transitions. [2018-11-18 23:07:57,762 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 67 transitions. [2018-11-18 23:07:57,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:57,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:57,762 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 59 states. [2018-11-18 23:07:57,763 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 59 states. [2018-11-18 23:07:57,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:57,765 INFO L93 Difference]: Finished difference Result 59 states and 67 transitions. [2018-11-18 23:07:57,766 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 67 transitions. [2018-11-18 23:07:57,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:57,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:57,767 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:07:57,767 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:07:57,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-18 23:07:57,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 63 transitions. [2018-11-18 23:07:57,769 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 63 transitions. Word has length 76 [2018-11-18 23:07:57,770 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:07:57,770 INFO L480 AbstractCegarLoop]: Abstraction has 56 states and 63 transitions. [2018-11-18 23:07:57,770 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-18 23:07:57,770 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 63 transitions. [2018-11-18 23:07:57,771 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2018-11-18 23:07:57,771 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:07:57,771 INFO L375 BasicCegarLoop]: trace histogram [12, 9, 9, 9, 6, 5, 5, 3, 3, 3, 3, 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-18 23:07:57,772 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:07:57,772 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:07:57,772 INFO L82 PathProgramCache]: Analyzing trace with hash -1261953547, now seen corresponding path program 5 times [2018-11-18 23:07:57,772 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:07:57,773 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:07:57,773 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:57,774 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:07:57,774 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:57,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:58,235 INFO L256 TraceCheckUtils]: 0: Hoare triple {2742#true} call ULTIMATE.init(); {2742#true} is VALID [2018-11-18 23:07:58,236 INFO L273 TraceCheckUtils]: 1: Hoare triple {2742#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2742#true} is VALID [2018-11-18 23:07:58,236 INFO L273 TraceCheckUtils]: 2: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,236 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2742#true} {2742#true} #74#return; {2742#true} is VALID [2018-11-18 23:07:58,236 INFO L256 TraceCheckUtils]: 4: Hoare triple {2742#true} call #t~ret14 := main(); {2742#true} is VALID [2018-11-18 23:07:58,237 INFO L273 TraceCheckUtils]: 5: Hoare triple {2742#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2744#(= main_~i~1 0)} is VALID [2018-11-18 23:07:58,238 INFO L273 TraceCheckUtils]: 6: Hoare triple {2744#(= main_~i~1 0)} assume true; {2744#(= main_~i~1 0)} is VALID [2018-11-18 23:07:58,242 INFO L273 TraceCheckUtils]: 7: Hoare triple {2744#(= main_~i~1 0)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2744#(= main_~i~1 0)} is VALID [2018-11-18 23:07:58,243 INFO L273 TraceCheckUtils]: 8: Hoare triple {2744#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2745#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:58,243 INFO L273 TraceCheckUtils]: 9: Hoare triple {2745#(<= main_~i~1 1)} assume true; {2745#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:58,243 INFO L273 TraceCheckUtils]: 10: Hoare triple {2745#(<= main_~i~1 1)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2745#(<= main_~i~1 1)} is VALID [2018-11-18 23:07:58,244 INFO L273 TraceCheckUtils]: 11: Hoare triple {2745#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2746#(<= main_~i~1 2)} is VALID [2018-11-18 23:07:58,244 INFO L273 TraceCheckUtils]: 12: Hoare triple {2746#(<= main_~i~1 2)} assume true; {2746#(<= main_~i~1 2)} is VALID [2018-11-18 23:07:58,244 INFO L273 TraceCheckUtils]: 13: Hoare triple {2746#(<= main_~i~1 2)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2746#(<= main_~i~1 2)} is VALID [2018-11-18 23:07:58,245 INFO L273 TraceCheckUtils]: 14: Hoare triple {2746#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2747#(<= main_~i~1 3)} is VALID [2018-11-18 23:07:58,245 INFO L273 TraceCheckUtils]: 15: Hoare triple {2747#(<= main_~i~1 3)} assume true; {2747#(<= main_~i~1 3)} is VALID [2018-11-18 23:07:58,246 INFO L273 TraceCheckUtils]: 16: Hoare triple {2747#(<= main_~i~1 3)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2747#(<= main_~i~1 3)} is VALID [2018-11-18 23:07:58,246 INFO L273 TraceCheckUtils]: 17: Hoare triple {2747#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2748#(<= main_~i~1 4)} is VALID [2018-11-18 23:07:58,247 INFO L273 TraceCheckUtils]: 18: Hoare triple {2748#(<= main_~i~1 4)} assume true; {2748#(<= main_~i~1 4)} is VALID [2018-11-18 23:07:58,247 INFO L273 TraceCheckUtils]: 19: Hoare triple {2748#(<= main_~i~1 4)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2748#(<= main_~i~1 4)} is VALID [2018-11-18 23:07:58,248 INFO L273 TraceCheckUtils]: 20: Hoare triple {2748#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2749#(<= main_~i~1 5)} is VALID [2018-11-18 23:07:58,249 INFO L273 TraceCheckUtils]: 21: Hoare triple {2749#(<= main_~i~1 5)} assume true; {2749#(<= main_~i~1 5)} is VALID [2018-11-18 23:07:58,266 INFO L273 TraceCheckUtils]: 22: Hoare triple {2749#(<= main_~i~1 5)} assume !(~i~1 < 10); {2743#false} is VALID [2018-11-18 23:07:58,266 INFO L256 TraceCheckUtils]: 23: Hoare triple {2743#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2742#true} is VALID [2018-11-18 23:07:58,266 INFO L273 TraceCheckUtils]: 24: Hoare triple {2742#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2742#true} is VALID [2018-11-18 23:07:58,266 INFO L273 TraceCheckUtils]: 25: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,267 INFO L273 TraceCheckUtils]: 26: Hoare triple {2742#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2742#true} is VALID [2018-11-18 23:07:58,267 INFO L273 TraceCheckUtils]: 27: Hoare triple {2742#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2742#true} is VALID [2018-11-18 23:07:58,267 INFO L273 TraceCheckUtils]: 28: Hoare triple {2742#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2742#true} is VALID [2018-11-18 23:07:58,267 INFO L273 TraceCheckUtils]: 29: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,267 INFO L273 TraceCheckUtils]: 30: Hoare triple {2742#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2742#true} is VALID [2018-11-18 23:07:58,268 INFO L273 TraceCheckUtils]: 31: Hoare triple {2742#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2742#true} is VALID [2018-11-18 23:07:58,268 INFO L273 TraceCheckUtils]: 32: Hoare triple {2742#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2742#true} is VALID [2018-11-18 23:07:58,268 INFO L273 TraceCheckUtils]: 33: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,268 INFO L273 TraceCheckUtils]: 34: Hoare triple {2742#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2742#true} is VALID [2018-11-18 23:07:58,268 INFO L273 TraceCheckUtils]: 35: Hoare triple {2742#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2742#true} is VALID [2018-11-18 23:07:58,268 INFO L273 TraceCheckUtils]: 36: Hoare triple {2742#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2742#true} is VALID [2018-11-18 23:07:58,269 INFO L273 TraceCheckUtils]: 37: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,269 INFO L273 TraceCheckUtils]: 38: Hoare triple {2742#true} assume !(~i~0 < 10); {2742#true} is VALID [2018-11-18 23:07:58,269 INFO L273 TraceCheckUtils]: 39: Hoare triple {2742#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2742#true} is VALID [2018-11-18 23:07:58,269 INFO L273 TraceCheckUtils]: 40: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,269 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2742#true} {2743#false} #78#return; {2743#false} is VALID [2018-11-18 23:07:58,269 INFO L273 TraceCheckUtils]: 42: Hoare triple {2743#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); {2743#false} is VALID [2018-11-18 23:07:58,270 INFO L256 TraceCheckUtils]: 43: Hoare triple {2743#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2742#true} is VALID [2018-11-18 23:07:58,270 INFO L273 TraceCheckUtils]: 44: Hoare triple {2742#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2742#true} is VALID [2018-11-18 23:07:58,270 INFO L273 TraceCheckUtils]: 45: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,270 INFO L273 TraceCheckUtils]: 46: Hoare triple {2742#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2742#true} is VALID [2018-11-18 23:07:58,270 INFO L273 TraceCheckUtils]: 47: Hoare triple {2742#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2742#true} is VALID [2018-11-18 23:07:58,270 INFO L273 TraceCheckUtils]: 48: Hoare triple {2742#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2742#true} is VALID [2018-11-18 23:07:58,271 INFO L273 TraceCheckUtils]: 49: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,271 INFO L273 TraceCheckUtils]: 50: Hoare triple {2742#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2742#true} is VALID [2018-11-18 23:07:58,271 INFO L273 TraceCheckUtils]: 51: Hoare triple {2742#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2742#true} is VALID [2018-11-18 23:07:58,271 INFO L273 TraceCheckUtils]: 52: Hoare triple {2742#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2742#true} is VALID [2018-11-18 23:07:58,271 INFO L273 TraceCheckUtils]: 53: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,272 INFO L273 TraceCheckUtils]: 54: Hoare triple {2742#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2742#true} is VALID [2018-11-18 23:07:58,272 INFO L273 TraceCheckUtils]: 55: Hoare triple {2742#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2742#true} is VALID [2018-11-18 23:07:58,272 INFO L273 TraceCheckUtils]: 56: Hoare triple {2742#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2742#true} is VALID [2018-11-18 23:07:58,272 INFO L273 TraceCheckUtils]: 57: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,272 INFO L273 TraceCheckUtils]: 58: Hoare triple {2742#true} assume !(~i~0 < 10); {2742#true} is VALID [2018-11-18 23:07:58,272 INFO L273 TraceCheckUtils]: 59: Hoare triple {2742#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2742#true} is VALID [2018-11-18 23:07:58,273 INFO L273 TraceCheckUtils]: 60: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,273 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {2742#true} {2743#false} #80#return; {2743#false} is VALID [2018-11-18 23:07:58,273 INFO L273 TraceCheckUtils]: 62: Hoare triple {2743#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; {2743#false} is VALID [2018-11-18 23:07:58,273 INFO L273 TraceCheckUtils]: 63: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,273 INFO L273 TraceCheckUtils]: 64: Hoare triple {2743#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {2743#false} is VALID [2018-11-18 23:07:58,273 INFO L273 TraceCheckUtils]: 65: Hoare triple {2743#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {2743#false} is VALID [2018-11-18 23:07:58,274 INFO L273 TraceCheckUtils]: 66: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,274 INFO L273 TraceCheckUtils]: 67: Hoare triple {2743#false} assume !(~i~2 < 9); {2743#false} is VALID [2018-11-18 23:07:58,274 INFO L273 TraceCheckUtils]: 68: Hoare triple {2743#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {2743#false} is VALID [2018-11-18 23:07:58,274 INFO L256 TraceCheckUtils]: 69: Hoare triple {2743#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2742#true} is VALID [2018-11-18 23:07:58,274 INFO L273 TraceCheckUtils]: 70: Hoare triple {2742#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2742#true} is VALID [2018-11-18 23:07:58,274 INFO L273 TraceCheckUtils]: 71: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,275 INFO L273 TraceCheckUtils]: 72: Hoare triple {2742#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2742#true} is VALID [2018-11-18 23:07:58,275 INFO L273 TraceCheckUtils]: 73: Hoare triple {2742#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2742#true} is VALID [2018-11-18 23:07:58,275 INFO L273 TraceCheckUtils]: 74: Hoare triple {2742#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2742#true} is VALID [2018-11-18 23:07:58,275 INFO L273 TraceCheckUtils]: 75: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,275 INFO L273 TraceCheckUtils]: 76: Hoare triple {2742#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2742#true} is VALID [2018-11-18 23:07:58,275 INFO L273 TraceCheckUtils]: 77: Hoare triple {2742#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2742#true} is VALID [2018-11-18 23:07:58,276 INFO L273 TraceCheckUtils]: 78: Hoare triple {2742#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2742#true} is VALID [2018-11-18 23:07:58,276 INFO L273 TraceCheckUtils]: 79: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,276 INFO L273 TraceCheckUtils]: 80: Hoare triple {2742#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2742#true} is VALID [2018-11-18 23:07:58,276 INFO L273 TraceCheckUtils]: 81: Hoare triple {2742#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2742#true} is VALID [2018-11-18 23:07:58,276 INFO L273 TraceCheckUtils]: 82: Hoare triple {2742#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2742#true} is VALID [2018-11-18 23:07:58,276 INFO L273 TraceCheckUtils]: 83: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,277 INFO L273 TraceCheckUtils]: 84: Hoare triple {2742#true} assume !(~i~0 < 10); {2742#true} is VALID [2018-11-18 23:07:58,277 INFO L273 TraceCheckUtils]: 85: Hoare triple {2742#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2742#true} is VALID [2018-11-18 23:07:58,277 INFO L273 TraceCheckUtils]: 86: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,277 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {2742#true} {2743#false} #82#return; {2743#false} is VALID [2018-11-18 23:07:58,277 INFO L273 TraceCheckUtils]: 88: Hoare triple {2743#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2743#false} is VALID [2018-11-18 23:07:58,277 INFO L273 TraceCheckUtils]: 89: Hoare triple {2743#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2743#false} is VALID [2018-11-18 23:07:58,278 INFO L273 TraceCheckUtils]: 90: Hoare triple {2743#false} assume !false; {2743#false} is VALID [2018-11-18 23:07:58,284 INFO L134 CoverageAnalysis]: Checked inductivity of 258 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 218 trivial. 0 not checked. [2018-11-18 23:07:58,284 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:07:58,284 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-18 23:07:58,298 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-18 23:07:58,424 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 8 check-sat command(s) [2018-11-18 23:07:58,425 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:07:58,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:07:58,463 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:07:58,660 INFO L256 TraceCheckUtils]: 0: Hoare triple {2742#true} call ULTIMATE.init(); {2742#true} is VALID [2018-11-18 23:07:58,661 INFO L273 TraceCheckUtils]: 1: Hoare triple {2742#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2742#true} is VALID [2018-11-18 23:07:58,661 INFO L273 TraceCheckUtils]: 2: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,661 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2742#true} {2742#true} #74#return; {2742#true} is VALID [2018-11-18 23:07:58,661 INFO L256 TraceCheckUtils]: 4: Hoare triple {2742#true} call #t~ret14 := main(); {2742#true} is VALID [2018-11-18 23:07:58,661 INFO L273 TraceCheckUtils]: 5: Hoare triple {2742#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2742#true} is VALID [2018-11-18 23:07:58,661 INFO L273 TraceCheckUtils]: 6: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,662 INFO L273 TraceCheckUtils]: 7: Hoare triple {2742#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2742#true} is VALID [2018-11-18 23:07:58,662 INFO L273 TraceCheckUtils]: 8: Hoare triple {2742#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2742#true} is VALID [2018-11-18 23:07:58,662 INFO L273 TraceCheckUtils]: 9: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,662 INFO L273 TraceCheckUtils]: 10: Hoare triple {2742#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2742#true} is VALID [2018-11-18 23:07:58,662 INFO L273 TraceCheckUtils]: 11: Hoare triple {2742#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2742#true} is VALID [2018-11-18 23:07:58,662 INFO L273 TraceCheckUtils]: 12: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,662 INFO L273 TraceCheckUtils]: 13: Hoare triple {2742#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2742#true} is VALID [2018-11-18 23:07:58,662 INFO L273 TraceCheckUtils]: 14: Hoare triple {2742#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2742#true} is VALID [2018-11-18 23:07:58,663 INFO L273 TraceCheckUtils]: 15: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,663 INFO L273 TraceCheckUtils]: 16: Hoare triple {2742#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2742#true} is VALID [2018-11-18 23:07:58,663 INFO L273 TraceCheckUtils]: 17: Hoare triple {2742#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2742#true} is VALID [2018-11-18 23:07:58,663 INFO L273 TraceCheckUtils]: 18: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,663 INFO L273 TraceCheckUtils]: 19: Hoare triple {2742#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {2742#true} is VALID [2018-11-18 23:07:58,663 INFO L273 TraceCheckUtils]: 20: Hoare triple {2742#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2742#true} is VALID [2018-11-18 23:07:58,663 INFO L273 TraceCheckUtils]: 21: Hoare triple {2742#true} assume true; {2742#true} is VALID [2018-11-18 23:07:58,663 INFO L273 TraceCheckUtils]: 22: Hoare triple {2742#true} assume !(~i~1 < 10); {2742#true} is VALID [2018-11-18 23:07:58,664 INFO L256 TraceCheckUtils]: 23: Hoare triple {2742#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2742#true} is VALID [2018-11-18 23:07:58,664 INFO L273 TraceCheckUtils]: 24: Hoare triple {2742#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2825#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:58,664 INFO L273 TraceCheckUtils]: 25: Hoare triple {2825#(<= sep_~i~0 0)} assume true; {2825#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:58,665 INFO L273 TraceCheckUtils]: 26: Hoare triple {2825#(<= sep_~i~0 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2825#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:58,665 INFO L273 TraceCheckUtils]: 27: Hoare triple {2825#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2825#(<= sep_~i~0 0)} is VALID [2018-11-18 23:07:58,666 INFO L273 TraceCheckUtils]: 28: Hoare triple {2825#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2838#(<= sep_~i~0 1)} is VALID [2018-11-18 23:07:58,684 INFO L273 TraceCheckUtils]: 29: Hoare triple {2838#(<= sep_~i~0 1)} assume true; {2838#(<= sep_~i~0 1)} is VALID [2018-11-18 23:07:58,693 INFO L273 TraceCheckUtils]: 30: Hoare triple {2838#(<= sep_~i~0 1)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2838#(<= sep_~i~0 1)} is VALID [2018-11-18 23:07:58,701 INFO L273 TraceCheckUtils]: 31: Hoare triple {2838#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2838#(<= sep_~i~0 1)} is VALID [2018-11-18 23:07:58,702 INFO L273 TraceCheckUtils]: 32: Hoare triple {2838#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2851#(<= sep_~i~0 2)} is VALID [2018-11-18 23:07:58,703 INFO L273 TraceCheckUtils]: 33: Hoare triple {2851#(<= sep_~i~0 2)} assume true; {2851#(<= sep_~i~0 2)} is VALID [2018-11-18 23:07:58,703 INFO L273 TraceCheckUtils]: 34: Hoare triple {2851#(<= sep_~i~0 2)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2851#(<= sep_~i~0 2)} is VALID [2018-11-18 23:07:58,703 INFO L273 TraceCheckUtils]: 35: Hoare triple {2851#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2851#(<= sep_~i~0 2)} is VALID [2018-11-18 23:07:58,704 INFO L273 TraceCheckUtils]: 36: Hoare triple {2851#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2864#(<= sep_~i~0 3)} is VALID [2018-11-18 23:07:58,704 INFO L273 TraceCheckUtils]: 37: Hoare triple {2864#(<= sep_~i~0 3)} assume true; {2864#(<= sep_~i~0 3)} is VALID [2018-11-18 23:07:58,704 INFO L273 TraceCheckUtils]: 38: Hoare triple {2864#(<= sep_~i~0 3)} assume !(~i~0 < 10); {2743#false} is VALID [2018-11-18 23:07:58,705 INFO L273 TraceCheckUtils]: 39: Hoare triple {2743#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2743#false} is VALID [2018-11-18 23:07:58,705 INFO L273 TraceCheckUtils]: 40: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,705 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2743#false} {2742#true} #78#return; {2743#false} is VALID [2018-11-18 23:07:58,705 INFO L273 TraceCheckUtils]: 42: Hoare triple {2743#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); {2743#false} is VALID [2018-11-18 23:07:58,705 INFO L256 TraceCheckUtils]: 43: Hoare triple {2743#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2743#false} is VALID [2018-11-18 23:07:58,705 INFO L273 TraceCheckUtils]: 44: Hoare triple {2743#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2743#false} is VALID [2018-11-18 23:07:58,705 INFO L273 TraceCheckUtils]: 45: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,706 INFO L273 TraceCheckUtils]: 46: Hoare triple {2743#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2743#false} is VALID [2018-11-18 23:07:58,706 INFO L273 TraceCheckUtils]: 47: Hoare triple {2743#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2743#false} is VALID [2018-11-18 23:07:58,706 INFO L273 TraceCheckUtils]: 48: Hoare triple {2743#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2743#false} is VALID [2018-11-18 23:07:58,706 INFO L273 TraceCheckUtils]: 49: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,706 INFO L273 TraceCheckUtils]: 50: Hoare triple {2743#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2743#false} is VALID [2018-11-18 23:07:58,707 INFO L273 TraceCheckUtils]: 51: Hoare triple {2743#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2743#false} is VALID [2018-11-18 23:07:58,707 INFO L273 TraceCheckUtils]: 52: Hoare triple {2743#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2743#false} is VALID [2018-11-18 23:07:58,707 INFO L273 TraceCheckUtils]: 53: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,707 INFO L273 TraceCheckUtils]: 54: Hoare triple {2743#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2743#false} is VALID [2018-11-18 23:07:58,707 INFO L273 TraceCheckUtils]: 55: Hoare triple {2743#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2743#false} is VALID [2018-11-18 23:07:58,707 INFO L273 TraceCheckUtils]: 56: Hoare triple {2743#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2743#false} is VALID [2018-11-18 23:07:58,707 INFO L273 TraceCheckUtils]: 57: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,707 INFO L273 TraceCheckUtils]: 58: Hoare triple {2743#false} assume !(~i~0 < 10); {2743#false} is VALID [2018-11-18 23:07:58,708 INFO L273 TraceCheckUtils]: 59: Hoare triple {2743#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2743#false} is VALID [2018-11-18 23:07:58,708 INFO L273 TraceCheckUtils]: 60: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,708 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {2743#false} {2743#false} #80#return; {2743#false} is VALID [2018-11-18 23:07:58,708 INFO L273 TraceCheckUtils]: 62: Hoare triple {2743#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; {2743#false} is VALID [2018-11-18 23:07:58,708 INFO L273 TraceCheckUtils]: 63: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,708 INFO L273 TraceCheckUtils]: 64: Hoare triple {2743#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {2743#false} is VALID [2018-11-18 23:07:58,709 INFO L273 TraceCheckUtils]: 65: Hoare triple {2743#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {2743#false} is VALID [2018-11-18 23:07:58,709 INFO L273 TraceCheckUtils]: 66: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,709 INFO L273 TraceCheckUtils]: 67: Hoare triple {2743#false} assume !(~i~2 < 9); {2743#false} is VALID [2018-11-18 23:07:58,709 INFO L273 TraceCheckUtils]: 68: Hoare triple {2743#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {2743#false} is VALID [2018-11-18 23:07:58,709 INFO L256 TraceCheckUtils]: 69: Hoare triple {2743#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2743#false} is VALID [2018-11-18 23:07:58,709 INFO L273 TraceCheckUtils]: 70: Hoare triple {2743#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2743#false} is VALID [2018-11-18 23:07:58,709 INFO L273 TraceCheckUtils]: 71: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,710 INFO L273 TraceCheckUtils]: 72: Hoare triple {2743#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2743#false} is VALID [2018-11-18 23:07:58,710 INFO L273 TraceCheckUtils]: 73: Hoare triple {2743#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2743#false} is VALID [2018-11-18 23:07:58,710 INFO L273 TraceCheckUtils]: 74: Hoare triple {2743#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2743#false} is VALID [2018-11-18 23:07:58,710 INFO L273 TraceCheckUtils]: 75: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,710 INFO L273 TraceCheckUtils]: 76: Hoare triple {2743#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2743#false} is VALID [2018-11-18 23:07:58,710 INFO L273 TraceCheckUtils]: 77: Hoare triple {2743#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2743#false} is VALID [2018-11-18 23:07:58,710 INFO L273 TraceCheckUtils]: 78: Hoare triple {2743#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2743#false} is VALID [2018-11-18 23:07:58,710 INFO L273 TraceCheckUtils]: 79: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,711 INFO L273 TraceCheckUtils]: 80: Hoare triple {2743#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {2743#false} is VALID [2018-11-18 23:07:58,711 INFO L273 TraceCheckUtils]: 81: Hoare triple {2743#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2743#false} is VALID [2018-11-18 23:07:58,711 INFO L273 TraceCheckUtils]: 82: Hoare triple {2743#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2743#false} is VALID [2018-11-18 23:07:58,711 INFO L273 TraceCheckUtils]: 83: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,711 INFO L273 TraceCheckUtils]: 84: Hoare triple {2743#false} assume !(~i~0 < 10); {2743#false} is VALID [2018-11-18 23:07:58,711 INFO L273 TraceCheckUtils]: 85: Hoare triple {2743#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2743#false} is VALID [2018-11-18 23:07:58,711 INFO L273 TraceCheckUtils]: 86: Hoare triple {2743#false} assume true; {2743#false} is VALID [2018-11-18 23:07:58,711 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {2743#false} {2743#false} #82#return; {2743#false} is VALID [2018-11-18 23:07:58,712 INFO L273 TraceCheckUtils]: 88: Hoare triple {2743#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2743#false} is VALID [2018-11-18 23:07:58,712 INFO L273 TraceCheckUtils]: 89: Hoare triple {2743#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2743#false} is VALID [2018-11-18 23:07:58,712 INFO L273 TraceCheckUtils]: 90: Hoare triple {2743#false} assume !false; {2743#false} is VALID [2018-11-18 23:07:58,716 INFO L134 CoverageAnalysis]: Checked inductivity of 258 backedges. 102 proven. 18 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2018-11-18 23:07:58,736 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:07:58,737 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6] total 12 [2018-11-18 23:07:58,737 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 91 [2018-11-18 23:07:58,738 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:07:58,738 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-18 23:07:58,813 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:07:58,813 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-18 23:07:58,814 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-18 23:07:58,814 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2018-11-18 23:07:58,814 INFO L87 Difference]: Start difference. First operand 56 states and 63 transitions. Second operand 12 states. [2018-11-18 23:07:59,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:59,424 INFO L93 Difference]: Finished difference Result 99 states and 119 transitions. [2018-11-18 23:07:59,425 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-18 23:07:59,425 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 91 [2018-11-18 23:07:59,425 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:07:59,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-18 23:07:59,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 103 transitions. [2018-11-18 23:07:59,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-18 23:07:59,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 103 transitions. [2018-11-18 23:07:59,430 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 103 transitions. [2018-11-18 23:07:59,572 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:07:59,575 INFO L225 Difference]: With dead ends: 99 [2018-11-18 23:07:59,575 INFO L226 Difference]: Without dead ends: 66 [2018-11-18 23:07:59,576 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 88 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2018-11-18 23:07:59,576 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2018-11-18 23:07:59,600 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 63. [2018-11-18 23:07:59,600 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:07:59,601 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 63 states. [2018-11-18 23:07:59,601 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 63 states. [2018-11-18 23:07:59,601 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 63 states. [2018-11-18 23:07:59,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:59,604 INFO L93 Difference]: Finished difference Result 66 states and 75 transitions. [2018-11-18 23:07:59,604 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 75 transitions. [2018-11-18 23:07:59,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:59,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:59,605 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 66 states. [2018-11-18 23:07:59,605 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 66 states. [2018-11-18 23:07:59,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:07:59,608 INFO L93 Difference]: Finished difference Result 66 states and 75 transitions. [2018-11-18 23:07:59,608 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 75 transitions. [2018-11-18 23:07:59,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:07:59,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:07:59,609 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:07:59,609 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:07:59,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 63 states. [2018-11-18 23:07:59,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 71 transitions. [2018-11-18 23:07:59,612 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 71 transitions. Word has length 91 [2018-11-18 23:07:59,612 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:07:59,612 INFO L480 AbstractCegarLoop]: Abstraction has 63 states and 71 transitions. [2018-11-18 23:07:59,612 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-18 23:07:59,612 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2018-11-18 23:07:59,613 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 107 [2018-11-18 23:07:59,613 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:07:59,614 INFO L375 BasicCegarLoop]: trace histogram [15, 12, 12, 12, 7, 6, 6, 3, 3, 3, 3, 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-18 23:07:59,614 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:07:59,614 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:07:59,614 INFO L82 PathProgramCache]: Analyzing trace with hash 1596565621, now seen corresponding path program 6 times [2018-11-18 23:07:59,614 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:07:59,614 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:07:59,615 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:59,615 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:07:59,615 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:07:59,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:00,015 INFO L256 TraceCheckUtils]: 0: Hoare triple {3374#true} call ULTIMATE.init(); {3374#true} is VALID [2018-11-18 23:08:00,016 INFO L273 TraceCheckUtils]: 1: Hoare triple {3374#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3374#true} is VALID [2018-11-18 23:08:00,016 INFO L273 TraceCheckUtils]: 2: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,016 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3374#true} {3374#true} #74#return; {3374#true} is VALID [2018-11-18 23:08:00,016 INFO L256 TraceCheckUtils]: 4: Hoare triple {3374#true} call #t~ret14 := main(); {3374#true} is VALID [2018-11-18 23:08:00,017 INFO L273 TraceCheckUtils]: 5: Hoare triple {3374#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3376#(= main_~i~1 0)} is VALID [2018-11-18 23:08:00,017 INFO L273 TraceCheckUtils]: 6: Hoare triple {3376#(= main_~i~1 0)} assume true; {3376#(= main_~i~1 0)} is VALID [2018-11-18 23:08:00,017 INFO L273 TraceCheckUtils]: 7: Hoare triple {3376#(= main_~i~1 0)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3376#(= main_~i~1 0)} is VALID [2018-11-18 23:08:00,018 INFO L273 TraceCheckUtils]: 8: Hoare triple {3376#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3377#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:00,018 INFO L273 TraceCheckUtils]: 9: Hoare triple {3377#(<= main_~i~1 1)} assume true; {3377#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:00,019 INFO L273 TraceCheckUtils]: 10: Hoare triple {3377#(<= main_~i~1 1)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3377#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:00,019 INFO L273 TraceCheckUtils]: 11: Hoare triple {3377#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3378#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:00,019 INFO L273 TraceCheckUtils]: 12: Hoare triple {3378#(<= main_~i~1 2)} assume true; {3378#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:00,020 INFO L273 TraceCheckUtils]: 13: Hoare triple {3378#(<= main_~i~1 2)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3378#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:00,021 INFO L273 TraceCheckUtils]: 14: Hoare triple {3378#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3379#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:00,021 INFO L273 TraceCheckUtils]: 15: Hoare triple {3379#(<= main_~i~1 3)} assume true; {3379#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:00,022 INFO L273 TraceCheckUtils]: 16: Hoare triple {3379#(<= main_~i~1 3)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3379#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:00,022 INFO L273 TraceCheckUtils]: 17: Hoare triple {3379#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3380#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:00,023 INFO L273 TraceCheckUtils]: 18: Hoare triple {3380#(<= main_~i~1 4)} assume true; {3380#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:00,024 INFO L273 TraceCheckUtils]: 19: Hoare triple {3380#(<= main_~i~1 4)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3380#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:00,024 INFO L273 TraceCheckUtils]: 20: Hoare triple {3380#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3381#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:00,025 INFO L273 TraceCheckUtils]: 21: Hoare triple {3381#(<= main_~i~1 5)} assume true; {3381#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:00,025 INFO L273 TraceCheckUtils]: 22: Hoare triple {3381#(<= main_~i~1 5)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3381#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:00,026 INFO L273 TraceCheckUtils]: 23: Hoare triple {3381#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3382#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:00,027 INFO L273 TraceCheckUtils]: 24: Hoare triple {3382#(<= main_~i~1 6)} assume true; {3382#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:00,027 INFO L273 TraceCheckUtils]: 25: Hoare triple {3382#(<= main_~i~1 6)} assume !(~i~1 < 10); {3375#false} is VALID [2018-11-18 23:08:00,027 INFO L256 TraceCheckUtils]: 26: Hoare triple {3375#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {3374#true} is VALID [2018-11-18 23:08:00,028 INFO L273 TraceCheckUtils]: 27: Hoare triple {3374#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3374#true} is VALID [2018-11-18 23:08:00,028 INFO L273 TraceCheckUtils]: 28: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,028 INFO L273 TraceCheckUtils]: 29: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,028 INFO L273 TraceCheckUtils]: 30: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,029 INFO L273 TraceCheckUtils]: 31: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,029 INFO L273 TraceCheckUtils]: 32: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,029 INFO L273 TraceCheckUtils]: 33: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,029 INFO L273 TraceCheckUtils]: 34: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,029 INFO L273 TraceCheckUtils]: 35: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,030 INFO L273 TraceCheckUtils]: 36: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,030 INFO L273 TraceCheckUtils]: 37: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,030 INFO L273 TraceCheckUtils]: 38: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,030 INFO L273 TraceCheckUtils]: 39: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,030 INFO L273 TraceCheckUtils]: 40: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,030 INFO L273 TraceCheckUtils]: 41: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,030 INFO L273 TraceCheckUtils]: 42: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,031 INFO L273 TraceCheckUtils]: 43: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,031 INFO L273 TraceCheckUtils]: 44: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,031 INFO L273 TraceCheckUtils]: 45: Hoare triple {3374#true} assume !(~i~0 < 10); {3374#true} is VALID [2018-11-18 23:08:00,031 INFO L273 TraceCheckUtils]: 46: Hoare triple {3374#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3374#true} is VALID [2018-11-18 23:08:00,031 INFO L273 TraceCheckUtils]: 47: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,031 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {3374#true} {3375#false} #78#return; {3375#false} is VALID [2018-11-18 23:08:00,032 INFO L273 TraceCheckUtils]: 49: Hoare triple {3375#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); {3375#false} is VALID [2018-11-18 23:08:00,032 INFO L256 TraceCheckUtils]: 50: Hoare triple {3375#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {3374#true} is VALID [2018-11-18 23:08:00,032 INFO L273 TraceCheckUtils]: 51: Hoare triple {3374#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3374#true} is VALID [2018-11-18 23:08:00,032 INFO L273 TraceCheckUtils]: 52: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,032 INFO L273 TraceCheckUtils]: 53: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,032 INFO L273 TraceCheckUtils]: 54: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,032 INFO L273 TraceCheckUtils]: 55: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,033 INFO L273 TraceCheckUtils]: 56: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,033 INFO L273 TraceCheckUtils]: 57: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,033 INFO L273 TraceCheckUtils]: 58: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,033 INFO L273 TraceCheckUtils]: 59: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,033 INFO L273 TraceCheckUtils]: 60: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,033 INFO L273 TraceCheckUtils]: 61: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,033 INFO L273 TraceCheckUtils]: 62: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,033 INFO L273 TraceCheckUtils]: 63: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,034 INFO L273 TraceCheckUtils]: 64: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,034 INFO L273 TraceCheckUtils]: 65: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,034 INFO L273 TraceCheckUtils]: 66: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,034 INFO L273 TraceCheckUtils]: 67: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,034 INFO L273 TraceCheckUtils]: 68: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,034 INFO L273 TraceCheckUtils]: 69: Hoare triple {3374#true} assume !(~i~0 < 10); {3374#true} is VALID [2018-11-18 23:08:00,034 INFO L273 TraceCheckUtils]: 70: Hoare triple {3374#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3374#true} is VALID [2018-11-18 23:08:00,034 INFO L273 TraceCheckUtils]: 71: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,035 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {3374#true} {3375#false} #80#return; {3375#false} is VALID [2018-11-18 23:08:00,035 INFO L273 TraceCheckUtils]: 73: Hoare triple {3375#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; {3375#false} is VALID [2018-11-18 23:08:00,035 INFO L273 TraceCheckUtils]: 74: Hoare triple {3375#false} assume true; {3375#false} is VALID [2018-11-18 23:08:00,035 INFO L273 TraceCheckUtils]: 75: Hoare triple {3375#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {3375#false} is VALID [2018-11-18 23:08:00,035 INFO L273 TraceCheckUtils]: 76: Hoare triple {3375#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {3375#false} is VALID [2018-11-18 23:08:00,035 INFO L273 TraceCheckUtils]: 77: Hoare triple {3375#false} assume true; {3375#false} is VALID [2018-11-18 23:08:00,035 INFO L273 TraceCheckUtils]: 78: Hoare triple {3375#false} assume !(~i~2 < 9); {3375#false} is VALID [2018-11-18 23:08:00,035 INFO L273 TraceCheckUtils]: 79: Hoare triple {3375#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {3375#false} is VALID [2018-11-18 23:08:00,035 INFO L256 TraceCheckUtils]: 80: Hoare triple {3375#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {3374#true} is VALID [2018-11-18 23:08:00,036 INFO L273 TraceCheckUtils]: 81: Hoare triple {3374#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3374#true} is VALID [2018-11-18 23:08:00,036 INFO L273 TraceCheckUtils]: 82: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,036 INFO L273 TraceCheckUtils]: 83: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,036 INFO L273 TraceCheckUtils]: 84: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,036 INFO L273 TraceCheckUtils]: 85: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,036 INFO L273 TraceCheckUtils]: 86: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,036 INFO L273 TraceCheckUtils]: 87: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,036 INFO L273 TraceCheckUtils]: 88: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,037 INFO L273 TraceCheckUtils]: 89: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,037 INFO L273 TraceCheckUtils]: 90: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,037 INFO L273 TraceCheckUtils]: 91: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,037 INFO L273 TraceCheckUtils]: 92: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,037 INFO L273 TraceCheckUtils]: 93: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,037 INFO L273 TraceCheckUtils]: 94: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,037 INFO L273 TraceCheckUtils]: 95: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,037 INFO L273 TraceCheckUtils]: 96: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,038 INFO L273 TraceCheckUtils]: 97: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,038 INFO L273 TraceCheckUtils]: 98: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,038 INFO L273 TraceCheckUtils]: 99: Hoare triple {3374#true} assume !(~i~0 < 10); {3374#true} is VALID [2018-11-18 23:08:00,038 INFO L273 TraceCheckUtils]: 100: Hoare triple {3374#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3374#true} is VALID [2018-11-18 23:08:00,038 INFO L273 TraceCheckUtils]: 101: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,038 INFO L268 TraceCheckUtils]: 102: Hoare quadruple {3374#true} {3375#false} #82#return; {3375#false} is VALID [2018-11-18 23:08:00,038 INFO L273 TraceCheckUtils]: 103: Hoare triple {3375#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {3375#false} is VALID [2018-11-18 23:08:00,038 INFO L273 TraceCheckUtils]: 104: Hoare triple {3375#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3375#false} is VALID [2018-11-18 23:08:00,039 INFO L273 TraceCheckUtils]: 105: Hoare triple {3375#false} assume !false; {3375#false} is VALID [2018-11-18 23:08:00,045 INFO L134 CoverageAnalysis]: Checked inductivity of 413 backedges. 0 proven. 57 refuted. 0 times theorem prover too weak. 356 trivial. 0 not checked. [2018-11-18 23:08:00,045 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:00,045 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-18 23:08:00,058 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-18 23:08:00,144 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-18 23:08:00,144 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:08:00,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:00,170 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:00,287 INFO L256 TraceCheckUtils]: 0: Hoare triple {3374#true} call ULTIMATE.init(); {3374#true} is VALID [2018-11-18 23:08:00,288 INFO L273 TraceCheckUtils]: 1: Hoare triple {3374#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3374#true} is VALID [2018-11-18 23:08:00,288 INFO L273 TraceCheckUtils]: 2: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,288 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3374#true} {3374#true} #74#return; {3374#true} is VALID [2018-11-18 23:08:00,289 INFO L256 TraceCheckUtils]: 4: Hoare triple {3374#true} call #t~ret14 := main(); {3374#true} is VALID [2018-11-18 23:08:00,289 INFO L273 TraceCheckUtils]: 5: Hoare triple {3374#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3374#true} is VALID [2018-11-18 23:08:00,289 INFO L273 TraceCheckUtils]: 6: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,289 INFO L273 TraceCheckUtils]: 7: Hoare triple {3374#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3374#true} is VALID [2018-11-18 23:08:00,290 INFO L273 TraceCheckUtils]: 8: Hoare triple {3374#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3374#true} is VALID [2018-11-18 23:08:00,290 INFO L273 TraceCheckUtils]: 9: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,290 INFO L273 TraceCheckUtils]: 10: Hoare triple {3374#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3374#true} is VALID [2018-11-18 23:08:00,290 INFO L273 TraceCheckUtils]: 11: Hoare triple {3374#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3374#true} is VALID [2018-11-18 23:08:00,290 INFO L273 TraceCheckUtils]: 12: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,290 INFO L273 TraceCheckUtils]: 13: Hoare triple {3374#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3374#true} is VALID [2018-11-18 23:08:00,291 INFO L273 TraceCheckUtils]: 14: Hoare triple {3374#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3374#true} is VALID [2018-11-18 23:08:00,291 INFO L273 TraceCheckUtils]: 15: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,291 INFO L273 TraceCheckUtils]: 16: Hoare triple {3374#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3374#true} is VALID [2018-11-18 23:08:00,291 INFO L273 TraceCheckUtils]: 17: Hoare triple {3374#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3374#true} is VALID [2018-11-18 23:08:00,291 INFO L273 TraceCheckUtils]: 18: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,291 INFO L273 TraceCheckUtils]: 19: Hoare triple {3374#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3374#true} is VALID [2018-11-18 23:08:00,292 INFO L273 TraceCheckUtils]: 20: Hoare triple {3374#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3374#true} is VALID [2018-11-18 23:08:00,292 INFO L273 TraceCheckUtils]: 21: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,292 INFO L273 TraceCheckUtils]: 22: Hoare triple {3374#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {3374#true} is VALID [2018-11-18 23:08:00,292 INFO L273 TraceCheckUtils]: 23: Hoare triple {3374#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3374#true} is VALID [2018-11-18 23:08:00,292 INFO L273 TraceCheckUtils]: 24: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,292 INFO L273 TraceCheckUtils]: 25: Hoare triple {3374#true} assume !(~i~1 < 10); {3374#true} is VALID [2018-11-18 23:08:00,293 INFO L256 TraceCheckUtils]: 26: Hoare triple {3374#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {3374#true} is VALID [2018-11-18 23:08:00,293 INFO L273 TraceCheckUtils]: 27: Hoare triple {3374#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3374#true} is VALID [2018-11-18 23:08:00,293 INFO L273 TraceCheckUtils]: 28: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,293 INFO L273 TraceCheckUtils]: 29: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,293 INFO L273 TraceCheckUtils]: 30: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,293 INFO L273 TraceCheckUtils]: 31: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,294 INFO L273 TraceCheckUtils]: 32: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,294 INFO L273 TraceCheckUtils]: 33: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,294 INFO L273 TraceCheckUtils]: 34: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,294 INFO L273 TraceCheckUtils]: 35: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,294 INFO L273 TraceCheckUtils]: 36: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,294 INFO L273 TraceCheckUtils]: 37: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,294 INFO L273 TraceCheckUtils]: 38: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,294 INFO L273 TraceCheckUtils]: 39: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,295 INFO L273 TraceCheckUtils]: 40: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,295 INFO L273 TraceCheckUtils]: 41: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,295 INFO L273 TraceCheckUtils]: 42: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,295 INFO L273 TraceCheckUtils]: 43: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,295 INFO L273 TraceCheckUtils]: 44: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,295 INFO L273 TraceCheckUtils]: 45: Hoare triple {3374#true} assume !(~i~0 < 10); {3374#true} is VALID [2018-11-18 23:08:00,295 INFO L273 TraceCheckUtils]: 46: Hoare triple {3374#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3374#true} is VALID [2018-11-18 23:08:00,295 INFO L273 TraceCheckUtils]: 47: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,296 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {3374#true} {3374#true} #78#return; {3374#true} is VALID [2018-11-18 23:08:00,296 INFO L273 TraceCheckUtils]: 49: Hoare triple {3374#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); {3374#true} is VALID [2018-11-18 23:08:00,296 INFO L256 TraceCheckUtils]: 50: Hoare triple {3374#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {3374#true} is VALID [2018-11-18 23:08:00,296 INFO L273 TraceCheckUtils]: 51: Hoare triple {3374#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3374#true} is VALID [2018-11-18 23:08:00,296 INFO L273 TraceCheckUtils]: 52: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,296 INFO L273 TraceCheckUtils]: 53: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,296 INFO L273 TraceCheckUtils]: 54: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,296 INFO L273 TraceCheckUtils]: 55: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,297 INFO L273 TraceCheckUtils]: 56: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,297 INFO L273 TraceCheckUtils]: 57: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,297 INFO L273 TraceCheckUtils]: 58: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,297 INFO L273 TraceCheckUtils]: 59: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,297 INFO L273 TraceCheckUtils]: 60: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,297 INFO L273 TraceCheckUtils]: 61: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,297 INFO L273 TraceCheckUtils]: 62: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,297 INFO L273 TraceCheckUtils]: 63: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,297 INFO L273 TraceCheckUtils]: 64: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,298 INFO L273 TraceCheckUtils]: 65: Hoare triple {3374#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3374#true} is VALID [2018-11-18 23:08:00,298 INFO L273 TraceCheckUtils]: 66: Hoare triple {3374#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3374#true} is VALID [2018-11-18 23:08:00,298 INFO L273 TraceCheckUtils]: 67: Hoare triple {3374#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3374#true} is VALID [2018-11-18 23:08:00,298 INFO L273 TraceCheckUtils]: 68: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,298 INFO L273 TraceCheckUtils]: 69: Hoare triple {3374#true} assume !(~i~0 < 10); {3374#true} is VALID [2018-11-18 23:08:00,298 INFO L273 TraceCheckUtils]: 70: Hoare triple {3374#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3374#true} is VALID [2018-11-18 23:08:00,298 INFO L273 TraceCheckUtils]: 71: Hoare triple {3374#true} assume true; {3374#true} is VALID [2018-11-18 23:08:00,298 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {3374#true} {3374#true} #80#return; {3374#true} is VALID [2018-11-18 23:08:00,299 INFO L273 TraceCheckUtils]: 73: Hoare triple {3374#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; {3605#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:00,299 INFO L273 TraceCheckUtils]: 74: Hoare triple {3605#(<= main_~i~2 0)} assume true; {3605#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:00,300 INFO L273 TraceCheckUtils]: 75: Hoare triple {3605#(<= main_~i~2 0)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {3605#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:00,300 INFO L273 TraceCheckUtils]: 76: Hoare triple {3605#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {3615#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:00,303 INFO L273 TraceCheckUtils]: 77: Hoare triple {3615#(<= main_~i~2 1)} assume true; {3615#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:00,303 INFO L273 TraceCheckUtils]: 78: Hoare triple {3615#(<= main_~i~2 1)} assume !(~i~2 < 9); {3375#false} is VALID [2018-11-18 23:08:00,303 INFO L273 TraceCheckUtils]: 79: Hoare triple {3375#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {3375#false} is VALID [2018-11-18 23:08:00,303 INFO L256 TraceCheckUtils]: 80: Hoare triple {3375#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {3375#false} is VALID [2018-11-18 23:08:00,304 INFO L273 TraceCheckUtils]: 81: Hoare triple {3375#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3375#false} is VALID [2018-11-18 23:08:00,304 INFO L273 TraceCheckUtils]: 82: Hoare triple {3375#false} assume true; {3375#false} is VALID [2018-11-18 23:08:00,304 INFO L273 TraceCheckUtils]: 83: Hoare triple {3375#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3375#false} is VALID [2018-11-18 23:08:00,304 INFO L273 TraceCheckUtils]: 84: Hoare triple {3375#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3375#false} is VALID [2018-11-18 23:08:00,304 INFO L273 TraceCheckUtils]: 85: Hoare triple {3375#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3375#false} is VALID [2018-11-18 23:08:00,304 INFO L273 TraceCheckUtils]: 86: Hoare triple {3375#false} assume true; {3375#false} is VALID [2018-11-18 23:08:00,304 INFO L273 TraceCheckUtils]: 87: Hoare triple {3375#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3375#false} is VALID [2018-11-18 23:08:00,304 INFO L273 TraceCheckUtils]: 88: Hoare triple {3375#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3375#false} is VALID [2018-11-18 23:08:00,304 INFO L273 TraceCheckUtils]: 89: Hoare triple {3375#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3375#false} is VALID [2018-11-18 23:08:00,305 INFO L273 TraceCheckUtils]: 90: Hoare triple {3375#false} assume true; {3375#false} is VALID [2018-11-18 23:08:00,305 INFO L273 TraceCheckUtils]: 91: Hoare triple {3375#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3375#false} is VALID [2018-11-18 23:08:00,305 INFO L273 TraceCheckUtils]: 92: Hoare triple {3375#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3375#false} is VALID [2018-11-18 23:08:00,305 INFO L273 TraceCheckUtils]: 93: Hoare triple {3375#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3375#false} is VALID [2018-11-18 23:08:00,305 INFO L273 TraceCheckUtils]: 94: Hoare triple {3375#false} assume true; {3375#false} is VALID [2018-11-18 23:08:00,305 INFO L273 TraceCheckUtils]: 95: Hoare triple {3375#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {3375#false} is VALID [2018-11-18 23:08:00,305 INFO L273 TraceCheckUtils]: 96: Hoare triple {3375#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3375#false} is VALID [2018-11-18 23:08:00,305 INFO L273 TraceCheckUtils]: 97: Hoare triple {3375#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3375#false} is VALID [2018-11-18 23:08:00,306 INFO L273 TraceCheckUtils]: 98: Hoare triple {3375#false} assume true; {3375#false} is VALID [2018-11-18 23:08:00,306 INFO L273 TraceCheckUtils]: 99: Hoare triple {3375#false} assume !(~i~0 < 10); {3375#false} is VALID [2018-11-18 23:08:00,306 INFO L273 TraceCheckUtils]: 100: Hoare triple {3375#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3375#false} is VALID [2018-11-18 23:08:00,306 INFO L273 TraceCheckUtils]: 101: Hoare triple {3375#false} assume true; {3375#false} is VALID [2018-11-18 23:08:00,306 INFO L268 TraceCheckUtils]: 102: Hoare quadruple {3375#false} {3375#false} #82#return; {3375#false} is VALID [2018-11-18 23:08:00,306 INFO L273 TraceCheckUtils]: 103: Hoare triple {3375#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {3375#false} is VALID [2018-11-18 23:08:00,306 INFO L273 TraceCheckUtils]: 104: Hoare triple {3375#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3375#false} is VALID [2018-11-18 23:08:00,306 INFO L273 TraceCheckUtils]: 105: Hoare triple {3375#false} assume !false; {3375#false} is VALID [2018-11-18 23:08:00,311 INFO L134 CoverageAnalysis]: Checked inductivity of 413 backedges. 172 proven. 2 refuted. 0 times theorem prover too weak. 239 trivial. 0 not checked. [2018-11-18 23:08:00,329 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:00,329 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 4] total 11 [2018-11-18 23:08:00,330 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 106 [2018-11-18 23:08:00,331 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:00,331 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-18 23:08:00,408 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-18 23:08:00,408 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-18 23:08:00,409 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-18 23:08:00,409 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2018-11-18 23:08:00,409 INFO L87 Difference]: Start difference. First operand 63 states and 71 transitions. Second operand 11 states. [2018-11-18 23:08:00,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:00,781 INFO L93 Difference]: Finished difference Result 108 states and 125 transitions. [2018-11-18 23:08:00,781 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-18 23:08:00,781 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 106 [2018-11-18 23:08:00,781 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:00,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-18 23:08:00,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 89 transitions. [2018-11-18 23:08:00,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-18 23:08:00,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 89 transitions. [2018-11-18 23:08:00,785 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 89 transitions. [2018-11-18 23:08:00,928 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-18 23:08:00,930 INFO L225 Difference]: With dead ends: 108 [2018-11-18 23:08:00,930 INFO L226 Difference]: Without dead ends: 71 [2018-11-18 23:08:00,931 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 105 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-18 23:08:00,931 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2018-11-18 23:08:00,958 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 69. [2018-11-18 23:08:00,958 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:00,958 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 69 states. [2018-11-18 23:08:00,958 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 69 states. [2018-11-18 23:08:00,959 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 69 states. [2018-11-18 23:08:00,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:00,961 INFO L93 Difference]: Finished difference Result 71 states and 79 transitions. [2018-11-18 23:08:00,962 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 79 transitions. [2018-11-18 23:08:00,962 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:00,962 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:00,962 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 71 states. [2018-11-18 23:08:00,962 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 71 states. [2018-11-18 23:08:00,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:00,964 INFO L93 Difference]: Finished difference Result 71 states and 79 transitions. [2018-11-18 23:08:00,964 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 79 transitions. [2018-11-18 23:08:00,965 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:00,965 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:00,965 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:00,965 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:00,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-11-18 23:08:00,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 77 transitions. [2018-11-18 23:08:00,967 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 77 transitions. Word has length 106 [2018-11-18 23:08:00,967 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:00,967 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 77 transitions. [2018-11-18 23:08:00,968 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-18 23:08:00,968 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 77 transitions. [2018-11-18 23:08:00,969 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 113 [2018-11-18 23:08:00,969 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:00,969 INFO L375 BasicCegarLoop]: trace histogram [15, 12, 12, 12, 8, 7, 7, 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] [2018-11-18 23:08:00,969 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:00,969 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:00,970 INFO L82 PathProgramCache]: Analyzing trace with hash 940432913, now seen corresponding path program 7 times [2018-11-18 23:08:00,970 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:00,970 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:00,970 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:00,971 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:08:00,971 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:00,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:01,337 INFO L256 TraceCheckUtils]: 0: Hoare triple {4080#true} call ULTIMATE.init(); {4080#true} is VALID [2018-11-18 23:08:01,337 INFO L273 TraceCheckUtils]: 1: Hoare triple {4080#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4080#true} is VALID [2018-11-18 23:08:01,338 INFO L273 TraceCheckUtils]: 2: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,338 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4080#true} {4080#true} #74#return; {4080#true} is VALID [2018-11-18 23:08:01,338 INFO L256 TraceCheckUtils]: 4: Hoare triple {4080#true} call #t~ret14 := main(); {4080#true} is VALID [2018-11-18 23:08:01,338 INFO L273 TraceCheckUtils]: 5: Hoare triple {4080#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4082#(= main_~i~1 0)} is VALID [2018-11-18 23:08:01,339 INFO L273 TraceCheckUtils]: 6: Hoare triple {4082#(= main_~i~1 0)} assume true; {4082#(= main_~i~1 0)} is VALID [2018-11-18 23:08:01,340 INFO L273 TraceCheckUtils]: 7: Hoare triple {4082#(= main_~i~1 0)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4082#(= main_~i~1 0)} is VALID [2018-11-18 23:08:01,340 INFO L273 TraceCheckUtils]: 8: Hoare triple {4082#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4083#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:01,342 INFO L273 TraceCheckUtils]: 9: Hoare triple {4083#(<= main_~i~1 1)} assume true; {4083#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:01,355 INFO L273 TraceCheckUtils]: 10: Hoare triple {4083#(<= main_~i~1 1)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4083#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:01,368 INFO L273 TraceCheckUtils]: 11: Hoare triple {4083#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4084#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:01,380 INFO L273 TraceCheckUtils]: 12: Hoare triple {4084#(<= main_~i~1 2)} assume true; {4084#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:01,393 INFO L273 TraceCheckUtils]: 13: Hoare triple {4084#(<= main_~i~1 2)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4084#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:01,411 INFO L273 TraceCheckUtils]: 14: Hoare triple {4084#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4085#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:01,416 INFO L273 TraceCheckUtils]: 15: Hoare triple {4085#(<= main_~i~1 3)} assume true; {4085#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:01,416 INFO L273 TraceCheckUtils]: 16: Hoare triple {4085#(<= main_~i~1 3)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4085#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:01,418 INFO L273 TraceCheckUtils]: 17: Hoare triple {4085#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4086#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:01,418 INFO L273 TraceCheckUtils]: 18: Hoare triple {4086#(<= main_~i~1 4)} assume true; {4086#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:01,420 INFO L273 TraceCheckUtils]: 19: Hoare triple {4086#(<= main_~i~1 4)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4086#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:01,420 INFO L273 TraceCheckUtils]: 20: Hoare triple {4086#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4087#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:01,422 INFO L273 TraceCheckUtils]: 21: Hoare triple {4087#(<= main_~i~1 5)} assume true; {4087#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:01,422 INFO L273 TraceCheckUtils]: 22: Hoare triple {4087#(<= main_~i~1 5)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4087#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:01,422 INFO L273 TraceCheckUtils]: 23: Hoare triple {4087#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4088#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:01,423 INFO L273 TraceCheckUtils]: 24: Hoare triple {4088#(<= main_~i~1 6)} assume true; {4088#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:01,423 INFO L273 TraceCheckUtils]: 25: Hoare triple {4088#(<= main_~i~1 6)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4088#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:01,424 INFO L273 TraceCheckUtils]: 26: Hoare triple {4088#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4089#(<= main_~i~1 7)} is VALID [2018-11-18 23:08:01,424 INFO L273 TraceCheckUtils]: 27: Hoare triple {4089#(<= main_~i~1 7)} assume true; {4089#(<= main_~i~1 7)} is VALID [2018-11-18 23:08:01,424 INFO L273 TraceCheckUtils]: 28: Hoare triple {4089#(<= main_~i~1 7)} assume !(~i~1 < 10); {4081#false} is VALID [2018-11-18 23:08:01,424 INFO L256 TraceCheckUtils]: 29: Hoare triple {4081#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4080#true} is VALID [2018-11-18 23:08:01,424 INFO L273 TraceCheckUtils]: 30: Hoare triple {4080#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4080#true} is VALID [2018-11-18 23:08:01,425 INFO L273 TraceCheckUtils]: 31: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,425 INFO L273 TraceCheckUtils]: 32: Hoare triple {4080#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4080#true} is VALID [2018-11-18 23:08:01,425 INFO L273 TraceCheckUtils]: 33: Hoare triple {4080#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4080#true} is VALID [2018-11-18 23:08:01,425 INFO L273 TraceCheckUtils]: 34: Hoare triple {4080#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4080#true} is VALID [2018-11-18 23:08:01,425 INFO L273 TraceCheckUtils]: 35: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,425 INFO L273 TraceCheckUtils]: 36: Hoare triple {4080#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4080#true} is VALID [2018-11-18 23:08:01,425 INFO L273 TraceCheckUtils]: 37: Hoare triple {4080#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4080#true} is VALID [2018-11-18 23:08:01,425 INFO L273 TraceCheckUtils]: 38: Hoare triple {4080#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4080#true} is VALID [2018-11-18 23:08:01,426 INFO L273 TraceCheckUtils]: 39: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,426 INFO L273 TraceCheckUtils]: 40: Hoare triple {4080#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4080#true} is VALID [2018-11-18 23:08:01,426 INFO L273 TraceCheckUtils]: 41: Hoare triple {4080#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4080#true} is VALID [2018-11-18 23:08:01,426 INFO L273 TraceCheckUtils]: 42: Hoare triple {4080#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4080#true} is VALID [2018-11-18 23:08:01,426 INFO L273 TraceCheckUtils]: 43: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,426 INFO L273 TraceCheckUtils]: 44: Hoare triple {4080#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4080#true} is VALID [2018-11-18 23:08:01,426 INFO L273 TraceCheckUtils]: 45: Hoare triple {4080#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4080#true} is VALID [2018-11-18 23:08:01,426 INFO L273 TraceCheckUtils]: 46: Hoare triple {4080#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4080#true} is VALID [2018-11-18 23:08:01,427 INFO L273 TraceCheckUtils]: 47: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,427 INFO L273 TraceCheckUtils]: 48: Hoare triple {4080#true} assume !(~i~0 < 10); {4080#true} is VALID [2018-11-18 23:08:01,427 INFO L273 TraceCheckUtils]: 49: Hoare triple {4080#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4080#true} is VALID [2018-11-18 23:08:01,427 INFO L273 TraceCheckUtils]: 50: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,427 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {4080#true} {4081#false} #78#return; {4081#false} is VALID [2018-11-18 23:08:01,427 INFO L273 TraceCheckUtils]: 52: Hoare triple {4081#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); {4081#false} is VALID [2018-11-18 23:08:01,427 INFO L256 TraceCheckUtils]: 53: Hoare triple {4081#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4080#true} is VALID [2018-11-18 23:08:01,427 INFO L273 TraceCheckUtils]: 54: Hoare triple {4080#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4080#true} is VALID [2018-11-18 23:08:01,427 INFO L273 TraceCheckUtils]: 55: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,428 INFO L273 TraceCheckUtils]: 56: Hoare triple {4080#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4080#true} is VALID [2018-11-18 23:08:01,428 INFO L273 TraceCheckUtils]: 57: Hoare triple {4080#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4080#true} is VALID [2018-11-18 23:08:01,428 INFO L273 TraceCheckUtils]: 58: Hoare triple {4080#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4080#true} is VALID [2018-11-18 23:08:01,428 INFO L273 TraceCheckUtils]: 59: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,428 INFO L273 TraceCheckUtils]: 60: Hoare triple {4080#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4080#true} is VALID [2018-11-18 23:08:01,428 INFO L273 TraceCheckUtils]: 61: Hoare triple {4080#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4080#true} is VALID [2018-11-18 23:08:01,428 INFO L273 TraceCheckUtils]: 62: Hoare triple {4080#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4080#true} is VALID [2018-11-18 23:08:01,428 INFO L273 TraceCheckUtils]: 63: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,429 INFO L273 TraceCheckUtils]: 64: Hoare triple {4080#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4080#true} is VALID [2018-11-18 23:08:01,429 INFO L273 TraceCheckUtils]: 65: Hoare triple {4080#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4080#true} is VALID [2018-11-18 23:08:01,429 INFO L273 TraceCheckUtils]: 66: Hoare triple {4080#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4080#true} is VALID [2018-11-18 23:08:01,429 INFO L273 TraceCheckUtils]: 67: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,429 INFO L273 TraceCheckUtils]: 68: Hoare triple {4080#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4080#true} is VALID [2018-11-18 23:08:01,429 INFO L273 TraceCheckUtils]: 69: Hoare triple {4080#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4080#true} is VALID [2018-11-18 23:08:01,429 INFO L273 TraceCheckUtils]: 70: Hoare triple {4080#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4080#true} is VALID [2018-11-18 23:08:01,429 INFO L273 TraceCheckUtils]: 71: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,430 INFO L273 TraceCheckUtils]: 72: Hoare triple {4080#true} assume !(~i~0 < 10); {4080#true} is VALID [2018-11-18 23:08:01,430 INFO L273 TraceCheckUtils]: 73: Hoare triple {4080#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4080#true} is VALID [2018-11-18 23:08:01,430 INFO L273 TraceCheckUtils]: 74: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,430 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {4080#true} {4081#false} #80#return; {4081#false} is VALID [2018-11-18 23:08:01,430 INFO L273 TraceCheckUtils]: 76: Hoare triple {4081#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; {4081#false} is VALID [2018-11-18 23:08:01,430 INFO L273 TraceCheckUtils]: 77: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,430 INFO L273 TraceCheckUtils]: 78: Hoare triple {4081#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4081#false} is VALID [2018-11-18 23:08:01,430 INFO L273 TraceCheckUtils]: 79: Hoare triple {4081#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4081#false} is VALID [2018-11-18 23:08:01,430 INFO L273 TraceCheckUtils]: 80: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,431 INFO L273 TraceCheckUtils]: 81: Hoare triple {4081#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4081#false} is VALID [2018-11-18 23:08:01,431 INFO L273 TraceCheckUtils]: 82: Hoare triple {4081#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4081#false} is VALID [2018-11-18 23:08:01,431 INFO L273 TraceCheckUtils]: 83: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,431 INFO L273 TraceCheckUtils]: 84: Hoare triple {4081#false} assume !(~i~2 < 9); {4081#false} is VALID [2018-11-18 23:08:01,431 INFO L273 TraceCheckUtils]: 85: Hoare triple {4081#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {4081#false} is VALID [2018-11-18 23:08:01,431 INFO L256 TraceCheckUtils]: 86: Hoare triple {4081#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4080#true} is VALID [2018-11-18 23:08:01,431 INFO L273 TraceCheckUtils]: 87: Hoare triple {4080#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4080#true} is VALID [2018-11-18 23:08:01,431 INFO L273 TraceCheckUtils]: 88: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,432 INFO L273 TraceCheckUtils]: 89: Hoare triple {4080#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4080#true} is VALID [2018-11-18 23:08:01,432 INFO L273 TraceCheckUtils]: 90: Hoare triple {4080#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4080#true} is VALID [2018-11-18 23:08:01,432 INFO L273 TraceCheckUtils]: 91: Hoare triple {4080#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4080#true} is VALID [2018-11-18 23:08:01,432 INFO L273 TraceCheckUtils]: 92: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,432 INFO L273 TraceCheckUtils]: 93: Hoare triple {4080#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4080#true} is VALID [2018-11-18 23:08:01,432 INFO L273 TraceCheckUtils]: 94: Hoare triple {4080#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4080#true} is VALID [2018-11-18 23:08:01,432 INFO L273 TraceCheckUtils]: 95: Hoare triple {4080#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4080#true} is VALID [2018-11-18 23:08:01,432 INFO L273 TraceCheckUtils]: 96: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,432 INFO L273 TraceCheckUtils]: 97: Hoare triple {4080#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4080#true} is VALID [2018-11-18 23:08:01,433 INFO L273 TraceCheckUtils]: 98: Hoare triple {4080#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4080#true} is VALID [2018-11-18 23:08:01,433 INFO L273 TraceCheckUtils]: 99: Hoare triple {4080#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4080#true} is VALID [2018-11-18 23:08:01,433 INFO L273 TraceCheckUtils]: 100: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,433 INFO L273 TraceCheckUtils]: 101: Hoare triple {4080#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4080#true} is VALID [2018-11-18 23:08:01,433 INFO L273 TraceCheckUtils]: 102: Hoare triple {4080#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4080#true} is VALID [2018-11-18 23:08:01,433 INFO L273 TraceCheckUtils]: 103: Hoare triple {4080#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4080#true} is VALID [2018-11-18 23:08:01,433 INFO L273 TraceCheckUtils]: 104: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,433 INFO L273 TraceCheckUtils]: 105: Hoare triple {4080#true} assume !(~i~0 < 10); {4080#true} is VALID [2018-11-18 23:08:01,434 INFO L273 TraceCheckUtils]: 106: Hoare triple {4080#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4080#true} is VALID [2018-11-18 23:08:01,434 INFO L273 TraceCheckUtils]: 107: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,434 INFO L268 TraceCheckUtils]: 108: Hoare quadruple {4080#true} {4081#false} #82#return; {4081#false} is VALID [2018-11-18 23:08:01,434 INFO L273 TraceCheckUtils]: 109: Hoare triple {4081#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4081#false} is VALID [2018-11-18 23:08:01,434 INFO L273 TraceCheckUtils]: 110: Hoare triple {4081#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4081#false} is VALID [2018-11-18 23:08:01,434 INFO L273 TraceCheckUtils]: 111: Hoare triple {4081#false} assume !false; {4081#false} is VALID [2018-11-18 23:08:01,440 INFO L134 CoverageAnalysis]: Checked inductivity of 438 backedges. 0 proven. 77 refuted. 0 times theorem prover too weak. 361 trivial. 0 not checked. [2018-11-18 23:08:01,440 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:01,440 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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-18 23:08:01,449 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:08:01,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:01,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:01,516 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:01,721 INFO L256 TraceCheckUtils]: 0: Hoare triple {4080#true} call ULTIMATE.init(); {4080#true} is VALID [2018-11-18 23:08:01,721 INFO L273 TraceCheckUtils]: 1: Hoare triple {4080#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4080#true} is VALID [2018-11-18 23:08:01,722 INFO L273 TraceCheckUtils]: 2: Hoare triple {4080#true} assume true; {4080#true} is VALID [2018-11-18 23:08:01,722 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4080#true} {4080#true} #74#return; {4080#true} is VALID [2018-11-18 23:08:01,722 INFO L256 TraceCheckUtils]: 4: Hoare triple {4080#true} call #t~ret14 := main(); {4080#true} is VALID [2018-11-18 23:08:01,723 INFO L273 TraceCheckUtils]: 5: Hoare triple {4080#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4108#(<= main_~i~1 0)} is VALID [2018-11-18 23:08:01,723 INFO L273 TraceCheckUtils]: 6: Hoare triple {4108#(<= main_~i~1 0)} assume true; {4108#(<= main_~i~1 0)} is VALID [2018-11-18 23:08:01,724 INFO L273 TraceCheckUtils]: 7: Hoare triple {4108#(<= main_~i~1 0)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4108#(<= main_~i~1 0)} is VALID [2018-11-18 23:08:01,724 INFO L273 TraceCheckUtils]: 8: Hoare triple {4108#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4083#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:01,725 INFO L273 TraceCheckUtils]: 9: Hoare triple {4083#(<= main_~i~1 1)} assume true; {4083#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:01,725 INFO L273 TraceCheckUtils]: 10: Hoare triple {4083#(<= main_~i~1 1)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4083#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:01,726 INFO L273 TraceCheckUtils]: 11: Hoare triple {4083#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4084#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:01,727 INFO L273 TraceCheckUtils]: 12: Hoare triple {4084#(<= main_~i~1 2)} assume true; {4084#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:01,728 INFO L273 TraceCheckUtils]: 13: Hoare triple {4084#(<= main_~i~1 2)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4084#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:01,729 INFO L273 TraceCheckUtils]: 14: Hoare triple {4084#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4085#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:01,729 INFO L273 TraceCheckUtils]: 15: Hoare triple {4085#(<= main_~i~1 3)} assume true; {4085#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:01,730 INFO L273 TraceCheckUtils]: 16: Hoare triple {4085#(<= main_~i~1 3)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4085#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:01,731 INFO L273 TraceCheckUtils]: 17: Hoare triple {4085#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4086#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:01,731 INFO L273 TraceCheckUtils]: 18: Hoare triple {4086#(<= main_~i~1 4)} assume true; {4086#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:01,732 INFO L273 TraceCheckUtils]: 19: Hoare triple {4086#(<= main_~i~1 4)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4086#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:01,733 INFO L273 TraceCheckUtils]: 20: Hoare triple {4086#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4087#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:01,734 INFO L273 TraceCheckUtils]: 21: Hoare triple {4087#(<= main_~i~1 5)} assume true; {4087#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:01,734 INFO L273 TraceCheckUtils]: 22: Hoare triple {4087#(<= main_~i~1 5)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4087#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:01,735 INFO L273 TraceCheckUtils]: 23: Hoare triple {4087#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4088#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:01,736 INFO L273 TraceCheckUtils]: 24: Hoare triple {4088#(<= main_~i~1 6)} assume true; {4088#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:01,737 INFO L273 TraceCheckUtils]: 25: Hoare triple {4088#(<= main_~i~1 6)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4088#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:01,737 INFO L273 TraceCheckUtils]: 26: Hoare triple {4088#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4089#(<= main_~i~1 7)} is VALID [2018-11-18 23:08:01,738 INFO L273 TraceCheckUtils]: 27: Hoare triple {4089#(<= main_~i~1 7)} assume true; {4089#(<= main_~i~1 7)} is VALID [2018-11-18 23:08:01,739 INFO L273 TraceCheckUtils]: 28: Hoare triple {4089#(<= main_~i~1 7)} assume !(~i~1 < 10); {4081#false} is VALID [2018-11-18 23:08:01,739 INFO L256 TraceCheckUtils]: 29: Hoare triple {4081#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4081#false} is VALID [2018-11-18 23:08:01,740 INFO L273 TraceCheckUtils]: 30: Hoare triple {4081#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4081#false} is VALID [2018-11-18 23:08:01,740 INFO L273 TraceCheckUtils]: 31: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,740 INFO L273 TraceCheckUtils]: 32: Hoare triple {4081#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4081#false} is VALID [2018-11-18 23:08:01,740 INFO L273 TraceCheckUtils]: 33: Hoare triple {4081#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4081#false} is VALID [2018-11-18 23:08:01,741 INFO L273 TraceCheckUtils]: 34: Hoare triple {4081#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4081#false} is VALID [2018-11-18 23:08:01,741 INFO L273 TraceCheckUtils]: 35: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,741 INFO L273 TraceCheckUtils]: 36: Hoare triple {4081#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4081#false} is VALID [2018-11-18 23:08:01,741 INFO L273 TraceCheckUtils]: 37: Hoare triple {4081#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4081#false} is VALID [2018-11-18 23:08:01,742 INFO L273 TraceCheckUtils]: 38: Hoare triple {4081#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4081#false} is VALID [2018-11-18 23:08:01,742 INFO L273 TraceCheckUtils]: 39: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,742 INFO L273 TraceCheckUtils]: 40: Hoare triple {4081#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4081#false} is VALID [2018-11-18 23:08:01,742 INFO L273 TraceCheckUtils]: 41: Hoare triple {4081#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4081#false} is VALID [2018-11-18 23:08:01,743 INFO L273 TraceCheckUtils]: 42: Hoare triple {4081#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4081#false} is VALID [2018-11-18 23:08:01,743 INFO L273 TraceCheckUtils]: 43: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,743 INFO L273 TraceCheckUtils]: 44: Hoare triple {4081#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4081#false} is VALID [2018-11-18 23:08:01,743 INFO L273 TraceCheckUtils]: 45: Hoare triple {4081#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4081#false} is VALID [2018-11-18 23:08:01,743 INFO L273 TraceCheckUtils]: 46: Hoare triple {4081#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4081#false} is VALID [2018-11-18 23:08:01,744 INFO L273 TraceCheckUtils]: 47: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,744 INFO L273 TraceCheckUtils]: 48: Hoare triple {4081#false} assume !(~i~0 < 10); {4081#false} is VALID [2018-11-18 23:08:01,744 INFO L273 TraceCheckUtils]: 49: Hoare triple {4081#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4081#false} is VALID [2018-11-18 23:08:01,744 INFO L273 TraceCheckUtils]: 50: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,744 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {4081#false} {4081#false} #78#return; {4081#false} is VALID [2018-11-18 23:08:01,744 INFO L273 TraceCheckUtils]: 52: Hoare triple {4081#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); {4081#false} is VALID [2018-11-18 23:08:01,744 INFO L256 TraceCheckUtils]: 53: Hoare triple {4081#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4081#false} is VALID [2018-11-18 23:08:01,745 INFO L273 TraceCheckUtils]: 54: Hoare triple {4081#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4081#false} is VALID [2018-11-18 23:08:01,745 INFO L273 TraceCheckUtils]: 55: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,745 INFO L273 TraceCheckUtils]: 56: Hoare triple {4081#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4081#false} is VALID [2018-11-18 23:08:01,745 INFO L273 TraceCheckUtils]: 57: Hoare triple {4081#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4081#false} is VALID [2018-11-18 23:08:01,745 INFO L273 TraceCheckUtils]: 58: Hoare triple {4081#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4081#false} is VALID [2018-11-18 23:08:01,745 INFO L273 TraceCheckUtils]: 59: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,746 INFO L273 TraceCheckUtils]: 60: Hoare triple {4081#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4081#false} is VALID [2018-11-18 23:08:01,746 INFO L273 TraceCheckUtils]: 61: Hoare triple {4081#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4081#false} is VALID [2018-11-18 23:08:01,746 INFO L273 TraceCheckUtils]: 62: Hoare triple {4081#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4081#false} is VALID [2018-11-18 23:08:01,746 INFO L273 TraceCheckUtils]: 63: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,746 INFO L273 TraceCheckUtils]: 64: Hoare triple {4081#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4081#false} is VALID [2018-11-18 23:08:01,746 INFO L273 TraceCheckUtils]: 65: Hoare triple {4081#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4081#false} is VALID [2018-11-18 23:08:01,746 INFO L273 TraceCheckUtils]: 66: Hoare triple {4081#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4081#false} is VALID [2018-11-18 23:08:01,747 INFO L273 TraceCheckUtils]: 67: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,747 INFO L273 TraceCheckUtils]: 68: Hoare triple {4081#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4081#false} is VALID [2018-11-18 23:08:01,747 INFO L273 TraceCheckUtils]: 69: Hoare triple {4081#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4081#false} is VALID [2018-11-18 23:08:01,747 INFO L273 TraceCheckUtils]: 70: Hoare triple {4081#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4081#false} is VALID [2018-11-18 23:08:01,747 INFO L273 TraceCheckUtils]: 71: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,747 INFO L273 TraceCheckUtils]: 72: Hoare triple {4081#false} assume !(~i~0 < 10); {4081#false} is VALID [2018-11-18 23:08:01,748 INFO L273 TraceCheckUtils]: 73: Hoare triple {4081#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4081#false} is VALID [2018-11-18 23:08:01,748 INFO L273 TraceCheckUtils]: 74: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,748 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {4081#false} {4081#false} #80#return; {4081#false} is VALID [2018-11-18 23:08:01,748 INFO L273 TraceCheckUtils]: 76: Hoare triple {4081#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; {4081#false} is VALID [2018-11-18 23:08:01,748 INFO L273 TraceCheckUtils]: 77: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,749 INFO L273 TraceCheckUtils]: 78: Hoare triple {4081#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4081#false} is VALID [2018-11-18 23:08:01,749 INFO L273 TraceCheckUtils]: 79: Hoare triple {4081#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4081#false} is VALID [2018-11-18 23:08:01,749 INFO L273 TraceCheckUtils]: 80: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,749 INFO L273 TraceCheckUtils]: 81: Hoare triple {4081#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4081#false} is VALID [2018-11-18 23:08:01,749 INFO L273 TraceCheckUtils]: 82: Hoare triple {4081#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4081#false} is VALID [2018-11-18 23:08:01,750 INFO L273 TraceCheckUtils]: 83: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,750 INFO L273 TraceCheckUtils]: 84: Hoare triple {4081#false} assume !(~i~2 < 9); {4081#false} is VALID [2018-11-18 23:08:01,750 INFO L273 TraceCheckUtils]: 85: Hoare triple {4081#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {4081#false} is VALID [2018-11-18 23:08:01,750 INFO L256 TraceCheckUtils]: 86: Hoare triple {4081#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4081#false} is VALID [2018-11-18 23:08:01,751 INFO L273 TraceCheckUtils]: 87: Hoare triple {4081#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4081#false} is VALID [2018-11-18 23:08:01,751 INFO L273 TraceCheckUtils]: 88: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,751 INFO L273 TraceCheckUtils]: 89: Hoare triple {4081#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4081#false} is VALID [2018-11-18 23:08:01,751 INFO L273 TraceCheckUtils]: 90: Hoare triple {4081#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4081#false} is VALID [2018-11-18 23:08:01,751 INFO L273 TraceCheckUtils]: 91: Hoare triple {4081#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4081#false} is VALID [2018-11-18 23:08:01,752 INFO L273 TraceCheckUtils]: 92: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,752 INFO L273 TraceCheckUtils]: 93: Hoare triple {4081#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4081#false} is VALID [2018-11-18 23:08:01,752 INFO L273 TraceCheckUtils]: 94: Hoare triple {4081#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4081#false} is VALID [2018-11-18 23:08:01,752 INFO L273 TraceCheckUtils]: 95: Hoare triple {4081#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4081#false} is VALID [2018-11-18 23:08:01,753 INFO L273 TraceCheckUtils]: 96: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,753 INFO L273 TraceCheckUtils]: 97: Hoare triple {4081#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4081#false} is VALID [2018-11-18 23:08:01,753 INFO L273 TraceCheckUtils]: 98: Hoare triple {4081#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4081#false} is VALID [2018-11-18 23:08:01,753 INFO L273 TraceCheckUtils]: 99: Hoare triple {4081#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4081#false} is VALID [2018-11-18 23:08:01,753 INFO L273 TraceCheckUtils]: 100: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,754 INFO L273 TraceCheckUtils]: 101: Hoare triple {4081#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4081#false} is VALID [2018-11-18 23:08:01,754 INFO L273 TraceCheckUtils]: 102: Hoare triple {4081#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4081#false} is VALID [2018-11-18 23:08:01,754 INFO L273 TraceCheckUtils]: 103: Hoare triple {4081#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4081#false} is VALID [2018-11-18 23:08:01,754 INFO L273 TraceCheckUtils]: 104: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,754 INFO L273 TraceCheckUtils]: 105: Hoare triple {4081#false} assume !(~i~0 < 10); {4081#false} is VALID [2018-11-18 23:08:01,756 INFO L273 TraceCheckUtils]: 106: Hoare triple {4081#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4081#false} is VALID [2018-11-18 23:08:01,757 INFO L273 TraceCheckUtils]: 107: Hoare triple {4081#false} assume true; {4081#false} is VALID [2018-11-18 23:08:01,757 INFO L268 TraceCheckUtils]: 108: Hoare quadruple {4081#false} {4081#false} #82#return; {4081#false} is VALID [2018-11-18 23:08:01,757 INFO L273 TraceCheckUtils]: 109: Hoare triple {4081#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4081#false} is VALID [2018-11-18 23:08:01,757 INFO L273 TraceCheckUtils]: 110: Hoare triple {4081#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4081#false} is VALID [2018-11-18 23:08:01,758 INFO L273 TraceCheckUtils]: 111: Hoare triple {4081#false} assume !false; {4081#false} is VALID [2018-11-18 23:08:01,771 INFO L134 CoverageAnalysis]: Checked inductivity of 438 backedges. 0 proven. 77 refuted. 0 times theorem prover too weak. 361 trivial. 0 not checked. [2018-11-18 23:08:01,791 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:01,791 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2018-11-18 23:08:01,792 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 112 [2018-11-18 23:08:01,794 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:01,794 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-18 23:08:01,874 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-18 23:08:01,874 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-18 23:08:01,875 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-18 23:08:01,875 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-18 23:08:01,875 INFO L87 Difference]: Start difference. First operand 69 states and 77 transitions. Second operand 11 states. [2018-11-18 23:08:02,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:02,299 INFO L93 Difference]: Finished difference Result 113 states and 129 transitions. [2018-11-18 23:08:02,299 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-18 23:08:02,300 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 112 [2018-11-18 23:08:02,300 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:02,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-18 23:08:02,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2018-11-18 23:08:02,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-18 23:08:02,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2018-11-18 23:08:02,304 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 85 transitions. [2018-11-18 23:08:02,481 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-18 23:08:02,483 INFO L225 Difference]: With dead ends: 113 [2018-11-18 23:08:02,483 INFO L226 Difference]: Without dead ends: 73 [2018-11-18 23:08:02,484 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 112 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-18 23:08:02,484 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2018-11-18 23:08:02,509 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 72. [2018-11-18 23:08:02,509 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:02,509 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 72 states. [2018-11-18 23:08:02,510 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 72 states. [2018-11-18 23:08:02,510 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 72 states. [2018-11-18 23:08:02,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:02,512 INFO L93 Difference]: Finished difference Result 73 states and 81 transitions. [2018-11-18 23:08:02,512 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2018-11-18 23:08:02,513 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:02,513 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:02,513 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 73 states. [2018-11-18 23:08:02,513 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 73 states. [2018-11-18 23:08:02,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:02,515 INFO L93 Difference]: Finished difference Result 73 states and 81 transitions. [2018-11-18 23:08:02,515 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2018-11-18 23:08:02,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:02,516 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:02,516 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:02,516 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:02,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2018-11-18 23:08:02,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 80 transitions. [2018-11-18 23:08:02,532 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 80 transitions. Word has length 112 [2018-11-18 23:08:02,532 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:02,532 INFO L480 AbstractCegarLoop]: Abstraction has 72 states and 80 transitions. [2018-11-18 23:08:02,532 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-18 23:08:02,532 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 80 transitions. [2018-11-18 23:08:02,537 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 116 [2018-11-18 23:08:02,537 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:02,537 INFO L375 BasicCegarLoop]: trace histogram [15, 12, 12, 12, 9, 8, 8, 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] [2018-11-18 23:08:02,537 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:02,538 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:02,538 INFO L82 PathProgramCache]: Analyzing trace with hash -514515514, now seen corresponding path program 8 times [2018-11-18 23:08:02,538 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:02,538 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:02,543 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:02,543 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:08:02,543 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:02,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:02,871 INFO L256 TraceCheckUtils]: 0: Hoare triple {4819#true} call ULTIMATE.init(); {4819#true} is VALID [2018-11-18 23:08:02,871 INFO L273 TraceCheckUtils]: 1: Hoare triple {4819#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4819#true} is VALID [2018-11-18 23:08:02,871 INFO L273 TraceCheckUtils]: 2: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,871 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4819#true} {4819#true} #74#return; {4819#true} is VALID [2018-11-18 23:08:02,871 INFO L256 TraceCheckUtils]: 4: Hoare triple {4819#true} call #t~ret14 := main(); {4819#true} is VALID [2018-11-18 23:08:02,872 INFO L273 TraceCheckUtils]: 5: Hoare triple {4819#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4821#(= main_~i~1 0)} is VALID [2018-11-18 23:08:02,872 INFO L273 TraceCheckUtils]: 6: Hoare triple {4821#(= main_~i~1 0)} assume true; {4821#(= main_~i~1 0)} is VALID [2018-11-18 23:08:02,872 INFO L273 TraceCheckUtils]: 7: Hoare triple {4821#(= main_~i~1 0)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4821#(= main_~i~1 0)} is VALID [2018-11-18 23:08:02,873 INFO L273 TraceCheckUtils]: 8: Hoare triple {4821#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4822#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:02,873 INFO L273 TraceCheckUtils]: 9: Hoare triple {4822#(<= main_~i~1 1)} assume true; {4822#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:02,874 INFO L273 TraceCheckUtils]: 10: Hoare triple {4822#(<= main_~i~1 1)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4822#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:02,875 INFO L273 TraceCheckUtils]: 11: Hoare triple {4822#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4823#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:02,875 INFO L273 TraceCheckUtils]: 12: Hoare triple {4823#(<= main_~i~1 2)} assume true; {4823#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:02,876 INFO L273 TraceCheckUtils]: 13: Hoare triple {4823#(<= main_~i~1 2)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4823#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:02,876 INFO L273 TraceCheckUtils]: 14: Hoare triple {4823#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4824#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:02,877 INFO L273 TraceCheckUtils]: 15: Hoare triple {4824#(<= main_~i~1 3)} assume true; {4824#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:02,877 INFO L273 TraceCheckUtils]: 16: Hoare triple {4824#(<= main_~i~1 3)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4824#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:02,878 INFO L273 TraceCheckUtils]: 17: Hoare triple {4824#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4825#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:02,879 INFO L273 TraceCheckUtils]: 18: Hoare triple {4825#(<= main_~i~1 4)} assume true; {4825#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:02,879 INFO L273 TraceCheckUtils]: 19: Hoare triple {4825#(<= main_~i~1 4)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4825#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:02,880 INFO L273 TraceCheckUtils]: 20: Hoare triple {4825#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4826#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:02,880 INFO L273 TraceCheckUtils]: 21: Hoare triple {4826#(<= main_~i~1 5)} assume true; {4826#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:02,881 INFO L273 TraceCheckUtils]: 22: Hoare triple {4826#(<= main_~i~1 5)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4826#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:02,882 INFO L273 TraceCheckUtils]: 23: Hoare triple {4826#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4827#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:02,882 INFO L273 TraceCheckUtils]: 24: Hoare triple {4827#(<= main_~i~1 6)} assume true; {4827#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:02,883 INFO L273 TraceCheckUtils]: 25: Hoare triple {4827#(<= main_~i~1 6)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4827#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:02,883 INFO L273 TraceCheckUtils]: 26: Hoare triple {4827#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4828#(<= main_~i~1 7)} is VALID [2018-11-18 23:08:02,884 INFO L273 TraceCheckUtils]: 27: Hoare triple {4828#(<= main_~i~1 7)} assume true; {4828#(<= main_~i~1 7)} is VALID [2018-11-18 23:08:02,885 INFO L273 TraceCheckUtils]: 28: Hoare triple {4828#(<= main_~i~1 7)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4828#(<= main_~i~1 7)} is VALID [2018-11-18 23:08:02,885 INFO L273 TraceCheckUtils]: 29: Hoare triple {4828#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4829#(<= main_~i~1 8)} is VALID [2018-11-18 23:08:02,886 INFO L273 TraceCheckUtils]: 30: Hoare triple {4829#(<= main_~i~1 8)} assume true; {4829#(<= main_~i~1 8)} is VALID [2018-11-18 23:08:02,887 INFO L273 TraceCheckUtils]: 31: Hoare triple {4829#(<= main_~i~1 8)} assume !(~i~1 < 10); {4820#false} is VALID [2018-11-18 23:08:02,887 INFO L256 TraceCheckUtils]: 32: Hoare triple {4820#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4819#true} is VALID [2018-11-18 23:08:02,887 INFO L273 TraceCheckUtils]: 33: Hoare triple {4819#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4819#true} is VALID [2018-11-18 23:08:02,887 INFO L273 TraceCheckUtils]: 34: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,887 INFO L273 TraceCheckUtils]: 35: Hoare triple {4819#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4819#true} is VALID [2018-11-18 23:08:02,888 INFO L273 TraceCheckUtils]: 36: Hoare triple {4819#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4819#true} is VALID [2018-11-18 23:08:02,888 INFO L273 TraceCheckUtils]: 37: Hoare triple {4819#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4819#true} is VALID [2018-11-18 23:08:02,888 INFO L273 TraceCheckUtils]: 38: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,888 INFO L273 TraceCheckUtils]: 39: Hoare triple {4819#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4819#true} is VALID [2018-11-18 23:08:02,888 INFO L273 TraceCheckUtils]: 40: Hoare triple {4819#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4819#true} is VALID [2018-11-18 23:08:02,888 INFO L273 TraceCheckUtils]: 41: Hoare triple {4819#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4819#true} is VALID [2018-11-18 23:08:02,889 INFO L273 TraceCheckUtils]: 42: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,889 INFO L273 TraceCheckUtils]: 43: Hoare triple {4819#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4819#true} is VALID [2018-11-18 23:08:02,889 INFO L273 TraceCheckUtils]: 44: Hoare triple {4819#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4819#true} is VALID [2018-11-18 23:08:02,889 INFO L273 TraceCheckUtils]: 45: Hoare triple {4819#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4819#true} is VALID [2018-11-18 23:08:02,889 INFO L273 TraceCheckUtils]: 46: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,889 INFO L273 TraceCheckUtils]: 47: Hoare triple {4819#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4819#true} is VALID [2018-11-18 23:08:02,889 INFO L273 TraceCheckUtils]: 48: Hoare triple {4819#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4819#true} is VALID [2018-11-18 23:08:02,889 INFO L273 TraceCheckUtils]: 49: Hoare triple {4819#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4819#true} is VALID [2018-11-18 23:08:02,890 INFO L273 TraceCheckUtils]: 50: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,890 INFO L273 TraceCheckUtils]: 51: Hoare triple {4819#true} assume !(~i~0 < 10); {4819#true} is VALID [2018-11-18 23:08:02,890 INFO L273 TraceCheckUtils]: 52: Hoare triple {4819#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4819#true} is VALID [2018-11-18 23:08:02,890 INFO L273 TraceCheckUtils]: 53: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,890 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {4819#true} {4820#false} #78#return; {4820#false} is VALID [2018-11-18 23:08:02,890 INFO L273 TraceCheckUtils]: 55: Hoare triple {4820#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); {4820#false} is VALID [2018-11-18 23:08:02,890 INFO L256 TraceCheckUtils]: 56: Hoare triple {4820#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4819#true} is VALID [2018-11-18 23:08:02,890 INFO L273 TraceCheckUtils]: 57: Hoare triple {4819#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4819#true} is VALID [2018-11-18 23:08:02,891 INFO L273 TraceCheckUtils]: 58: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,891 INFO L273 TraceCheckUtils]: 59: Hoare triple {4819#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4819#true} is VALID [2018-11-18 23:08:02,891 INFO L273 TraceCheckUtils]: 60: Hoare triple {4819#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4819#true} is VALID [2018-11-18 23:08:02,891 INFO L273 TraceCheckUtils]: 61: Hoare triple {4819#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4819#true} is VALID [2018-11-18 23:08:02,891 INFO L273 TraceCheckUtils]: 62: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,891 INFO L273 TraceCheckUtils]: 63: Hoare triple {4819#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4819#true} is VALID [2018-11-18 23:08:02,892 INFO L273 TraceCheckUtils]: 64: Hoare triple {4819#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4819#true} is VALID [2018-11-18 23:08:02,892 INFO L273 TraceCheckUtils]: 65: Hoare triple {4819#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4819#true} is VALID [2018-11-18 23:08:02,892 INFO L273 TraceCheckUtils]: 66: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,892 INFO L273 TraceCheckUtils]: 67: Hoare triple {4819#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4819#true} is VALID [2018-11-18 23:08:02,892 INFO L273 TraceCheckUtils]: 68: Hoare triple {4819#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4819#true} is VALID [2018-11-18 23:08:02,893 INFO L273 TraceCheckUtils]: 69: Hoare triple {4819#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4819#true} is VALID [2018-11-18 23:08:02,893 INFO L273 TraceCheckUtils]: 70: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,893 INFO L273 TraceCheckUtils]: 71: Hoare triple {4819#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4819#true} is VALID [2018-11-18 23:08:02,893 INFO L273 TraceCheckUtils]: 72: Hoare triple {4819#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4819#true} is VALID [2018-11-18 23:08:02,893 INFO L273 TraceCheckUtils]: 73: Hoare triple {4819#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4819#true} is VALID [2018-11-18 23:08:02,893 INFO L273 TraceCheckUtils]: 74: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,894 INFO L273 TraceCheckUtils]: 75: Hoare triple {4819#true} assume !(~i~0 < 10); {4819#true} is VALID [2018-11-18 23:08:02,894 INFO L273 TraceCheckUtils]: 76: Hoare triple {4819#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4819#true} is VALID [2018-11-18 23:08:02,894 INFO L273 TraceCheckUtils]: 77: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,894 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {4819#true} {4820#false} #80#return; {4820#false} is VALID [2018-11-18 23:08:02,894 INFO L273 TraceCheckUtils]: 79: Hoare triple {4820#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; {4820#false} is VALID [2018-11-18 23:08:02,894 INFO L273 TraceCheckUtils]: 80: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:02,895 INFO L273 TraceCheckUtils]: 81: Hoare triple {4820#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4820#false} is VALID [2018-11-18 23:08:02,895 INFO L273 TraceCheckUtils]: 82: Hoare triple {4820#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4820#false} is VALID [2018-11-18 23:08:02,895 INFO L273 TraceCheckUtils]: 83: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:02,895 INFO L273 TraceCheckUtils]: 84: Hoare triple {4820#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4820#false} is VALID [2018-11-18 23:08:02,895 INFO L273 TraceCheckUtils]: 85: Hoare triple {4820#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4820#false} is VALID [2018-11-18 23:08:02,895 INFO L273 TraceCheckUtils]: 86: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:02,896 INFO L273 TraceCheckUtils]: 87: Hoare triple {4820#false} assume !(~i~2 < 9); {4820#false} is VALID [2018-11-18 23:08:02,896 INFO L273 TraceCheckUtils]: 88: Hoare triple {4820#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {4820#false} is VALID [2018-11-18 23:08:02,896 INFO L256 TraceCheckUtils]: 89: Hoare triple {4820#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4819#true} is VALID [2018-11-18 23:08:02,896 INFO L273 TraceCheckUtils]: 90: Hoare triple {4819#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4819#true} is VALID [2018-11-18 23:08:02,896 INFO L273 TraceCheckUtils]: 91: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,896 INFO L273 TraceCheckUtils]: 92: Hoare triple {4819#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4819#true} is VALID [2018-11-18 23:08:02,897 INFO L273 TraceCheckUtils]: 93: Hoare triple {4819#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4819#true} is VALID [2018-11-18 23:08:02,897 INFO L273 TraceCheckUtils]: 94: Hoare triple {4819#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4819#true} is VALID [2018-11-18 23:08:02,897 INFO L273 TraceCheckUtils]: 95: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,897 INFO L273 TraceCheckUtils]: 96: Hoare triple {4819#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4819#true} is VALID [2018-11-18 23:08:02,897 INFO L273 TraceCheckUtils]: 97: Hoare triple {4819#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4819#true} is VALID [2018-11-18 23:08:02,897 INFO L273 TraceCheckUtils]: 98: Hoare triple {4819#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4819#true} is VALID [2018-11-18 23:08:02,898 INFO L273 TraceCheckUtils]: 99: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,898 INFO L273 TraceCheckUtils]: 100: Hoare triple {4819#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4819#true} is VALID [2018-11-18 23:08:02,898 INFO L273 TraceCheckUtils]: 101: Hoare triple {4819#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4819#true} is VALID [2018-11-18 23:08:02,898 INFO L273 TraceCheckUtils]: 102: Hoare triple {4819#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4819#true} is VALID [2018-11-18 23:08:02,898 INFO L273 TraceCheckUtils]: 103: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,898 INFO L273 TraceCheckUtils]: 104: Hoare triple {4819#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4819#true} is VALID [2018-11-18 23:08:02,899 INFO L273 TraceCheckUtils]: 105: Hoare triple {4819#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4819#true} is VALID [2018-11-18 23:08:02,899 INFO L273 TraceCheckUtils]: 106: Hoare triple {4819#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4819#true} is VALID [2018-11-18 23:08:02,899 INFO L273 TraceCheckUtils]: 107: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,899 INFO L273 TraceCheckUtils]: 108: Hoare triple {4819#true} assume !(~i~0 < 10); {4819#true} is VALID [2018-11-18 23:08:02,899 INFO L273 TraceCheckUtils]: 109: Hoare triple {4819#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4819#true} is VALID [2018-11-18 23:08:02,899 INFO L273 TraceCheckUtils]: 110: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:02,900 INFO L268 TraceCheckUtils]: 111: Hoare quadruple {4819#true} {4820#false} #82#return; {4820#false} is VALID [2018-11-18 23:08:02,900 INFO L273 TraceCheckUtils]: 112: Hoare triple {4820#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4820#false} is VALID [2018-11-18 23:08:02,900 INFO L273 TraceCheckUtils]: 113: Hoare triple {4820#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4820#false} is VALID [2018-11-18 23:08:02,900 INFO L273 TraceCheckUtils]: 114: Hoare triple {4820#false} assume !false; {4820#false} is VALID [2018-11-18 23:08:02,908 INFO L134 CoverageAnalysis]: Checked inductivity of 461 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 361 trivial. 0 not checked. [2018-11-18 23:08:02,908 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:02,908 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-18 23:08:02,926 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:08:02,978 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-18 23:08:02,978 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:08:02,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:02,998 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:03,175 INFO L256 TraceCheckUtils]: 0: Hoare triple {4819#true} call ULTIMATE.init(); {4819#true} is VALID [2018-11-18 23:08:03,175 INFO L273 TraceCheckUtils]: 1: Hoare triple {4819#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4819#true} is VALID [2018-11-18 23:08:03,175 INFO L273 TraceCheckUtils]: 2: Hoare triple {4819#true} assume true; {4819#true} is VALID [2018-11-18 23:08:03,176 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4819#true} {4819#true} #74#return; {4819#true} is VALID [2018-11-18 23:08:03,176 INFO L256 TraceCheckUtils]: 4: Hoare triple {4819#true} call #t~ret14 := main(); {4819#true} is VALID [2018-11-18 23:08:03,177 INFO L273 TraceCheckUtils]: 5: Hoare triple {4819#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4848#(<= main_~i~1 0)} is VALID [2018-11-18 23:08:03,177 INFO L273 TraceCheckUtils]: 6: Hoare triple {4848#(<= main_~i~1 0)} assume true; {4848#(<= main_~i~1 0)} is VALID [2018-11-18 23:08:03,178 INFO L273 TraceCheckUtils]: 7: Hoare triple {4848#(<= main_~i~1 0)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4848#(<= main_~i~1 0)} is VALID [2018-11-18 23:08:03,178 INFO L273 TraceCheckUtils]: 8: Hoare triple {4848#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4822#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:03,179 INFO L273 TraceCheckUtils]: 9: Hoare triple {4822#(<= main_~i~1 1)} assume true; {4822#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:03,179 INFO L273 TraceCheckUtils]: 10: Hoare triple {4822#(<= main_~i~1 1)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4822#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:03,179 INFO L273 TraceCheckUtils]: 11: Hoare triple {4822#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4823#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:03,180 INFO L273 TraceCheckUtils]: 12: Hoare triple {4823#(<= main_~i~1 2)} assume true; {4823#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:03,180 INFO L273 TraceCheckUtils]: 13: Hoare triple {4823#(<= main_~i~1 2)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4823#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:03,181 INFO L273 TraceCheckUtils]: 14: Hoare triple {4823#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4824#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:03,181 INFO L273 TraceCheckUtils]: 15: Hoare triple {4824#(<= main_~i~1 3)} assume true; {4824#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:03,182 INFO L273 TraceCheckUtils]: 16: Hoare triple {4824#(<= main_~i~1 3)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4824#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:03,183 INFO L273 TraceCheckUtils]: 17: Hoare triple {4824#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4825#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:03,183 INFO L273 TraceCheckUtils]: 18: Hoare triple {4825#(<= main_~i~1 4)} assume true; {4825#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:03,184 INFO L273 TraceCheckUtils]: 19: Hoare triple {4825#(<= main_~i~1 4)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4825#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:03,185 INFO L273 TraceCheckUtils]: 20: Hoare triple {4825#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4826#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:03,185 INFO L273 TraceCheckUtils]: 21: Hoare triple {4826#(<= main_~i~1 5)} assume true; {4826#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:03,186 INFO L273 TraceCheckUtils]: 22: Hoare triple {4826#(<= main_~i~1 5)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4826#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:03,186 INFO L273 TraceCheckUtils]: 23: Hoare triple {4826#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4827#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:03,187 INFO L273 TraceCheckUtils]: 24: Hoare triple {4827#(<= main_~i~1 6)} assume true; {4827#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:03,187 INFO L273 TraceCheckUtils]: 25: Hoare triple {4827#(<= main_~i~1 6)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4827#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:03,188 INFO L273 TraceCheckUtils]: 26: Hoare triple {4827#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4828#(<= main_~i~1 7)} is VALID [2018-11-18 23:08:03,189 INFO L273 TraceCheckUtils]: 27: Hoare triple {4828#(<= main_~i~1 7)} assume true; {4828#(<= main_~i~1 7)} is VALID [2018-11-18 23:08:03,189 INFO L273 TraceCheckUtils]: 28: Hoare triple {4828#(<= main_~i~1 7)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {4828#(<= main_~i~1 7)} is VALID [2018-11-18 23:08:03,190 INFO L273 TraceCheckUtils]: 29: Hoare triple {4828#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {4829#(<= main_~i~1 8)} is VALID [2018-11-18 23:08:03,191 INFO L273 TraceCheckUtils]: 30: Hoare triple {4829#(<= main_~i~1 8)} assume true; {4829#(<= main_~i~1 8)} is VALID [2018-11-18 23:08:03,191 INFO L273 TraceCheckUtils]: 31: Hoare triple {4829#(<= main_~i~1 8)} assume !(~i~1 < 10); {4820#false} is VALID [2018-11-18 23:08:03,192 INFO L256 TraceCheckUtils]: 32: Hoare triple {4820#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4820#false} is VALID [2018-11-18 23:08:03,192 INFO L273 TraceCheckUtils]: 33: Hoare triple {4820#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4820#false} is VALID [2018-11-18 23:08:03,192 INFO L273 TraceCheckUtils]: 34: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,192 INFO L273 TraceCheckUtils]: 35: Hoare triple {4820#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4820#false} is VALID [2018-11-18 23:08:03,192 INFO L273 TraceCheckUtils]: 36: Hoare triple {4820#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4820#false} is VALID [2018-11-18 23:08:03,193 INFO L273 TraceCheckUtils]: 37: Hoare triple {4820#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4820#false} is VALID [2018-11-18 23:08:03,193 INFO L273 TraceCheckUtils]: 38: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,193 INFO L273 TraceCheckUtils]: 39: Hoare triple {4820#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4820#false} is VALID [2018-11-18 23:08:03,193 INFO L273 TraceCheckUtils]: 40: Hoare triple {4820#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4820#false} is VALID [2018-11-18 23:08:03,193 INFO L273 TraceCheckUtils]: 41: Hoare triple {4820#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4820#false} is VALID [2018-11-18 23:08:03,194 INFO L273 TraceCheckUtils]: 42: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,194 INFO L273 TraceCheckUtils]: 43: Hoare triple {4820#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4820#false} is VALID [2018-11-18 23:08:03,194 INFO L273 TraceCheckUtils]: 44: Hoare triple {4820#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4820#false} is VALID [2018-11-18 23:08:03,194 INFO L273 TraceCheckUtils]: 45: Hoare triple {4820#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4820#false} is VALID [2018-11-18 23:08:03,194 INFO L273 TraceCheckUtils]: 46: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,195 INFO L273 TraceCheckUtils]: 47: Hoare triple {4820#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4820#false} is VALID [2018-11-18 23:08:03,195 INFO L273 TraceCheckUtils]: 48: Hoare triple {4820#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4820#false} is VALID [2018-11-18 23:08:03,195 INFO L273 TraceCheckUtils]: 49: Hoare triple {4820#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4820#false} is VALID [2018-11-18 23:08:03,195 INFO L273 TraceCheckUtils]: 50: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,195 INFO L273 TraceCheckUtils]: 51: Hoare triple {4820#false} assume !(~i~0 < 10); {4820#false} is VALID [2018-11-18 23:08:03,195 INFO L273 TraceCheckUtils]: 52: Hoare triple {4820#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4820#false} is VALID [2018-11-18 23:08:03,195 INFO L273 TraceCheckUtils]: 53: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,195 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {4820#false} {4820#false} #78#return; {4820#false} is VALID [2018-11-18 23:08:03,196 INFO L273 TraceCheckUtils]: 55: Hoare triple {4820#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); {4820#false} is VALID [2018-11-18 23:08:03,196 INFO L256 TraceCheckUtils]: 56: Hoare triple {4820#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4820#false} is VALID [2018-11-18 23:08:03,196 INFO L273 TraceCheckUtils]: 57: Hoare triple {4820#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4820#false} is VALID [2018-11-18 23:08:03,196 INFO L273 TraceCheckUtils]: 58: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,196 INFO L273 TraceCheckUtils]: 59: Hoare triple {4820#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4820#false} is VALID [2018-11-18 23:08:03,196 INFO L273 TraceCheckUtils]: 60: Hoare triple {4820#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4820#false} is VALID [2018-11-18 23:08:03,196 INFO L273 TraceCheckUtils]: 61: Hoare triple {4820#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4820#false} is VALID [2018-11-18 23:08:03,196 INFO L273 TraceCheckUtils]: 62: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,196 INFO L273 TraceCheckUtils]: 63: Hoare triple {4820#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4820#false} is VALID [2018-11-18 23:08:03,197 INFO L273 TraceCheckUtils]: 64: Hoare triple {4820#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4820#false} is VALID [2018-11-18 23:08:03,197 INFO L273 TraceCheckUtils]: 65: Hoare triple {4820#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4820#false} is VALID [2018-11-18 23:08:03,197 INFO L273 TraceCheckUtils]: 66: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,197 INFO L273 TraceCheckUtils]: 67: Hoare triple {4820#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4820#false} is VALID [2018-11-18 23:08:03,197 INFO L273 TraceCheckUtils]: 68: Hoare triple {4820#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4820#false} is VALID [2018-11-18 23:08:03,197 INFO L273 TraceCheckUtils]: 69: Hoare triple {4820#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4820#false} is VALID [2018-11-18 23:08:03,197 INFO L273 TraceCheckUtils]: 70: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,197 INFO L273 TraceCheckUtils]: 71: Hoare triple {4820#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4820#false} is VALID [2018-11-18 23:08:03,198 INFO L273 TraceCheckUtils]: 72: Hoare triple {4820#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4820#false} is VALID [2018-11-18 23:08:03,198 INFO L273 TraceCheckUtils]: 73: Hoare triple {4820#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4820#false} is VALID [2018-11-18 23:08:03,198 INFO L273 TraceCheckUtils]: 74: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,198 INFO L273 TraceCheckUtils]: 75: Hoare triple {4820#false} assume !(~i~0 < 10); {4820#false} is VALID [2018-11-18 23:08:03,198 INFO L273 TraceCheckUtils]: 76: Hoare triple {4820#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4820#false} is VALID [2018-11-18 23:08:03,198 INFO L273 TraceCheckUtils]: 77: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,198 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {4820#false} {4820#false} #80#return; {4820#false} is VALID [2018-11-18 23:08:03,198 INFO L273 TraceCheckUtils]: 79: Hoare triple {4820#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; {4820#false} is VALID [2018-11-18 23:08:03,199 INFO L273 TraceCheckUtils]: 80: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,199 INFO L273 TraceCheckUtils]: 81: Hoare triple {4820#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4820#false} is VALID [2018-11-18 23:08:03,199 INFO L273 TraceCheckUtils]: 82: Hoare triple {4820#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4820#false} is VALID [2018-11-18 23:08:03,199 INFO L273 TraceCheckUtils]: 83: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,199 INFO L273 TraceCheckUtils]: 84: Hoare triple {4820#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {4820#false} is VALID [2018-11-18 23:08:03,199 INFO L273 TraceCheckUtils]: 85: Hoare triple {4820#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {4820#false} is VALID [2018-11-18 23:08:03,199 INFO L273 TraceCheckUtils]: 86: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,199 INFO L273 TraceCheckUtils]: 87: Hoare triple {4820#false} assume !(~i~2 < 9); {4820#false} is VALID [2018-11-18 23:08:03,199 INFO L273 TraceCheckUtils]: 88: Hoare triple {4820#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {4820#false} is VALID [2018-11-18 23:08:03,200 INFO L256 TraceCheckUtils]: 89: Hoare triple {4820#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4820#false} is VALID [2018-11-18 23:08:03,200 INFO L273 TraceCheckUtils]: 90: Hoare triple {4820#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4820#false} is VALID [2018-11-18 23:08:03,200 INFO L273 TraceCheckUtils]: 91: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,200 INFO L273 TraceCheckUtils]: 92: Hoare triple {4820#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4820#false} is VALID [2018-11-18 23:08:03,200 INFO L273 TraceCheckUtils]: 93: Hoare triple {4820#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4820#false} is VALID [2018-11-18 23:08:03,200 INFO L273 TraceCheckUtils]: 94: Hoare triple {4820#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4820#false} is VALID [2018-11-18 23:08:03,200 INFO L273 TraceCheckUtils]: 95: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,200 INFO L273 TraceCheckUtils]: 96: Hoare triple {4820#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4820#false} is VALID [2018-11-18 23:08:03,201 INFO L273 TraceCheckUtils]: 97: Hoare triple {4820#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4820#false} is VALID [2018-11-18 23:08:03,201 INFO L273 TraceCheckUtils]: 98: Hoare triple {4820#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4820#false} is VALID [2018-11-18 23:08:03,201 INFO L273 TraceCheckUtils]: 99: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,201 INFO L273 TraceCheckUtils]: 100: Hoare triple {4820#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4820#false} is VALID [2018-11-18 23:08:03,201 INFO L273 TraceCheckUtils]: 101: Hoare triple {4820#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4820#false} is VALID [2018-11-18 23:08:03,201 INFO L273 TraceCheckUtils]: 102: Hoare triple {4820#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4820#false} is VALID [2018-11-18 23:08:03,201 INFO L273 TraceCheckUtils]: 103: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,202 INFO L273 TraceCheckUtils]: 104: Hoare triple {4820#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {4820#false} is VALID [2018-11-18 23:08:03,202 INFO L273 TraceCheckUtils]: 105: Hoare triple {4820#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4820#false} is VALID [2018-11-18 23:08:03,202 INFO L273 TraceCheckUtils]: 106: Hoare triple {4820#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4820#false} is VALID [2018-11-18 23:08:03,202 INFO L273 TraceCheckUtils]: 107: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,202 INFO L273 TraceCheckUtils]: 108: Hoare triple {4820#false} assume !(~i~0 < 10); {4820#false} is VALID [2018-11-18 23:08:03,202 INFO L273 TraceCheckUtils]: 109: Hoare triple {4820#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4820#false} is VALID [2018-11-18 23:08:03,202 INFO L273 TraceCheckUtils]: 110: Hoare triple {4820#false} assume true; {4820#false} is VALID [2018-11-18 23:08:03,202 INFO L268 TraceCheckUtils]: 111: Hoare quadruple {4820#false} {4820#false} #82#return; {4820#false} is VALID [2018-11-18 23:08:03,202 INFO L273 TraceCheckUtils]: 112: Hoare triple {4820#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4820#false} is VALID [2018-11-18 23:08:03,203 INFO L273 TraceCheckUtils]: 113: Hoare triple {4820#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4820#false} is VALID [2018-11-18 23:08:03,203 INFO L273 TraceCheckUtils]: 114: Hoare triple {4820#false} assume !false; {4820#false} is VALID [2018-11-18 23:08:03,209 INFO L134 CoverageAnalysis]: Checked inductivity of 461 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 361 trivial. 0 not checked. [2018-11-18 23:08:03,228 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:03,228 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 12 [2018-11-18 23:08:03,228 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 115 [2018-11-18 23:08:03,229 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:03,230 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-18 23:08:03,300 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-18 23:08:03,300 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-18 23:08:03,300 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-18 23:08:03,300 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-18 23:08:03,301 INFO L87 Difference]: Start difference. First operand 72 states and 80 transitions. Second operand 12 states. [2018-11-18 23:08:03,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:03,612 INFO L93 Difference]: Finished difference Result 116 states and 132 transitions. [2018-11-18 23:08:03,612 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-18 23:08:03,612 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 115 [2018-11-18 23:08:03,612 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:03,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-18 23:08:03,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 88 transitions. [2018-11-18 23:08:03,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-18 23:08:03,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 88 transitions. [2018-11-18 23:08:03,615 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 88 transitions. [2018-11-18 23:08:03,731 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:03,735 INFO L225 Difference]: With dead ends: 116 [2018-11-18 23:08:03,735 INFO L226 Difference]: Without dead ends: 76 [2018-11-18 23:08:03,736 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 115 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-18 23:08:03,736 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2018-11-18 23:08:03,755 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 75. [2018-11-18 23:08:03,756 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:03,756 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 75 states. [2018-11-18 23:08:03,756 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 75 states. [2018-11-18 23:08:03,756 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 75 states. [2018-11-18 23:08:03,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:03,759 INFO L93 Difference]: Finished difference Result 76 states and 84 transitions. [2018-11-18 23:08:03,759 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 84 transitions. [2018-11-18 23:08:03,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:03,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:03,760 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 76 states. [2018-11-18 23:08:03,760 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 76 states. [2018-11-18 23:08:03,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:03,762 INFO L93 Difference]: Finished difference Result 76 states and 84 transitions. [2018-11-18 23:08:03,762 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 84 transitions. [2018-11-18 23:08:03,763 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:03,763 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:03,763 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:03,763 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:03,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2018-11-18 23:08:03,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 83 transitions. [2018-11-18 23:08:03,765 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 83 transitions. Word has length 115 [2018-11-18 23:08:03,765 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:03,765 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 83 transitions. [2018-11-18 23:08:03,765 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-18 23:08:03,766 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 83 transitions. [2018-11-18 23:08:03,767 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2018-11-18 23:08:03,767 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:03,767 INFO L375 BasicCegarLoop]: trace histogram [15, 12, 12, 12, 10, 9, 9, 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] [2018-11-18 23:08:03,767 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:03,767 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:03,768 INFO L82 PathProgramCache]: Analyzing trace with hash -73153039, now seen corresponding path program 9 times [2018-11-18 23:08:03,768 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:03,768 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:03,769 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:03,769 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:08:03,769 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:03,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:04,479 INFO L256 TraceCheckUtils]: 0: Hoare triple {5582#true} call ULTIMATE.init(); {5582#true} is VALID [2018-11-18 23:08:04,480 INFO L273 TraceCheckUtils]: 1: Hoare triple {5582#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5582#true} is VALID [2018-11-18 23:08:04,480 INFO L273 TraceCheckUtils]: 2: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,480 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5582#true} {5582#true} #74#return; {5582#true} is VALID [2018-11-18 23:08:04,480 INFO L256 TraceCheckUtils]: 4: Hoare triple {5582#true} call #t~ret14 := main(); {5582#true} is VALID [2018-11-18 23:08:04,480 INFO L273 TraceCheckUtils]: 5: Hoare triple {5582#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {5584#(= main_~i~1 0)} is VALID [2018-11-18 23:08:04,481 INFO L273 TraceCheckUtils]: 6: Hoare triple {5584#(= main_~i~1 0)} assume true; {5584#(= main_~i~1 0)} is VALID [2018-11-18 23:08:04,481 INFO L273 TraceCheckUtils]: 7: Hoare triple {5584#(= main_~i~1 0)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5584#(= main_~i~1 0)} is VALID [2018-11-18 23:08:04,482 INFO L273 TraceCheckUtils]: 8: Hoare triple {5584#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5585#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:04,482 INFO L273 TraceCheckUtils]: 9: Hoare triple {5585#(<= main_~i~1 1)} assume true; {5585#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:04,482 INFO L273 TraceCheckUtils]: 10: Hoare triple {5585#(<= main_~i~1 1)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5585#(<= main_~i~1 1)} is VALID [2018-11-18 23:08:04,483 INFO L273 TraceCheckUtils]: 11: Hoare triple {5585#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5586#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:04,483 INFO L273 TraceCheckUtils]: 12: Hoare triple {5586#(<= main_~i~1 2)} assume true; {5586#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:04,484 INFO L273 TraceCheckUtils]: 13: Hoare triple {5586#(<= main_~i~1 2)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5586#(<= main_~i~1 2)} is VALID [2018-11-18 23:08:04,484 INFO L273 TraceCheckUtils]: 14: Hoare triple {5586#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5587#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:04,484 INFO L273 TraceCheckUtils]: 15: Hoare triple {5587#(<= main_~i~1 3)} assume true; {5587#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:04,485 INFO L273 TraceCheckUtils]: 16: Hoare triple {5587#(<= main_~i~1 3)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5587#(<= main_~i~1 3)} is VALID [2018-11-18 23:08:04,486 INFO L273 TraceCheckUtils]: 17: Hoare triple {5587#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5588#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:04,486 INFO L273 TraceCheckUtils]: 18: Hoare triple {5588#(<= main_~i~1 4)} assume true; {5588#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:04,487 INFO L273 TraceCheckUtils]: 19: Hoare triple {5588#(<= main_~i~1 4)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5588#(<= main_~i~1 4)} is VALID [2018-11-18 23:08:04,487 INFO L273 TraceCheckUtils]: 20: Hoare triple {5588#(<= main_~i~1 4)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5589#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:04,488 INFO L273 TraceCheckUtils]: 21: Hoare triple {5589#(<= main_~i~1 5)} assume true; {5589#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:04,489 INFO L273 TraceCheckUtils]: 22: Hoare triple {5589#(<= main_~i~1 5)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5589#(<= main_~i~1 5)} is VALID [2018-11-18 23:08:04,489 INFO L273 TraceCheckUtils]: 23: Hoare triple {5589#(<= main_~i~1 5)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5590#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:04,490 INFO L273 TraceCheckUtils]: 24: Hoare triple {5590#(<= main_~i~1 6)} assume true; {5590#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:04,490 INFO L273 TraceCheckUtils]: 25: Hoare triple {5590#(<= main_~i~1 6)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5590#(<= main_~i~1 6)} is VALID [2018-11-18 23:08:04,491 INFO L273 TraceCheckUtils]: 26: Hoare triple {5590#(<= main_~i~1 6)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5591#(<= main_~i~1 7)} is VALID [2018-11-18 23:08:04,492 INFO L273 TraceCheckUtils]: 27: Hoare triple {5591#(<= main_~i~1 7)} assume true; {5591#(<= main_~i~1 7)} is VALID [2018-11-18 23:08:04,492 INFO L273 TraceCheckUtils]: 28: Hoare triple {5591#(<= main_~i~1 7)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5591#(<= main_~i~1 7)} is VALID [2018-11-18 23:08:04,493 INFO L273 TraceCheckUtils]: 29: Hoare triple {5591#(<= main_~i~1 7)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5592#(<= main_~i~1 8)} is VALID [2018-11-18 23:08:04,493 INFO L273 TraceCheckUtils]: 30: Hoare triple {5592#(<= main_~i~1 8)} assume true; {5592#(<= main_~i~1 8)} is VALID [2018-11-18 23:08:04,494 INFO L273 TraceCheckUtils]: 31: Hoare triple {5592#(<= main_~i~1 8)} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5592#(<= main_~i~1 8)} is VALID [2018-11-18 23:08:04,495 INFO L273 TraceCheckUtils]: 32: Hoare triple {5592#(<= main_~i~1 8)} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5593#(<= main_~i~1 9)} is VALID [2018-11-18 23:08:04,495 INFO L273 TraceCheckUtils]: 33: Hoare triple {5593#(<= main_~i~1 9)} assume true; {5593#(<= main_~i~1 9)} is VALID [2018-11-18 23:08:04,496 INFO L273 TraceCheckUtils]: 34: Hoare triple {5593#(<= main_~i~1 9)} assume !(~i~1 < 10); {5583#false} is VALID [2018-11-18 23:08:04,496 INFO L256 TraceCheckUtils]: 35: Hoare triple {5583#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {5582#true} is VALID [2018-11-18 23:08:04,496 INFO L273 TraceCheckUtils]: 36: Hoare triple {5582#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5582#true} is VALID [2018-11-18 23:08:04,497 INFO L273 TraceCheckUtils]: 37: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,497 INFO L273 TraceCheckUtils]: 38: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,497 INFO L273 TraceCheckUtils]: 39: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,497 INFO L273 TraceCheckUtils]: 40: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,497 INFO L273 TraceCheckUtils]: 41: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,498 INFO L273 TraceCheckUtils]: 42: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,498 INFO L273 TraceCheckUtils]: 43: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,498 INFO L273 TraceCheckUtils]: 44: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,498 INFO L273 TraceCheckUtils]: 45: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,498 INFO L273 TraceCheckUtils]: 46: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,498 INFO L273 TraceCheckUtils]: 47: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,499 INFO L273 TraceCheckUtils]: 48: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,499 INFO L273 TraceCheckUtils]: 49: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,499 INFO L273 TraceCheckUtils]: 50: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,499 INFO L273 TraceCheckUtils]: 51: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,499 INFO L273 TraceCheckUtils]: 52: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,499 INFO L273 TraceCheckUtils]: 53: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,499 INFO L273 TraceCheckUtils]: 54: Hoare triple {5582#true} assume !(~i~0 < 10); {5582#true} is VALID [2018-11-18 23:08:04,499 INFO L273 TraceCheckUtils]: 55: Hoare triple {5582#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5582#true} is VALID [2018-11-18 23:08:04,500 INFO L273 TraceCheckUtils]: 56: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,500 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {5582#true} {5583#false} #78#return; {5583#false} is VALID [2018-11-18 23:08:04,500 INFO L273 TraceCheckUtils]: 58: Hoare triple {5583#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); {5583#false} is VALID [2018-11-18 23:08:04,500 INFO L256 TraceCheckUtils]: 59: Hoare triple {5583#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {5582#true} is VALID [2018-11-18 23:08:04,500 INFO L273 TraceCheckUtils]: 60: Hoare triple {5582#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5582#true} is VALID [2018-11-18 23:08:04,500 INFO L273 TraceCheckUtils]: 61: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,500 INFO L273 TraceCheckUtils]: 62: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,500 INFO L273 TraceCheckUtils]: 63: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,500 INFO L273 TraceCheckUtils]: 64: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,501 INFO L273 TraceCheckUtils]: 65: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,501 INFO L273 TraceCheckUtils]: 66: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,501 INFO L273 TraceCheckUtils]: 67: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,501 INFO L273 TraceCheckUtils]: 68: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,501 INFO L273 TraceCheckUtils]: 69: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,501 INFO L273 TraceCheckUtils]: 70: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,501 INFO L273 TraceCheckUtils]: 71: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,501 INFO L273 TraceCheckUtils]: 72: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,502 INFO L273 TraceCheckUtils]: 73: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,502 INFO L273 TraceCheckUtils]: 74: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,502 INFO L273 TraceCheckUtils]: 75: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,502 INFO L273 TraceCheckUtils]: 76: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,502 INFO L273 TraceCheckUtils]: 77: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,502 INFO L273 TraceCheckUtils]: 78: Hoare triple {5582#true} assume !(~i~0 < 10); {5582#true} is VALID [2018-11-18 23:08:04,502 INFO L273 TraceCheckUtils]: 79: Hoare triple {5582#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5582#true} is VALID [2018-11-18 23:08:04,502 INFO L273 TraceCheckUtils]: 80: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,502 INFO L268 TraceCheckUtils]: 81: Hoare quadruple {5582#true} {5583#false} #80#return; {5583#false} is VALID [2018-11-18 23:08:04,503 INFO L273 TraceCheckUtils]: 82: Hoare triple {5583#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; {5583#false} is VALID [2018-11-18 23:08:04,503 INFO L273 TraceCheckUtils]: 83: Hoare triple {5583#false} assume true; {5583#false} is VALID [2018-11-18 23:08:04,503 INFO L273 TraceCheckUtils]: 84: Hoare triple {5583#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {5583#false} is VALID [2018-11-18 23:08:04,503 INFO L273 TraceCheckUtils]: 85: Hoare triple {5583#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {5583#false} is VALID [2018-11-18 23:08:04,503 INFO L273 TraceCheckUtils]: 86: Hoare triple {5583#false} assume true; {5583#false} is VALID [2018-11-18 23:08:04,503 INFO L273 TraceCheckUtils]: 87: Hoare triple {5583#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {5583#false} is VALID [2018-11-18 23:08:04,503 INFO L273 TraceCheckUtils]: 88: Hoare triple {5583#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {5583#false} is VALID [2018-11-18 23:08:04,503 INFO L273 TraceCheckUtils]: 89: Hoare triple {5583#false} assume true; {5583#false} is VALID [2018-11-18 23:08:04,504 INFO L273 TraceCheckUtils]: 90: Hoare triple {5583#false} assume !(~i~2 < 9); {5583#false} is VALID [2018-11-18 23:08:04,504 INFO L273 TraceCheckUtils]: 91: Hoare triple {5583#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {5583#false} is VALID [2018-11-18 23:08:04,504 INFO L256 TraceCheckUtils]: 92: Hoare triple {5583#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {5582#true} is VALID [2018-11-18 23:08:04,504 INFO L273 TraceCheckUtils]: 93: Hoare triple {5582#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5582#true} is VALID [2018-11-18 23:08:04,504 INFO L273 TraceCheckUtils]: 94: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,504 INFO L273 TraceCheckUtils]: 95: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,504 INFO L273 TraceCheckUtils]: 96: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,504 INFO L273 TraceCheckUtils]: 97: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,505 INFO L273 TraceCheckUtils]: 98: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,505 INFO L273 TraceCheckUtils]: 99: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,505 INFO L273 TraceCheckUtils]: 100: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,505 INFO L273 TraceCheckUtils]: 101: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,505 INFO L273 TraceCheckUtils]: 102: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,505 INFO L273 TraceCheckUtils]: 103: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,505 INFO L273 TraceCheckUtils]: 104: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,505 INFO L273 TraceCheckUtils]: 105: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,505 INFO L273 TraceCheckUtils]: 106: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,506 INFO L273 TraceCheckUtils]: 107: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,506 INFO L273 TraceCheckUtils]: 108: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,506 INFO L273 TraceCheckUtils]: 109: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,506 INFO L273 TraceCheckUtils]: 110: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,506 INFO L273 TraceCheckUtils]: 111: Hoare triple {5582#true} assume !(~i~0 < 10); {5582#true} is VALID [2018-11-18 23:08:04,506 INFO L273 TraceCheckUtils]: 112: Hoare triple {5582#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5582#true} is VALID [2018-11-18 23:08:04,506 INFO L273 TraceCheckUtils]: 113: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,506 INFO L268 TraceCheckUtils]: 114: Hoare quadruple {5582#true} {5583#false} #82#return; {5583#false} is VALID [2018-11-18 23:08:04,507 INFO L273 TraceCheckUtils]: 115: Hoare triple {5583#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {5583#false} is VALID [2018-11-18 23:08:04,507 INFO L273 TraceCheckUtils]: 116: Hoare triple {5583#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5583#false} is VALID [2018-11-18 23:08:04,507 INFO L273 TraceCheckUtils]: 117: Hoare triple {5583#false} assume !false; {5583#false} is VALID [2018-11-18 23:08:04,513 INFO L134 CoverageAnalysis]: Checked inductivity of 487 backedges. 0 proven. 126 refuted. 0 times theorem prover too weak. 361 trivial. 0 not checked. [2018-11-18 23:08:04,513 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:04,514 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-18 23:08:04,522 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-18 23:08:04,561 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-18 23:08:04,561 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:08:04,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:04,598 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:04,729 INFO L256 TraceCheckUtils]: 0: Hoare triple {5582#true} call ULTIMATE.init(); {5582#true} is VALID [2018-11-18 23:08:04,729 INFO L273 TraceCheckUtils]: 1: Hoare triple {5582#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5582#true} is VALID [2018-11-18 23:08:04,729 INFO L273 TraceCheckUtils]: 2: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,729 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5582#true} {5582#true} #74#return; {5582#true} is VALID [2018-11-18 23:08:04,730 INFO L256 TraceCheckUtils]: 4: Hoare triple {5582#true} call #t~ret14 := main(); {5582#true} is VALID [2018-11-18 23:08:04,730 INFO L273 TraceCheckUtils]: 5: Hoare triple {5582#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {5582#true} is VALID [2018-11-18 23:08:04,730 INFO L273 TraceCheckUtils]: 6: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,730 INFO L273 TraceCheckUtils]: 7: Hoare triple {5582#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5582#true} is VALID [2018-11-18 23:08:04,731 INFO L273 TraceCheckUtils]: 8: Hoare triple {5582#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5582#true} is VALID [2018-11-18 23:08:04,731 INFO L273 TraceCheckUtils]: 9: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,731 INFO L273 TraceCheckUtils]: 10: Hoare triple {5582#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5582#true} is VALID [2018-11-18 23:08:04,731 INFO L273 TraceCheckUtils]: 11: Hoare triple {5582#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5582#true} is VALID [2018-11-18 23:08:04,731 INFO L273 TraceCheckUtils]: 12: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,732 INFO L273 TraceCheckUtils]: 13: Hoare triple {5582#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5582#true} is VALID [2018-11-18 23:08:04,732 INFO L273 TraceCheckUtils]: 14: Hoare triple {5582#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5582#true} is VALID [2018-11-18 23:08:04,732 INFO L273 TraceCheckUtils]: 15: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,732 INFO L273 TraceCheckUtils]: 16: Hoare triple {5582#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5582#true} is VALID [2018-11-18 23:08:04,732 INFO L273 TraceCheckUtils]: 17: Hoare triple {5582#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5582#true} is VALID [2018-11-18 23:08:04,732 INFO L273 TraceCheckUtils]: 18: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,732 INFO L273 TraceCheckUtils]: 19: Hoare triple {5582#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5582#true} is VALID [2018-11-18 23:08:04,732 INFO L273 TraceCheckUtils]: 20: Hoare triple {5582#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5582#true} is VALID [2018-11-18 23:08:04,732 INFO L273 TraceCheckUtils]: 21: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,733 INFO L273 TraceCheckUtils]: 22: Hoare triple {5582#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5582#true} is VALID [2018-11-18 23:08:04,733 INFO L273 TraceCheckUtils]: 23: Hoare triple {5582#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5582#true} is VALID [2018-11-18 23:08:04,733 INFO L273 TraceCheckUtils]: 24: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,733 INFO L273 TraceCheckUtils]: 25: Hoare triple {5582#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5582#true} is VALID [2018-11-18 23:08:04,733 INFO L273 TraceCheckUtils]: 26: Hoare triple {5582#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5582#true} is VALID [2018-11-18 23:08:04,733 INFO L273 TraceCheckUtils]: 27: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,733 INFO L273 TraceCheckUtils]: 28: Hoare triple {5582#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5582#true} is VALID [2018-11-18 23:08:04,733 INFO L273 TraceCheckUtils]: 29: Hoare triple {5582#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5582#true} is VALID [2018-11-18 23:08:04,734 INFO L273 TraceCheckUtils]: 30: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,734 INFO L273 TraceCheckUtils]: 31: Hoare triple {5582#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {5582#true} is VALID [2018-11-18 23:08:04,734 INFO L273 TraceCheckUtils]: 32: Hoare triple {5582#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {5582#true} is VALID [2018-11-18 23:08:04,734 INFO L273 TraceCheckUtils]: 33: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,734 INFO L273 TraceCheckUtils]: 34: Hoare triple {5582#true} assume !(~i~1 < 10); {5582#true} is VALID [2018-11-18 23:08:04,734 INFO L256 TraceCheckUtils]: 35: Hoare triple {5582#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {5582#true} is VALID [2018-11-18 23:08:04,734 INFO L273 TraceCheckUtils]: 36: Hoare triple {5582#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5582#true} is VALID [2018-11-18 23:08:04,734 INFO L273 TraceCheckUtils]: 37: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,734 INFO L273 TraceCheckUtils]: 38: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,735 INFO L273 TraceCheckUtils]: 39: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,735 INFO L273 TraceCheckUtils]: 40: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,735 INFO L273 TraceCheckUtils]: 41: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,735 INFO L273 TraceCheckUtils]: 42: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,735 INFO L273 TraceCheckUtils]: 43: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,735 INFO L273 TraceCheckUtils]: 44: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,735 INFO L273 TraceCheckUtils]: 45: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,735 INFO L273 TraceCheckUtils]: 46: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,735 INFO L273 TraceCheckUtils]: 47: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,736 INFO L273 TraceCheckUtils]: 48: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,736 INFO L273 TraceCheckUtils]: 49: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,736 INFO L273 TraceCheckUtils]: 50: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,736 INFO L273 TraceCheckUtils]: 51: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,736 INFO L273 TraceCheckUtils]: 52: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,736 INFO L273 TraceCheckUtils]: 53: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,736 INFO L273 TraceCheckUtils]: 54: Hoare triple {5582#true} assume !(~i~0 < 10); {5582#true} is VALID [2018-11-18 23:08:04,736 INFO L273 TraceCheckUtils]: 55: Hoare triple {5582#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5582#true} is VALID [2018-11-18 23:08:04,737 INFO L273 TraceCheckUtils]: 56: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,737 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {5582#true} {5582#true} #78#return; {5582#true} is VALID [2018-11-18 23:08:04,737 INFO L273 TraceCheckUtils]: 58: Hoare triple {5582#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); {5582#true} is VALID [2018-11-18 23:08:04,737 INFO L256 TraceCheckUtils]: 59: Hoare triple {5582#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {5582#true} is VALID [2018-11-18 23:08:04,737 INFO L273 TraceCheckUtils]: 60: Hoare triple {5582#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5582#true} is VALID [2018-11-18 23:08:04,737 INFO L273 TraceCheckUtils]: 61: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,737 INFO L273 TraceCheckUtils]: 62: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,737 INFO L273 TraceCheckUtils]: 63: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,737 INFO L273 TraceCheckUtils]: 64: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,738 INFO L273 TraceCheckUtils]: 65: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,738 INFO L273 TraceCheckUtils]: 66: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,738 INFO L273 TraceCheckUtils]: 67: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,738 INFO L273 TraceCheckUtils]: 68: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,738 INFO L273 TraceCheckUtils]: 69: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,738 INFO L273 TraceCheckUtils]: 70: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,738 INFO L273 TraceCheckUtils]: 71: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,739 INFO L273 TraceCheckUtils]: 72: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,739 INFO L273 TraceCheckUtils]: 73: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,739 INFO L273 TraceCheckUtils]: 74: Hoare triple {5582#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5582#true} is VALID [2018-11-18 23:08:04,739 INFO L273 TraceCheckUtils]: 75: Hoare triple {5582#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5582#true} is VALID [2018-11-18 23:08:04,739 INFO L273 TraceCheckUtils]: 76: Hoare triple {5582#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5582#true} is VALID [2018-11-18 23:08:04,739 INFO L273 TraceCheckUtils]: 77: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,740 INFO L273 TraceCheckUtils]: 78: Hoare triple {5582#true} assume !(~i~0 < 10); {5582#true} is VALID [2018-11-18 23:08:04,740 INFO L273 TraceCheckUtils]: 79: Hoare triple {5582#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5582#true} is VALID [2018-11-18 23:08:04,740 INFO L273 TraceCheckUtils]: 80: Hoare triple {5582#true} assume true; {5582#true} is VALID [2018-11-18 23:08:04,740 INFO L268 TraceCheckUtils]: 81: Hoare quadruple {5582#true} {5582#true} #80#return; {5582#true} is VALID [2018-11-18 23:08:04,749 INFO L273 TraceCheckUtils]: 82: Hoare triple {5582#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; {5843#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:04,749 INFO L273 TraceCheckUtils]: 83: Hoare triple {5843#(<= main_~i~2 0)} assume true; {5843#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:04,749 INFO L273 TraceCheckUtils]: 84: Hoare triple {5843#(<= main_~i~2 0)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {5843#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:04,750 INFO L273 TraceCheckUtils]: 85: Hoare triple {5843#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {5853#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:04,750 INFO L273 TraceCheckUtils]: 86: Hoare triple {5853#(<= main_~i~2 1)} assume true; {5853#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:04,751 INFO L273 TraceCheckUtils]: 87: Hoare triple {5853#(<= main_~i~2 1)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {5853#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:04,751 INFO L273 TraceCheckUtils]: 88: Hoare triple {5853#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {5863#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:04,751 INFO L273 TraceCheckUtils]: 89: Hoare triple {5863#(<= main_~i~2 2)} assume true; {5863#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:04,752 INFO L273 TraceCheckUtils]: 90: Hoare triple {5863#(<= main_~i~2 2)} assume !(~i~2 < 9); {5583#false} is VALID [2018-11-18 23:08:04,752 INFO L273 TraceCheckUtils]: 91: Hoare triple {5583#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {5583#false} is VALID [2018-11-18 23:08:04,752 INFO L256 TraceCheckUtils]: 92: Hoare triple {5583#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {5583#false} is VALID [2018-11-18 23:08:04,752 INFO L273 TraceCheckUtils]: 93: Hoare triple {5583#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5583#false} is VALID [2018-11-18 23:08:04,752 INFO L273 TraceCheckUtils]: 94: Hoare triple {5583#false} assume true; {5583#false} is VALID [2018-11-18 23:08:04,752 INFO L273 TraceCheckUtils]: 95: Hoare triple {5583#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5583#false} is VALID [2018-11-18 23:08:04,752 INFO L273 TraceCheckUtils]: 96: Hoare triple {5583#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5583#false} is VALID [2018-11-18 23:08:04,753 INFO L273 TraceCheckUtils]: 97: Hoare triple {5583#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5583#false} is VALID [2018-11-18 23:08:04,753 INFO L273 TraceCheckUtils]: 98: Hoare triple {5583#false} assume true; {5583#false} is VALID [2018-11-18 23:08:04,753 INFO L273 TraceCheckUtils]: 99: Hoare triple {5583#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5583#false} is VALID [2018-11-18 23:08:04,753 INFO L273 TraceCheckUtils]: 100: Hoare triple {5583#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5583#false} is VALID [2018-11-18 23:08:04,753 INFO L273 TraceCheckUtils]: 101: Hoare triple {5583#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5583#false} is VALID [2018-11-18 23:08:04,753 INFO L273 TraceCheckUtils]: 102: Hoare triple {5583#false} assume true; {5583#false} is VALID [2018-11-18 23:08:04,753 INFO L273 TraceCheckUtils]: 103: Hoare triple {5583#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5583#false} is VALID [2018-11-18 23:08:04,753 INFO L273 TraceCheckUtils]: 104: Hoare triple {5583#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5583#false} is VALID [2018-11-18 23:08:04,753 INFO L273 TraceCheckUtils]: 105: Hoare triple {5583#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5583#false} is VALID [2018-11-18 23:08:04,754 INFO L273 TraceCheckUtils]: 106: Hoare triple {5583#false} assume true; {5583#false} is VALID [2018-11-18 23:08:04,754 INFO L273 TraceCheckUtils]: 107: Hoare triple {5583#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {5583#false} is VALID [2018-11-18 23:08:04,754 INFO L273 TraceCheckUtils]: 108: Hoare triple {5583#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5583#false} is VALID [2018-11-18 23:08:04,754 INFO L273 TraceCheckUtils]: 109: Hoare triple {5583#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5583#false} is VALID [2018-11-18 23:08:04,754 INFO L273 TraceCheckUtils]: 110: Hoare triple {5583#false} assume true; {5583#false} is VALID [2018-11-18 23:08:04,755 INFO L273 TraceCheckUtils]: 111: Hoare triple {5583#false} assume !(~i~0 < 10); {5583#false} is VALID [2018-11-18 23:08:04,755 INFO L273 TraceCheckUtils]: 112: Hoare triple {5583#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5583#false} is VALID [2018-11-18 23:08:04,755 INFO L273 TraceCheckUtils]: 113: Hoare triple {5583#false} assume true; {5583#false} is VALID [2018-11-18 23:08:04,755 INFO L268 TraceCheckUtils]: 114: Hoare quadruple {5583#false} {5583#false} #82#return; {5583#false} is VALID [2018-11-18 23:08:04,755 INFO L273 TraceCheckUtils]: 115: Hoare triple {5583#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {5583#false} is VALID [2018-11-18 23:08:04,756 INFO L273 TraceCheckUtils]: 116: Hoare triple {5583#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5583#false} is VALID [2018-11-18 23:08:04,756 INFO L273 TraceCheckUtils]: 117: Hoare triple {5583#false} assume !false; {5583#false} is VALID [2018-11-18 23:08:04,761 INFO L134 CoverageAnalysis]: Checked inductivity of 487 backedges. 172 proven. 7 refuted. 0 times theorem prover too weak. 308 trivial. 0 not checked. [2018-11-18 23:08:04,780 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:04,780 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 5] total 15 [2018-11-18 23:08:04,781 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 118 [2018-11-18 23:08:04,781 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:04,781 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-18 23:08:04,861 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:04,862 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-18 23:08:04,862 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-18 23:08:04,862 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=135, Unknown=0, NotChecked=0, Total=210 [2018-11-18 23:08:04,863 INFO L87 Difference]: Start difference. First operand 75 states and 83 transitions. Second operand 15 states. [2018-11-18 23:08:05,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:05,295 INFO L93 Difference]: Finished difference Result 122 states and 139 transitions. [2018-11-18 23:08:05,295 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-18 23:08:05,295 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 118 [2018-11-18 23:08:05,296 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:05,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-18 23:08:05,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 100 transitions. [2018-11-18 23:08:05,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-18 23:08:05,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 100 transitions. [2018-11-18 23:08:05,298 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 100 transitions. [2018-11-18 23:08:05,389 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:05,392 INFO L225 Difference]: With dead ends: 122 [2018-11-18 23:08:05,392 INFO L226 Difference]: Without dead ends: 82 [2018-11-18 23:08:05,393 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 116 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=75, Invalid=135, Unknown=0, NotChecked=0, Total=210 [2018-11-18 23:08:05,393 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2018-11-18 23:08:05,424 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 81. [2018-11-18 23:08:05,424 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:05,424 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 81 states. [2018-11-18 23:08:05,424 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 81 states. [2018-11-18 23:08:05,424 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 81 states. [2018-11-18 23:08:05,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:05,427 INFO L93 Difference]: Finished difference Result 82 states and 90 transitions. [2018-11-18 23:08:05,427 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2018-11-18 23:08:05,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:05,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:05,428 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 82 states. [2018-11-18 23:08:05,428 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 82 states. [2018-11-18 23:08:05,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:05,430 INFO L93 Difference]: Finished difference Result 82 states and 90 transitions. [2018-11-18 23:08:05,430 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2018-11-18 23:08:05,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:05,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:05,431 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:05,431 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:05,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-18 23:08:05,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 89 transitions. [2018-11-18 23:08:05,433 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 89 transitions. Word has length 118 [2018-11-18 23:08:05,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:05,434 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 89 transitions. [2018-11-18 23:08:05,434 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-18 23:08:05,434 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 89 transitions. [2018-11-18 23:08:05,435 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2018-11-18 23:08:05,435 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:05,436 INFO L375 BasicCegarLoop]: trace histogram [15, 12, 12, 12, 11, 10, 10, 4, 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-18 23:08:05,436 INFO L423 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:05,436 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:05,436 INFO L82 PathProgramCache]: Analyzing trace with hash -1136085355, now seen corresponding path program 10 times [2018-11-18 23:08:05,436 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:05,437 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:05,437 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:05,437 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:08:05,438 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:05,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:06,010 INFO L256 TraceCheckUtils]: 0: Hoare triple {6385#true} call ULTIMATE.init(); {6385#true} is VALID [2018-11-18 23:08:06,011 INFO L273 TraceCheckUtils]: 1: Hoare triple {6385#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6385#true} is VALID [2018-11-18 23:08:06,011 INFO L273 TraceCheckUtils]: 2: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,011 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6385#true} {6385#true} #74#return; {6385#true} is VALID [2018-11-18 23:08:06,011 INFO L256 TraceCheckUtils]: 4: Hoare triple {6385#true} call #t~ret14 := main(); {6385#true} is VALID [2018-11-18 23:08:06,011 INFO L273 TraceCheckUtils]: 5: Hoare triple {6385#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {6385#true} is VALID [2018-11-18 23:08:06,012 INFO L273 TraceCheckUtils]: 6: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,012 INFO L273 TraceCheckUtils]: 7: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,012 INFO L273 TraceCheckUtils]: 8: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,012 INFO L273 TraceCheckUtils]: 9: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,012 INFO L273 TraceCheckUtils]: 10: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,013 INFO L273 TraceCheckUtils]: 11: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,013 INFO L273 TraceCheckUtils]: 12: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,013 INFO L273 TraceCheckUtils]: 13: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,013 INFO L273 TraceCheckUtils]: 14: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,013 INFO L273 TraceCheckUtils]: 15: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,013 INFO L273 TraceCheckUtils]: 16: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,013 INFO L273 TraceCheckUtils]: 17: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,014 INFO L273 TraceCheckUtils]: 18: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,014 INFO L273 TraceCheckUtils]: 19: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,014 INFO L273 TraceCheckUtils]: 20: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,014 INFO L273 TraceCheckUtils]: 21: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,014 INFO L273 TraceCheckUtils]: 22: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,014 INFO L273 TraceCheckUtils]: 23: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,014 INFO L273 TraceCheckUtils]: 24: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,014 INFO L273 TraceCheckUtils]: 25: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,015 INFO L273 TraceCheckUtils]: 26: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,015 INFO L273 TraceCheckUtils]: 27: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,015 INFO L273 TraceCheckUtils]: 28: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,015 INFO L273 TraceCheckUtils]: 29: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,015 INFO L273 TraceCheckUtils]: 30: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,015 INFO L273 TraceCheckUtils]: 31: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,015 INFO L273 TraceCheckUtils]: 32: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,015 INFO L273 TraceCheckUtils]: 33: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,016 INFO L273 TraceCheckUtils]: 34: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,016 INFO L273 TraceCheckUtils]: 35: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,016 INFO L273 TraceCheckUtils]: 36: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,016 INFO L273 TraceCheckUtils]: 37: Hoare triple {6385#true} assume !(~i~1 < 10); {6385#true} is VALID [2018-11-18 23:08:06,016 INFO L256 TraceCheckUtils]: 38: Hoare triple {6385#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {6385#true} is VALID [2018-11-18 23:08:06,016 INFO L273 TraceCheckUtils]: 39: Hoare triple {6385#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {6387#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:06,017 INFO L273 TraceCheckUtils]: 40: Hoare triple {6387#(= sep_~i~0 0)} assume true; {6387#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:06,017 INFO L273 TraceCheckUtils]: 41: Hoare triple {6387#(= sep_~i~0 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6387#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:06,017 INFO L273 TraceCheckUtils]: 42: Hoare triple {6387#(= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6387#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:06,018 INFO L273 TraceCheckUtils]: 43: Hoare triple {6387#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6388#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:06,018 INFO L273 TraceCheckUtils]: 44: Hoare triple {6388#(<= sep_~i~0 1)} assume true; {6388#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:06,019 INFO L273 TraceCheckUtils]: 45: Hoare triple {6388#(<= sep_~i~0 1)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6388#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:06,019 INFO L273 TraceCheckUtils]: 46: Hoare triple {6388#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6388#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:06,019 INFO L273 TraceCheckUtils]: 47: Hoare triple {6388#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6389#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:06,020 INFO L273 TraceCheckUtils]: 48: Hoare triple {6389#(<= sep_~i~0 2)} assume true; {6389#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:06,020 INFO L273 TraceCheckUtils]: 49: Hoare triple {6389#(<= sep_~i~0 2)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6389#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:06,020 INFO L273 TraceCheckUtils]: 50: Hoare triple {6389#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6389#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:06,021 INFO L273 TraceCheckUtils]: 51: Hoare triple {6389#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6390#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:06,022 INFO L273 TraceCheckUtils]: 52: Hoare triple {6390#(<= sep_~i~0 3)} assume true; {6390#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:06,022 INFO L273 TraceCheckUtils]: 53: Hoare triple {6390#(<= sep_~i~0 3)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6390#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:06,023 INFO L273 TraceCheckUtils]: 54: Hoare triple {6390#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6390#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:06,023 INFO L273 TraceCheckUtils]: 55: Hoare triple {6390#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6391#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:06,024 INFO L273 TraceCheckUtils]: 56: Hoare triple {6391#(<= sep_~i~0 4)} assume true; {6391#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:06,025 INFO L273 TraceCheckUtils]: 57: Hoare triple {6391#(<= sep_~i~0 4)} assume !(~i~0 < 10); {6386#false} is VALID [2018-11-18 23:08:06,025 INFO L273 TraceCheckUtils]: 58: Hoare triple {6386#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {6386#false} is VALID [2018-11-18 23:08:06,025 INFO L273 TraceCheckUtils]: 59: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,025 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {6386#false} {6385#true} #78#return; {6386#false} is VALID [2018-11-18 23:08:06,026 INFO L273 TraceCheckUtils]: 61: Hoare triple {6386#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); {6386#false} is VALID [2018-11-18 23:08:06,026 INFO L256 TraceCheckUtils]: 62: Hoare triple {6386#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {6385#true} is VALID [2018-11-18 23:08:06,026 INFO L273 TraceCheckUtils]: 63: Hoare triple {6385#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {6385#true} is VALID [2018-11-18 23:08:06,026 INFO L273 TraceCheckUtils]: 64: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,026 INFO L273 TraceCheckUtils]: 65: Hoare triple {6385#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6385#true} is VALID [2018-11-18 23:08:06,027 INFO L273 TraceCheckUtils]: 66: Hoare triple {6385#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6385#true} is VALID [2018-11-18 23:08:06,027 INFO L273 TraceCheckUtils]: 67: Hoare triple {6385#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6385#true} is VALID [2018-11-18 23:08:06,027 INFO L273 TraceCheckUtils]: 68: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,027 INFO L273 TraceCheckUtils]: 69: Hoare triple {6385#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6385#true} is VALID [2018-11-18 23:08:06,027 INFO L273 TraceCheckUtils]: 70: Hoare triple {6385#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6385#true} is VALID [2018-11-18 23:08:06,028 INFO L273 TraceCheckUtils]: 71: Hoare triple {6385#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6385#true} is VALID [2018-11-18 23:08:06,028 INFO L273 TraceCheckUtils]: 72: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,028 INFO L273 TraceCheckUtils]: 73: Hoare triple {6385#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6385#true} is VALID [2018-11-18 23:08:06,028 INFO L273 TraceCheckUtils]: 74: Hoare triple {6385#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6385#true} is VALID [2018-11-18 23:08:06,028 INFO L273 TraceCheckUtils]: 75: Hoare triple {6385#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6385#true} is VALID [2018-11-18 23:08:06,028 INFO L273 TraceCheckUtils]: 76: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,028 INFO L273 TraceCheckUtils]: 77: Hoare triple {6385#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6385#true} is VALID [2018-11-18 23:08:06,029 INFO L273 TraceCheckUtils]: 78: Hoare triple {6385#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6385#true} is VALID [2018-11-18 23:08:06,029 INFO L273 TraceCheckUtils]: 79: Hoare triple {6385#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6385#true} is VALID [2018-11-18 23:08:06,029 INFO L273 TraceCheckUtils]: 80: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,029 INFO L273 TraceCheckUtils]: 81: Hoare triple {6385#true} assume !(~i~0 < 10); {6385#true} is VALID [2018-11-18 23:08:06,029 INFO L273 TraceCheckUtils]: 82: Hoare triple {6385#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {6385#true} is VALID [2018-11-18 23:08:06,029 INFO L273 TraceCheckUtils]: 83: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,029 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {6385#true} {6386#false} #80#return; {6386#false} is VALID [2018-11-18 23:08:06,029 INFO L273 TraceCheckUtils]: 85: Hoare triple {6386#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; {6386#false} is VALID [2018-11-18 23:08:06,030 INFO L273 TraceCheckUtils]: 86: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,030 INFO L273 TraceCheckUtils]: 87: Hoare triple {6386#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {6386#false} is VALID [2018-11-18 23:08:06,030 INFO L273 TraceCheckUtils]: 88: Hoare triple {6386#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {6386#false} is VALID [2018-11-18 23:08:06,030 INFO L273 TraceCheckUtils]: 89: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,030 INFO L273 TraceCheckUtils]: 90: Hoare triple {6386#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {6386#false} is VALID [2018-11-18 23:08:06,030 INFO L273 TraceCheckUtils]: 91: Hoare triple {6386#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {6386#false} is VALID [2018-11-18 23:08:06,030 INFO L273 TraceCheckUtils]: 92: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,030 INFO L273 TraceCheckUtils]: 93: Hoare triple {6386#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {6386#false} is VALID [2018-11-18 23:08:06,030 INFO L273 TraceCheckUtils]: 94: Hoare triple {6386#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {6386#false} is VALID [2018-11-18 23:08:06,031 INFO L273 TraceCheckUtils]: 95: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,031 INFO L273 TraceCheckUtils]: 96: Hoare triple {6386#false} assume !(~i~2 < 9); {6386#false} is VALID [2018-11-18 23:08:06,031 INFO L273 TraceCheckUtils]: 97: Hoare triple {6386#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {6386#false} is VALID [2018-11-18 23:08:06,031 INFO L256 TraceCheckUtils]: 98: Hoare triple {6386#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {6385#true} is VALID [2018-11-18 23:08:06,031 INFO L273 TraceCheckUtils]: 99: Hoare triple {6385#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {6385#true} is VALID [2018-11-18 23:08:06,031 INFO L273 TraceCheckUtils]: 100: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,031 INFO L273 TraceCheckUtils]: 101: Hoare triple {6385#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6385#true} is VALID [2018-11-18 23:08:06,031 INFO L273 TraceCheckUtils]: 102: Hoare triple {6385#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6385#true} is VALID [2018-11-18 23:08:06,031 INFO L273 TraceCheckUtils]: 103: Hoare triple {6385#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6385#true} is VALID [2018-11-18 23:08:06,032 INFO L273 TraceCheckUtils]: 104: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,032 INFO L273 TraceCheckUtils]: 105: Hoare triple {6385#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6385#true} is VALID [2018-11-18 23:08:06,032 INFO L273 TraceCheckUtils]: 106: Hoare triple {6385#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6385#true} is VALID [2018-11-18 23:08:06,032 INFO L273 TraceCheckUtils]: 107: Hoare triple {6385#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6385#true} is VALID [2018-11-18 23:08:06,032 INFO L273 TraceCheckUtils]: 108: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,032 INFO L273 TraceCheckUtils]: 109: Hoare triple {6385#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6385#true} is VALID [2018-11-18 23:08:06,032 INFO L273 TraceCheckUtils]: 110: Hoare triple {6385#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6385#true} is VALID [2018-11-18 23:08:06,032 INFO L273 TraceCheckUtils]: 111: Hoare triple {6385#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6385#true} is VALID [2018-11-18 23:08:06,033 INFO L273 TraceCheckUtils]: 112: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,033 INFO L273 TraceCheckUtils]: 113: Hoare triple {6385#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6385#true} is VALID [2018-11-18 23:08:06,033 INFO L273 TraceCheckUtils]: 114: Hoare triple {6385#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6385#true} is VALID [2018-11-18 23:08:06,033 INFO L273 TraceCheckUtils]: 115: Hoare triple {6385#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6385#true} is VALID [2018-11-18 23:08:06,033 INFO L273 TraceCheckUtils]: 116: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,033 INFO L273 TraceCheckUtils]: 117: Hoare triple {6385#true} assume !(~i~0 < 10); {6385#true} is VALID [2018-11-18 23:08:06,033 INFO L273 TraceCheckUtils]: 118: Hoare triple {6385#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {6385#true} is VALID [2018-11-18 23:08:06,033 INFO L273 TraceCheckUtils]: 119: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,033 INFO L268 TraceCheckUtils]: 120: Hoare quadruple {6385#true} {6386#false} #82#return; {6386#false} is VALID [2018-11-18 23:08:06,034 INFO L273 TraceCheckUtils]: 121: Hoare triple {6386#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {6386#false} is VALID [2018-11-18 23:08:06,034 INFO L273 TraceCheckUtils]: 122: Hoare triple {6386#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {6386#false} is VALID [2018-11-18 23:08:06,034 INFO L273 TraceCheckUtils]: 123: Hoare triple {6386#false} assume !false; {6386#false} is VALID [2018-11-18 23:08:06,040 INFO L134 CoverageAnalysis]: Checked inductivity of 524 backedges. 0 proven. 202 refuted. 0 times theorem prover too weak. 322 trivial. 0 not checked. [2018-11-18 23:08:06,041 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:06,041 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-18 23:08:06,053 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-18 23:08:06,098 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-18 23:08:06,098 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:08:06,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:06,122 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:06,481 INFO L256 TraceCheckUtils]: 0: Hoare triple {6385#true} call ULTIMATE.init(); {6385#true} is VALID [2018-11-18 23:08:06,481 INFO L273 TraceCheckUtils]: 1: Hoare triple {6385#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6385#true} is VALID [2018-11-18 23:08:06,481 INFO L273 TraceCheckUtils]: 2: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,481 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6385#true} {6385#true} #74#return; {6385#true} is VALID [2018-11-18 23:08:06,481 INFO L256 TraceCheckUtils]: 4: Hoare triple {6385#true} call #t~ret14 := main(); {6385#true} is VALID [2018-11-18 23:08:06,481 INFO L273 TraceCheckUtils]: 5: Hoare triple {6385#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {6385#true} is VALID [2018-11-18 23:08:06,482 INFO L273 TraceCheckUtils]: 6: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,482 INFO L273 TraceCheckUtils]: 7: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,482 INFO L273 TraceCheckUtils]: 8: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,482 INFO L273 TraceCheckUtils]: 9: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,482 INFO L273 TraceCheckUtils]: 10: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,482 INFO L273 TraceCheckUtils]: 11: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,482 INFO L273 TraceCheckUtils]: 12: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,482 INFO L273 TraceCheckUtils]: 13: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,483 INFO L273 TraceCheckUtils]: 14: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,483 INFO L273 TraceCheckUtils]: 15: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,483 INFO L273 TraceCheckUtils]: 16: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,483 INFO L273 TraceCheckUtils]: 17: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,483 INFO L273 TraceCheckUtils]: 18: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,483 INFO L273 TraceCheckUtils]: 19: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,483 INFO L273 TraceCheckUtils]: 20: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,483 INFO L273 TraceCheckUtils]: 21: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,483 INFO L273 TraceCheckUtils]: 22: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,484 INFO L273 TraceCheckUtils]: 23: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,484 INFO L273 TraceCheckUtils]: 24: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,484 INFO L273 TraceCheckUtils]: 25: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,484 INFO L273 TraceCheckUtils]: 26: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,484 INFO L273 TraceCheckUtils]: 27: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,484 INFO L273 TraceCheckUtils]: 28: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,484 INFO L273 TraceCheckUtils]: 29: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,484 INFO L273 TraceCheckUtils]: 30: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,484 INFO L273 TraceCheckUtils]: 31: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,485 INFO L273 TraceCheckUtils]: 32: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,485 INFO L273 TraceCheckUtils]: 33: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,485 INFO L273 TraceCheckUtils]: 34: Hoare triple {6385#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {6385#true} is VALID [2018-11-18 23:08:06,485 INFO L273 TraceCheckUtils]: 35: Hoare triple {6385#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {6385#true} is VALID [2018-11-18 23:08:06,485 INFO L273 TraceCheckUtils]: 36: Hoare triple {6385#true} assume true; {6385#true} is VALID [2018-11-18 23:08:06,485 INFO L273 TraceCheckUtils]: 37: Hoare triple {6385#true} assume !(~i~1 < 10); {6385#true} is VALID [2018-11-18 23:08:06,485 INFO L256 TraceCheckUtils]: 38: Hoare triple {6385#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {6385#true} is VALID [2018-11-18 23:08:06,486 INFO L273 TraceCheckUtils]: 39: Hoare triple {6385#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {6512#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:06,487 INFO L273 TraceCheckUtils]: 40: Hoare triple {6512#(<= sep_~i~0 0)} assume true; {6512#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:06,487 INFO L273 TraceCheckUtils]: 41: Hoare triple {6512#(<= sep_~i~0 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6512#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:06,490 INFO L273 TraceCheckUtils]: 42: Hoare triple {6512#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6512#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:06,490 INFO L273 TraceCheckUtils]: 43: Hoare triple {6512#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6388#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:06,493 INFO L273 TraceCheckUtils]: 44: Hoare triple {6388#(<= sep_~i~0 1)} assume true; {6388#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:06,493 INFO L273 TraceCheckUtils]: 45: Hoare triple {6388#(<= sep_~i~0 1)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6388#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:06,496 INFO L273 TraceCheckUtils]: 46: Hoare triple {6388#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6388#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:06,496 INFO L273 TraceCheckUtils]: 47: Hoare triple {6388#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6389#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:06,499 INFO L273 TraceCheckUtils]: 48: Hoare triple {6389#(<= sep_~i~0 2)} assume true; {6389#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:06,499 INFO L273 TraceCheckUtils]: 49: Hoare triple {6389#(<= sep_~i~0 2)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6389#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:06,502 INFO L273 TraceCheckUtils]: 50: Hoare triple {6389#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6389#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:06,502 INFO L273 TraceCheckUtils]: 51: Hoare triple {6389#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6390#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:06,505 INFO L273 TraceCheckUtils]: 52: Hoare triple {6390#(<= sep_~i~0 3)} assume true; {6390#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:06,505 INFO L273 TraceCheckUtils]: 53: Hoare triple {6390#(<= sep_~i~0 3)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6390#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:06,508 INFO L273 TraceCheckUtils]: 54: Hoare triple {6390#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6390#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:06,508 INFO L273 TraceCheckUtils]: 55: Hoare triple {6390#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6391#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:06,511 INFO L273 TraceCheckUtils]: 56: Hoare triple {6391#(<= sep_~i~0 4)} assume true; {6391#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:06,511 INFO L273 TraceCheckUtils]: 57: Hoare triple {6391#(<= sep_~i~0 4)} assume !(~i~0 < 10); {6386#false} is VALID [2018-11-18 23:08:06,511 INFO L273 TraceCheckUtils]: 58: Hoare triple {6386#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {6386#false} is VALID [2018-11-18 23:08:06,511 INFO L273 TraceCheckUtils]: 59: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,511 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {6386#false} {6385#true} #78#return; {6386#false} is VALID [2018-11-18 23:08:06,512 INFO L273 TraceCheckUtils]: 61: Hoare triple {6386#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); {6386#false} is VALID [2018-11-18 23:08:06,512 INFO L256 TraceCheckUtils]: 62: Hoare triple {6386#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {6386#false} is VALID [2018-11-18 23:08:06,512 INFO L273 TraceCheckUtils]: 63: Hoare triple {6386#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {6386#false} is VALID [2018-11-18 23:08:06,512 INFO L273 TraceCheckUtils]: 64: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,512 INFO L273 TraceCheckUtils]: 65: Hoare triple {6386#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6386#false} is VALID [2018-11-18 23:08:06,512 INFO L273 TraceCheckUtils]: 66: Hoare triple {6386#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6386#false} is VALID [2018-11-18 23:08:06,512 INFO L273 TraceCheckUtils]: 67: Hoare triple {6386#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6386#false} is VALID [2018-11-18 23:08:06,512 INFO L273 TraceCheckUtils]: 68: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,512 INFO L273 TraceCheckUtils]: 69: Hoare triple {6386#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6386#false} is VALID [2018-11-18 23:08:06,513 INFO L273 TraceCheckUtils]: 70: Hoare triple {6386#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6386#false} is VALID [2018-11-18 23:08:06,513 INFO L273 TraceCheckUtils]: 71: Hoare triple {6386#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6386#false} is VALID [2018-11-18 23:08:06,513 INFO L273 TraceCheckUtils]: 72: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,513 INFO L273 TraceCheckUtils]: 73: Hoare triple {6386#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6386#false} is VALID [2018-11-18 23:08:06,513 INFO L273 TraceCheckUtils]: 74: Hoare triple {6386#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6386#false} is VALID [2018-11-18 23:08:06,513 INFO L273 TraceCheckUtils]: 75: Hoare triple {6386#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6386#false} is VALID [2018-11-18 23:08:06,514 INFO L273 TraceCheckUtils]: 76: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,514 INFO L273 TraceCheckUtils]: 77: Hoare triple {6386#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6386#false} is VALID [2018-11-18 23:08:06,514 INFO L273 TraceCheckUtils]: 78: Hoare triple {6386#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6386#false} is VALID [2018-11-18 23:08:06,514 INFO L273 TraceCheckUtils]: 79: Hoare triple {6386#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6386#false} is VALID [2018-11-18 23:08:06,514 INFO L273 TraceCheckUtils]: 80: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,515 INFO L273 TraceCheckUtils]: 81: Hoare triple {6386#false} assume !(~i~0 < 10); {6386#false} is VALID [2018-11-18 23:08:06,515 INFO L273 TraceCheckUtils]: 82: Hoare triple {6386#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {6386#false} is VALID [2018-11-18 23:08:06,515 INFO L273 TraceCheckUtils]: 83: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,515 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {6386#false} {6386#false} #80#return; {6386#false} is VALID [2018-11-18 23:08:06,515 INFO L273 TraceCheckUtils]: 85: Hoare triple {6386#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; {6386#false} is VALID [2018-11-18 23:08:06,515 INFO L273 TraceCheckUtils]: 86: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,515 INFO L273 TraceCheckUtils]: 87: Hoare triple {6386#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {6386#false} is VALID [2018-11-18 23:08:06,515 INFO L273 TraceCheckUtils]: 88: Hoare triple {6386#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {6386#false} is VALID [2018-11-18 23:08:06,516 INFO L273 TraceCheckUtils]: 89: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,516 INFO L273 TraceCheckUtils]: 90: Hoare triple {6386#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {6386#false} is VALID [2018-11-18 23:08:06,516 INFO L273 TraceCheckUtils]: 91: Hoare triple {6386#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {6386#false} is VALID [2018-11-18 23:08:06,516 INFO L273 TraceCheckUtils]: 92: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,516 INFO L273 TraceCheckUtils]: 93: Hoare triple {6386#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {6386#false} is VALID [2018-11-18 23:08:06,516 INFO L273 TraceCheckUtils]: 94: Hoare triple {6386#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {6386#false} is VALID [2018-11-18 23:08:06,516 INFO L273 TraceCheckUtils]: 95: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,516 INFO L273 TraceCheckUtils]: 96: Hoare triple {6386#false} assume !(~i~2 < 9); {6386#false} is VALID [2018-11-18 23:08:06,517 INFO L273 TraceCheckUtils]: 97: Hoare triple {6386#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {6386#false} is VALID [2018-11-18 23:08:06,517 INFO L256 TraceCheckUtils]: 98: Hoare triple {6386#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {6386#false} is VALID [2018-11-18 23:08:06,517 INFO L273 TraceCheckUtils]: 99: Hoare triple {6386#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {6386#false} is VALID [2018-11-18 23:08:06,517 INFO L273 TraceCheckUtils]: 100: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,517 INFO L273 TraceCheckUtils]: 101: Hoare triple {6386#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6386#false} is VALID [2018-11-18 23:08:06,517 INFO L273 TraceCheckUtils]: 102: Hoare triple {6386#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6386#false} is VALID [2018-11-18 23:08:06,517 INFO L273 TraceCheckUtils]: 103: Hoare triple {6386#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6386#false} is VALID [2018-11-18 23:08:06,517 INFO L273 TraceCheckUtils]: 104: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,518 INFO L273 TraceCheckUtils]: 105: Hoare triple {6386#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6386#false} is VALID [2018-11-18 23:08:06,518 INFO L273 TraceCheckUtils]: 106: Hoare triple {6386#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6386#false} is VALID [2018-11-18 23:08:06,518 INFO L273 TraceCheckUtils]: 107: Hoare triple {6386#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6386#false} is VALID [2018-11-18 23:08:06,518 INFO L273 TraceCheckUtils]: 108: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,518 INFO L273 TraceCheckUtils]: 109: Hoare triple {6386#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6386#false} is VALID [2018-11-18 23:08:06,518 INFO L273 TraceCheckUtils]: 110: Hoare triple {6386#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6386#false} is VALID [2018-11-18 23:08:06,518 INFO L273 TraceCheckUtils]: 111: Hoare triple {6386#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6386#false} is VALID [2018-11-18 23:08:06,518 INFO L273 TraceCheckUtils]: 112: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,519 INFO L273 TraceCheckUtils]: 113: Hoare triple {6386#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {6386#false} is VALID [2018-11-18 23:08:06,519 INFO L273 TraceCheckUtils]: 114: Hoare triple {6386#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {6386#false} is VALID [2018-11-18 23:08:06,519 INFO L273 TraceCheckUtils]: 115: Hoare triple {6386#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6386#false} is VALID [2018-11-18 23:08:06,519 INFO L273 TraceCheckUtils]: 116: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,519 INFO L273 TraceCheckUtils]: 117: Hoare triple {6386#false} assume !(~i~0 < 10); {6386#false} is VALID [2018-11-18 23:08:06,519 INFO L273 TraceCheckUtils]: 118: Hoare triple {6386#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {6386#false} is VALID [2018-11-18 23:08:06,519 INFO L273 TraceCheckUtils]: 119: Hoare triple {6386#false} assume true; {6386#false} is VALID [2018-11-18 23:08:06,519 INFO L268 TraceCheckUtils]: 120: Hoare quadruple {6386#false} {6386#false} #82#return; {6386#false} is VALID [2018-11-18 23:08:06,519 INFO L273 TraceCheckUtils]: 121: Hoare triple {6386#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {6386#false} is VALID [2018-11-18 23:08:06,520 INFO L273 TraceCheckUtils]: 122: Hoare triple {6386#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {6386#false} is VALID [2018-11-18 23:08:06,520 INFO L273 TraceCheckUtils]: 123: Hoare triple {6386#false} assume !false; {6386#false} is VALID [2018-11-18 23:08:06,526 INFO L134 CoverageAnalysis]: Checked inductivity of 524 backedges. 166 proven. 32 refuted. 0 times theorem prover too weak. 326 trivial. 0 not checked. [2018-11-18 23:08:06,545 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:06,545 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2018-11-18 23:08:06,545 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 124 [2018-11-18 23:08:06,547 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:06,547 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-18 23:08:06,630 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:06,630 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-18 23:08:06,630 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-18 23:08:06,631 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-18 23:08:06,631 INFO L87 Difference]: Start difference. First operand 81 states and 89 transitions. Second operand 8 states. [2018-11-18 23:08:07,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:07,066 INFO L93 Difference]: Finished difference Result 129 states and 149 transitions. [2018-11-18 23:08:07,067 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-18 23:08:07,067 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 124 [2018-11-18 23:08:07,067 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:07,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-18 23:08:07,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 87 transitions. [2018-11-18 23:08:07,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-18 23:08:07,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 87 transitions. [2018-11-18 23:08:07,070 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 87 transitions. [2018-11-18 23:08:07,458 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:07,461 INFO L225 Difference]: With dead ends: 129 [2018-11-18 23:08:07,462 INFO L226 Difference]: Without dead ends: 87 [2018-11-18 23:08:07,462 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 124 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-18 23:08:07,462 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2018-11-18 23:08:07,502 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 85. [2018-11-18 23:08:07,502 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:07,502 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand 85 states. [2018-11-18 23:08:07,503 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 85 states. [2018-11-18 23:08:07,503 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 85 states. [2018-11-18 23:08:07,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:07,505 INFO L93 Difference]: Finished difference Result 87 states and 97 transitions. [2018-11-18 23:08:07,505 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 97 transitions. [2018-11-18 23:08:07,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:07,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:07,506 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 87 states. [2018-11-18 23:08:07,506 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 87 states. [2018-11-18 23:08:07,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:07,508 INFO L93 Difference]: Finished difference Result 87 states and 97 transitions. [2018-11-18 23:08:07,509 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 97 transitions. [2018-11-18 23:08:07,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:07,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:07,509 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:07,509 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:07,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 85 states. [2018-11-18 23:08:07,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 94 transitions. [2018-11-18 23:08:07,512 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 94 transitions. Word has length 124 [2018-11-18 23:08:07,512 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:07,512 INFO L480 AbstractCegarLoop]: Abstraction has 85 states and 94 transitions. [2018-11-18 23:08:07,512 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-18 23:08:07,512 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 94 transitions. [2018-11-18 23:08:07,514 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 137 [2018-11-18 23:08:07,514 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:07,514 INFO L375 BasicCegarLoop]: trace histogram [18, 15, 15, 15, 11, 10, 10, 4, 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-18 23:08:07,514 INFO L423 AbstractCegarLoop]: === Iteration 15 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:07,514 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:07,515 INFO L82 PathProgramCache]: Analyzing trace with hash 3137002, now seen corresponding path program 11 times [2018-11-18 23:08:07,515 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:07,515 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:07,515 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:07,516 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:08:07,516 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:07,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:08,346 INFO L256 TraceCheckUtils]: 0: Hoare triple {7222#true} call ULTIMATE.init(); {7222#true} is VALID [2018-11-18 23:08:08,347 INFO L273 TraceCheckUtils]: 1: Hoare triple {7222#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7222#true} is VALID [2018-11-18 23:08:08,347 INFO L273 TraceCheckUtils]: 2: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,347 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7222#true} {7222#true} #74#return; {7222#true} is VALID [2018-11-18 23:08:08,347 INFO L256 TraceCheckUtils]: 4: Hoare triple {7222#true} call #t~ret14 := main(); {7222#true} is VALID [2018-11-18 23:08:08,347 INFO L273 TraceCheckUtils]: 5: Hoare triple {7222#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {7222#true} is VALID [2018-11-18 23:08:08,348 INFO L273 TraceCheckUtils]: 6: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,348 INFO L273 TraceCheckUtils]: 7: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:08,348 INFO L273 TraceCheckUtils]: 8: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:08,348 INFO L273 TraceCheckUtils]: 9: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,348 INFO L273 TraceCheckUtils]: 10: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:08,349 INFO L273 TraceCheckUtils]: 11: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:08,349 INFO L273 TraceCheckUtils]: 12: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,349 INFO L273 TraceCheckUtils]: 13: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:08,349 INFO L273 TraceCheckUtils]: 14: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:08,349 INFO L273 TraceCheckUtils]: 15: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,349 INFO L273 TraceCheckUtils]: 16: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:08,349 INFO L273 TraceCheckUtils]: 17: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:08,349 INFO L273 TraceCheckUtils]: 18: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,349 INFO L273 TraceCheckUtils]: 19: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:08,350 INFO L273 TraceCheckUtils]: 20: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:08,350 INFO L273 TraceCheckUtils]: 21: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,350 INFO L273 TraceCheckUtils]: 22: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:08,350 INFO L273 TraceCheckUtils]: 23: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:08,350 INFO L273 TraceCheckUtils]: 24: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,350 INFO L273 TraceCheckUtils]: 25: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:08,350 INFO L273 TraceCheckUtils]: 26: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:08,350 INFO L273 TraceCheckUtils]: 27: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,350 INFO L273 TraceCheckUtils]: 28: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:08,351 INFO L273 TraceCheckUtils]: 29: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:08,351 INFO L273 TraceCheckUtils]: 30: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,351 INFO L273 TraceCheckUtils]: 31: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:08,351 INFO L273 TraceCheckUtils]: 32: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:08,351 INFO L273 TraceCheckUtils]: 33: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,351 INFO L273 TraceCheckUtils]: 34: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:08,351 INFO L273 TraceCheckUtils]: 35: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:08,351 INFO L273 TraceCheckUtils]: 36: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,352 INFO L273 TraceCheckUtils]: 37: Hoare triple {7222#true} assume !(~i~1 < 10); {7222#true} is VALID [2018-11-18 23:08:08,352 INFO L256 TraceCheckUtils]: 38: Hoare triple {7222#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {7222#true} is VALID [2018-11-18 23:08:08,352 INFO L273 TraceCheckUtils]: 39: Hoare triple {7222#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7224#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:08,352 INFO L273 TraceCheckUtils]: 40: Hoare triple {7224#(= sep_~i~0 0)} assume true; {7224#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:08,353 INFO L273 TraceCheckUtils]: 41: Hoare triple {7224#(= sep_~i~0 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7224#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:08,353 INFO L273 TraceCheckUtils]: 42: Hoare triple {7224#(= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7224#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:08,353 INFO L273 TraceCheckUtils]: 43: Hoare triple {7224#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7225#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:08,354 INFO L273 TraceCheckUtils]: 44: Hoare triple {7225#(<= sep_~i~0 1)} assume true; {7225#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:08,354 INFO L273 TraceCheckUtils]: 45: Hoare triple {7225#(<= sep_~i~0 1)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7225#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:08,354 INFO L273 TraceCheckUtils]: 46: Hoare triple {7225#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7225#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:08,355 INFO L273 TraceCheckUtils]: 47: Hoare triple {7225#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7226#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:08,355 INFO L273 TraceCheckUtils]: 48: Hoare triple {7226#(<= sep_~i~0 2)} assume true; {7226#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:08,356 INFO L273 TraceCheckUtils]: 49: Hoare triple {7226#(<= sep_~i~0 2)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7226#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:08,356 INFO L273 TraceCheckUtils]: 50: Hoare triple {7226#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7226#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:08,357 INFO L273 TraceCheckUtils]: 51: Hoare triple {7226#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7227#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:08,357 INFO L273 TraceCheckUtils]: 52: Hoare triple {7227#(<= sep_~i~0 3)} assume true; {7227#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:08,358 INFO L273 TraceCheckUtils]: 53: Hoare triple {7227#(<= sep_~i~0 3)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7227#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:08,358 INFO L273 TraceCheckUtils]: 54: Hoare triple {7227#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7227#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:08,359 INFO L273 TraceCheckUtils]: 55: Hoare triple {7227#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7228#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:08,359 INFO L273 TraceCheckUtils]: 56: Hoare triple {7228#(<= sep_~i~0 4)} assume true; {7228#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:08,360 INFO L273 TraceCheckUtils]: 57: Hoare triple {7228#(<= sep_~i~0 4)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7228#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:08,360 INFO L273 TraceCheckUtils]: 58: Hoare triple {7228#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7228#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:08,361 INFO L273 TraceCheckUtils]: 59: Hoare triple {7228#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7229#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:08,362 INFO L273 TraceCheckUtils]: 60: Hoare triple {7229#(<= sep_~i~0 5)} assume true; {7229#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:08,362 INFO L273 TraceCheckUtils]: 61: Hoare triple {7229#(<= sep_~i~0 5)} assume !(~i~0 < 10); {7223#false} is VALID [2018-11-18 23:08:08,362 INFO L273 TraceCheckUtils]: 62: Hoare triple {7223#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7223#false} is VALID [2018-11-18 23:08:08,363 INFO L273 TraceCheckUtils]: 63: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:08,363 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {7223#false} {7222#true} #78#return; {7223#false} is VALID [2018-11-18 23:08:08,363 INFO L273 TraceCheckUtils]: 65: Hoare triple {7223#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); {7223#false} is VALID [2018-11-18 23:08:08,363 INFO L256 TraceCheckUtils]: 66: Hoare triple {7223#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {7222#true} is VALID [2018-11-18 23:08:08,363 INFO L273 TraceCheckUtils]: 67: Hoare triple {7222#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7222#true} is VALID [2018-11-18 23:08:08,364 INFO L273 TraceCheckUtils]: 68: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,364 INFO L273 TraceCheckUtils]: 69: Hoare triple {7222#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7222#true} is VALID [2018-11-18 23:08:08,364 INFO L273 TraceCheckUtils]: 70: Hoare triple {7222#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7222#true} is VALID [2018-11-18 23:08:08,364 INFO L273 TraceCheckUtils]: 71: Hoare triple {7222#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7222#true} is VALID [2018-11-18 23:08:08,364 INFO L273 TraceCheckUtils]: 72: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,365 INFO L273 TraceCheckUtils]: 73: Hoare triple {7222#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7222#true} is VALID [2018-11-18 23:08:08,365 INFO L273 TraceCheckUtils]: 74: Hoare triple {7222#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7222#true} is VALID [2018-11-18 23:08:08,365 INFO L273 TraceCheckUtils]: 75: Hoare triple {7222#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7222#true} is VALID [2018-11-18 23:08:08,365 INFO L273 TraceCheckUtils]: 76: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,365 INFO L273 TraceCheckUtils]: 77: Hoare triple {7222#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7222#true} is VALID [2018-11-18 23:08:08,365 INFO L273 TraceCheckUtils]: 78: Hoare triple {7222#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7222#true} is VALID [2018-11-18 23:08:08,366 INFO L273 TraceCheckUtils]: 79: Hoare triple {7222#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7222#true} is VALID [2018-11-18 23:08:08,366 INFO L273 TraceCheckUtils]: 80: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,366 INFO L273 TraceCheckUtils]: 81: Hoare triple {7222#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7222#true} is VALID [2018-11-18 23:08:08,366 INFO L273 TraceCheckUtils]: 82: Hoare triple {7222#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7222#true} is VALID [2018-11-18 23:08:08,366 INFO L273 TraceCheckUtils]: 83: Hoare triple {7222#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7222#true} is VALID [2018-11-18 23:08:08,366 INFO L273 TraceCheckUtils]: 84: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,366 INFO L273 TraceCheckUtils]: 85: Hoare triple {7222#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7222#true} is VALID [2018-11-18 23:08:08,366 INFO L273 TraceCheckUtils]: 86: Hoare triple {7222#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7222#true} is VALID [2018-11-18 23:08:08,367 INFO L273 TraceCheckUtils]: 87: Hoare triple {7222#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7222#true} is VALID [2018-11-18 23:08:08,367 INFO L273 TraceCheckUtils]: 88: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,367 INFO L273 TraceCheckUtils]: 89: Hoare triple {7222#true} assume !(~i~0 < 10); {7222#true} is VALID [2018-11-18 23:08:08,367 INFO L273 TraceCheckUtils]: 90: Hoare triple {7222#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7222#true} is VALID [2018-11-18 23:08:08,367 INFO L273 TraceCheckUtils]: 91: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,367 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {7222#true} {7223#false} #80#return; {7223#false} is VALID [2018-11-18 23:08:08,367 INFO L273 TraceCheckUtils]: 93: Hoare triple {7223#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; {7223#false} is VALID [2018-11-18 23:08:08,367 INFO L273 TraceCheckUtils]: 94: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:08,367 INFO L273 TraceCheckUtils]: 95: Hoare triple {7223#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7223#false} is VALID [2018-11-18 23:08:08,368 INFO L273 TraceCheckUtils]: 96: Hoare triple {7223#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7223#false} is VALID [2018-11-18 23:08:08,368 INFO L273 TraceCheckUtils]: 97: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:08,368 INFO L273 TraceCheckUtils]: 98: Hoare triple {7223#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7223#false} is VALID [2018-11-18 23:08:08,368 INFO L273 TraceCheckUtils]: 99: Hoare triple {7223#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7223#false} is VALID [2018-11-18 23:08:08,368 INFO L273 TraceCheckUtils]: 100: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:08,368 INFO L273 TraceCheckUtils]: 101: Hoare triple {7223#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7223#false} is VALID [2018-11-18 23:08:08,368 INFO L273 TraceCheckUtils]: 102: Hoare triple {7223#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7223#false} is VALID [2018-11-18 23:08:08,368 INFO L273 TraceCheckUtils]: 103: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:08,368 INFO L273 TraceCheckUtils]: 104: Hoare triple {7223#false} assume !(~i~2 < 9); {7223#false} is VALID [2018-11-18 23:08:08,369 INFO L273 TraceCheckUtils]: 105: Hoare triple {7223#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {7223#false} is VALID [2018-11-18 23:08:08,369 INFO L256 TraceCheckUtils]: 106: Hoare triple {7223#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {7222#true} is VALID [2018-11-18 23:08:08,369 INFO L273 TraceCheckUtils]: 107: Hoare triple {7222#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7222#true} is VALID [2018-11-18 23:08:08,369 INFO L273 TraceCheckUtils]: 108: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,369 INFO L273 TraceCheckUtils]: 109: Hoare triple {7222#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7222#true} is VALID [2018-11-18 23:08:08,369 INFO L273 TraceCheckUtils]: 110: Hoare triple {7222#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7222#true} is VALID [2018-11-18 23:08:08,369 INFO L273 TraceCheckUtils]: 111: Hoare triple {7222#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7222#true} is VALID [2018-11-18 23:08:08,369 INFO L273 TraceCheckUtils]: 112: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,370 INFO L273 TraceCheckUtils]: 113: Hoare triple {7222#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7222#true} is VALID [2018-11-18 23:08:08,370 INFO L273 TraceCheckUtils]: 114: Hoare triple {7222#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7222#true} is VALID [2018-11-18 23:08:08,370 INFO L273 TraceCheckUtils]: 115: Hoare triple {7222#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7222#true} is VALID [2018-11-18 23:08:08,370 INFO L273 TraceCheckUtils]: 116: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,370 INFO L273 TraceCheckUtils]: 117: Hoare triple {7222#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7222#true} is VALID [2018-11-18 23:08:08,370 INFO L273 TraceCheckUtils]: 118: Hoare triple {7222#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7222#true} is VALID [2018-11-18 23:08:08,370 INFO L273 TraceCheckUtils]: 119: Hoare triple {7222#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7222#true} is VALID [2018-11-18 23:08:08,370 INFO L273 TraceCheckUtils]: 120: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,370 INFO L273 TraceCheckUtils]: 121: Hoare triple {7222#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7222#true} is VALID [2018-11-18 23:08:08,371 INFO L273 TraceCheckUtils]: 122: Hoare triple {7222#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7222#true} is VALID [2018-11-18 23:08:08,371 INFO L273 TraceCheckUtils]: 123: Hoare triple {7222#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7222#true} is VALID [2018-11-18 23:08:08,371 INFO L273 TraceCheckUtils]: 124: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,371 INFO L273 TraceCheckUtils]: 125: Hoare triple {7222#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7222#true} is VALID [2018-11-18 23:08:08,371 INFO L273 TraceCheckUtils]: 126: Hoare triple {7222#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7222#true} is VALID [2018-11-18 23:08:08,371 INFO L273 TraceCheckUtils]: 127: Hoare triple {7222#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7222#true} is VALID [2018-11-18 23:08:08,371 INFO L273 TraceCheckUtils]: 128: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,371 INFO L273 TraceCheckUtils]: 129: Hoare triple {7222#true} assume !(~i~0 < 10); {7222#true} is VALID [2018-11-18 23:08:08,371 INFO L273 TraceCheckUtils]: 130: Hoare triple {7222#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7222#true} is VALID [2018-11-18 23:08:08,372 INFO L273 TraceCheckUtils]: 131: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:08,372 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {7222#true} {7223#false} #82#return; {7223#false} is VALID [2018-11-18 23:08:08,372 INFO L273 TraceCheckUtils]: 133: Hoare triple {7223#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {7223#false} is VALID [2018-11-18 23:08:08,372 INFO L273 TraceCheckUtils]: 134: Hoare triple {7223#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7223#false} is VALID [2018-11-18 23:08:08,372 INFO L273 TraceCheckUtils]: 135: Hoare triple {7223#false} assume !false; {7223#false} is VALID [2018-11-18 23:08:08,380 INFO L134 CoverageAnalysis]: Checked inductivity of 698 backedges. 0 proven. 300 refuted. 0 times theorem prover too weak. 398 trivial. 0 not checked. [2018-11-18 23:08:08,380 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:08,380 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-18 23:08:08,389 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-18 23:08:08,834 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) [2018-11-18 23:08:08,834 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:08:08,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:08,879 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:09,148 INFO L256 TraceCheckUtils]: 0: Hoare triple {7222#true} call ULTIMATE.init(); {7222#true} is VALID [2018-11-18 23:08:09,148 INFO L273 TraceCheckUtils]: 1: Hoare triple {7222#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7222#true} is VALID [2018-11-18 23:08:09,148 INFO L273 TraceCheckUtils]: 2: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:09,149 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7222#true} {7222#true} #74#return; {7222#true} is VALID [2018-11-18 23:08:09,149 INFO L256 TraceCheckUtils]: 4: Hoare triple {7222#true} call #t~ret14 := main(); {7222#true} is VALID [2018-11-18 23:08:09,149 INFO L273 TraceCheckUtils]: 5: Hoare triple {7222#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {7222#true} is VALID [2018-11-18 23:08:09,149 INFO L273 TraceCheckUtils]: 6: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:09,150 INFO L273 TraceCheckUtils]: 7: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:09,150 INFO L273 TraceCheckUtils]: 8: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:09,150 INFO L273 TraceCheckUtils]: 9: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:09,150 INFO L273 TraceCheckUtils]: 10: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:09,151 INFO L273 TraceCheckUtils]: 11: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:09,151 INFO L273 TraceCheckUtils]: 12: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:09,151 INFO L273 TraceCheckUtils]: 13: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:09,151 INFO L273 TraceCheckUtils]: 14: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:09,151 INFO L273 TraceCheckUtils]: 15: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:09,152 INFO L273 TraceCheckUtils]: 16: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:09,152 INFO L273 TraceCheckUtils]: 17: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:09,152 INFO L273 TraceCheckUtils]: 18: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:09,152 INFO L273 TraceCheckUtils]: 19: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:09,152 INFO L273 TraceCheckUtils]: 20: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:09,152 INFO L273 TraceCheckUtils]: 21: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:09,152 INFO L273 TraceCheckUtils]: 22: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:09,153 INFO L273 TraceCheckUtils]: 23: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:09,153 INFO L273 TraceCheckUtils]: 24: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:09,153 INFO L273 TraceCheckUtils]: 25: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:09,153 INFO L273 TraceCheckUtils]: 26: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:09,153 INFO L273 TraceCheckUtils]: 27: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:09,153 INFO L273 TraceCheckUtils]: 28: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:09,153 INFO L273 TraceCheckUtils]: 29: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:09,154 INFO L273 TraceCheckUtils]: 30: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:09,154 INFO L273 TraceCheckUtils]: 31: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:09,154 INFO L273 TraceCheckUtils]: 32: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:09,154 INFO L273 TraceCheckUtils]: 33: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:09,154 INFO L273 TraceCheckUtils]: 34: Hoare triple {7222#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {7222#true} is VALID [2018-11-18 23:08:09,154 INFO L273 TraceCheckUtils]: 35: Hoare triple {7222#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {7222#true} is VALID [2018-11-18 23:08:09,154 INFO L273 TraceCheckUtils]: 36: Hoare triple {7222#true} assume true; {7222#true} is VALID [2018-11-18 23:08:09,155 INFO L273 TraceCheckUtils]: 37: Hoare triple {7222#true} assume !(~i~1 < 10); {7222#true} is VALID [2018-11-18 23:08:09,155 INFO L256 TraceCheckUtils]: 38: Hoare triple {7222#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {7222#true} is VALID [2018-11-18 23:08:09,155 INFO L273 TraceCheckUtils]: 39: Hoare triple {7222#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7350#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:09,156 INFO L273 TraceCheckUtils]: 40: Hoare triple {7350#(<= sep_~i~0 0)} assume true; {7350#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:09,156 INFO L273 TraceCheckUtils]: 41: Hoare triple {7350#(<= sep_~i~0 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7350#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:09,156 INFO L273 TraceCheckUtils]: 42: Hoare triple {7350#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7350#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:09,157 INFO L273 TraceCheckUtils]: 43: Hoare triple {7350#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7225#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:09,157 INFO L273 TraceCheckUtils]: 44: Hoare triple {7225#(<= sep_~i~0 1)} assume true; {7225#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:09,158 INFO L273 TraceCheckUtils]: 45: Hoare triple {7225#(<= sep_~i~0 1)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7225#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:09,158 INFO L273 TraceCheckUtils]: 46: Hoare triple {7225#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7225#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:09,159 INFO L273 TraceCheckUtils]: 47: Hoare triple {7225#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7226#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:09,159 INFO L273 TraceCheckUtils]: 48: Hoare triple {7226#(<= sep_~i~0 2)} assume true; {7226#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:09,159 INFO L273 TraceCheckUtils]: 49: Hoare triple {7226#(<= sep_~i~0 2)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7226#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:09,160 INFO L273 TraceCheckUtils]: 50: Hoare triple {7226#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7226#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:09,160 INFO L273 TraceCheckUtils]: 51: Hoare triple {7226#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7227#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:09,161 INFO L273 TraceCheckUtils]: 52: Hoare triple {7227#(<= sep_~i~0 3)} assume true; {7227#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:09,162 INFO L273 TraceCheckUtils]: 53: Hoare triple {7227#(<= sep_~i~0 3)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7227#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:09,162 INFO L273 TraceCheckUtils]: 54: Hoare triple {7227#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7227#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:09,163 INFO L273 TraceCheckUtils]: 55: Hoare triple {7227#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7228#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:09,164 INFO L273 TraceCheckUtils]: 56: Hoare triple {7228#(<= sep_~i~0 4)} assume true; {7228#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:09,164 INFO L273 TraceCheckUtils]: 57: Hoare triple {7228#(<= sep_~i~0 4)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7228#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:09,165 INFO L273 TraceCheckUtils]: 58: Hoare triple {7228#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7228#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:09,166 INFO L273 TraceCheckUtils]: 59: Hoare triple {7228#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7229#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:09,166 INFO L273 TraceCheckUtils]: 60: Hoare triple {7229#(<= sep_~i~0 5)} assume true; {7229#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:09,167 INFO L273 TraceCheckUtils]: 61: Hoare triple {7229#(<= sep_~i~0 5)} assume !(~i~0 < 10); {7223#false} is VALID [2018-11-18 23:08:09,167 INFO L273 TraceCheckUtils]: 62: Hoare triple {7223#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7223#false} is VALID [2018-11-18 23:08:09,167 INFO L273 TraceCheckUtils]: 63: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,168 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {7223#false} {7222#true} #78#return; {7223#false} is VALID [2018-11-18 23:08:09,168 INFO L273 TraceCheckUtils]: 65: Hoare triple {7223#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); {7223#false} is VALID [2018-11-18 23:08:09,168 INFO L256 TraceCheckUtils]: 66: Hoare triple {7223#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {7223#false} is VALID [2018-11-18 23:08:09,168 INFO L273 TraceCheckUtils]: 67: Hoare triple {7223#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7223#false} is VALID [2018-11-18 23:08:09,169 INFO L273 TraceCheckUtils]: 68: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,169 INFO L273 TraceCheckUtils]: 69: Hoare triple {7223#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7223#false} is VALID [2018-11-18 23:08:09,169 INFO L273 TraceCheckUtils]: 70: Hoare triple {7223#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7223#false} is VALID [2018-11-18 23:08:09,169 INFO L273 TraceCheckUtils]: 71: Hoare triple {7223#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7223#false} is VALID [2018-11-18 23:08:09,170 INFO L273 TraceCheckUtils]: 72: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,170 INFO L273 TraceCheckUtils]: 73: Hoare triple {7223#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7223#false} is VALID [2018-11-18 23:08:09,170 INFO L273 TraceCheckUtils]: 74: Hoare triple {7223#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7223#false} is VALID [2018-11-18 23:08:09,170 INFO L273 TraceCheckUtils]: 75: Hoare triple {7223#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7223#false} is VALID [2018-11-18 23:08:09,170 INFO L273 TraceCheckUtils]: 76: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,170 INFO L273 TraceCheckUtils]: 77: Hoare triple {7223#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7223#false} is VALID [2018-11-18 23:08:09,171 INFO L273 TraceCheckUtils]: 78: Hoare triple {7223#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7223#false} is VALID [2018-11-18 23:08:09,171 INFO L273 TraceCheckUtils]: 79: Hoare triple {7223#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7223#false} is VALID [2018-11-18 23:08:09,171 INFO L273 TraceCheckUtils]: 80: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,171 INFO L273 TraceCheckUtils]: 81: Hoare triple {7223#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7223#false} is VALID [2018-11-18 23:08:09,171 INFO L273 TraceCheckUtils]: 82: Hoare triple {7223#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7223#false} is VALID [2018-11-18 23:08:09,171 INFO L273 TraceCheckUtils]: 83: Hoare triple {7223#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7223#false} is VALID [2018-11-18 23:08:09,171 INFO L273 TraceCheckUtils]: 84: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,172 INFO L273 TraceCheckUtils]: 85: Hoare triple {7223#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7223#false} is VALID [2018-11-18 23:08:09,172 INFO L273 TraceCheckUtils]: 86: Hoare triple {7223#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7223#false} is VALID [2018-11-18 23:08:09,172 INFO L273 TraceCheckUtils]: 87: Hoare triple {7223#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7223#false} is VALID [2018-11-18 23:08:09,172 INFO L273 TraceCheckUtils]: 88: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,172 INFO L273 TraceCheckUtils]: 89: Hoare triple {7223#false} assume !(~i~0 < 10); {7223#false} is VALID [2018-11-18 23:08:09,172 INFO L273 TraceCheckUtils]: 90: Hoare triple {7223#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7223#false} is VALID [2018-11-18 23:08:09,173 INFO L273 TraceCheckUtils]: 91: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,173 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {7223#false} {7223#false} #80#return; {7223#false} is VALID [2018-11-18 23:08:09,173 INFO L273 TraceCheckUtils]: 93: Hoare triple {7223#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; {7223#false} is VALID [2018-11-18 23:08:09,173 INFO L273 TraceCheckUtils]: 94: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,173 INFO L273 TraceCheckUtils]: 95: Hoare triple {7223#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7223#false} is VALID [2018-11-18 23:08:09,173 INFO L273 TraceCheckUtils]: 96: Hoare triple {7223#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7223#false} is VALID [2018-11-18 23:08:09,173 INFO L273 TraceCheckUtils]: 97: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,174 INFO L273 TraceCheckUtils]: 98: Hoare triple {7223#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7223#false} is VALID [2018-11-18 23:08:09,174 INFO L273 TraceCheckUtils]: 99: Hoare triple {7223#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7223#false} is VALID [2018-11-18 23:08:09,174 INFO L273 TraceCheckUtils]: 100: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,174 INFO L273 TraceCheckUtils]: 101: Hoare triple {7223#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {7223#false} is VALID [2018-11-18 23:08:09,174 INFO L273 TraceCheckUtils]: 102: Hoare triple {7223#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {7223#false} is VALID [2018-11-18 23:08:09,174 INFO L273 TraceCheckUtils]: 103: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,174 INFO L273 TraceCheckUtils]: 104: Hoare triple {7223#false} assume !(~i~2 < 9); {7223#false} is VALID [2018-11-18 23:08:09,175 INFO L273 TraceCheckUtils]: 105: Hoare triple {7223#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {7223#false} is VALID [2018-11-18 23:08:09,175 INFO L256 TraceCheckUtils]: 106: Hoare triple {7223#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {7223#false} is VALID [2018-11-18 23:08:09,175 INFO L273 TraceCheckUtils]: 107: Hoare triple {7223#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {7223#false} is VALID [2018-11-18 23:08:09,175 INFO L273 TraceCheckUtils]: 108: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,175 INFO L273 TraceCheckUtils]: 109: Hoare triple {7223#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7223#false} is VALID [2018-11-18 23:08:09,175 INFO L273 TraceCheckUtils]: 110: Hoare triple {7223#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7223#false} is VALID [2018-11-18 23:08:09,175 INFO L273 TraceCheckUtils]: 111: Hoare triple {7223#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7223#false} is VALID [2018-11-18 23:08:09,176 INFO L273 TraceCheckUtils]: 112: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,176 INFO L273 TraceCheckUtils]: 113: Hoare triple {7223#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7223#false} is VALID [2018-11-18 23:08:09,176 INFO L273 TraceCheckUtils]: 114: Hoare triple {7223#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7223#false} is VALID [2018-11-18 23:08:09,176 INFO L273 TraceCheckUtils]: 115: Hoare triple {7223#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7223#false} is VALID [2018-11-18 23:08:09,176 INFO L273 TraceCheckUtils]: 116: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,176 INFO L273 TraceCheckUtils]: 117: Hoare triple {7223#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7223#false} is VALID [2018-11-18 23:08:09,177 INFO L273 TraceCheckUtils]: 118: Hoare triple {7223#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7223#false} is VALID [2018-11-18 23:08:09,177 INFO L273 TraceCheckUtils]: 119: Hoare triple {7223#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7223#false} is VALID [2018-11-18 23:08:09,177 INFO L273 TraceCheckUtils]: 120: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,177 INFO L273 TraceCheckUtils]: 121: Hoare triple {7223#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7223#false} is VALID [2018-11-18 23:08:09,177 INFO L273 TraceCheckUtils]: 122: Hoare triple {7223#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7223#false} is VALID [2018-11-18 23:08:09,177 INFO L273 TraceCheckUtils]: 123: Hoare triple {7223#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7223#false} is VALID [2018-11-18 23:08:09,177 INFO L273 TraceCheckUtils]: 124: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,178 INFO L273 TraceCheckUtils]: 125: Hoare triple {7223#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {7223#false} is VALID [2018-11-18 23:08:09,178 INFO L273 TraceCheckUtils]: 126: Hoare triple {7223#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {7223#false} is VALID [2018-11-18 23:08:09,178 INFO L273 TraceCheckUtils]: 127: Hoare triple {7223#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7223#false} is VALID [2018-11-18 23:08:09,178 INFO L273 TraceCheckUtils]: 128: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,178 INFO L273 TraceCheckUtils]: 129: Hoare triple {7223#false} assume !(~i~0 < 10); {7223#false} is VALID [2018-11-18 23:08:09,178 INFO L273 TraceCheckUtils]: 130: Hoare triple {7223#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {7223#false} is VALID [2018-11-18 23:08:09,178 INFO L273 TraceCheckUtils]: 131: Hoare triple {7223#false} assume true; {7223#false} is VALID [2018-11-18 23:08:09,179 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {7223#false} {7223#false} #82#return; {7223#false} is VALID [2018-11-18 23:08:09,179 INFO L273 TraceCheckUtils]: 133: Hoare triple {7223#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {7223#false} is VALID [2018-11-18 23:08:09,179 INFO L273 TraceCheckUtils]: 134: Hoare triple {7223#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7223#false} is VALID [2018-11-18 23:08:09,179 INFO L273 TraceCheckUtils]: 135: Hoare triple {7223#false} assume !false; {7223#false} is VALID [2018-11-18 23:08:09,196 INFO L134 CoverageAnalysis]: Checked inductivity of 698 backedges. 246 proven. 50 refuted. 0 times theorem prover too weak. 402 trivial. 0 not checked. [2018-11-18 23:08:09,215 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:09,216 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2018-11-18 23:08:09,216 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 136 [2018-11-18 23:08:09,218 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:09,218 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-18 23:08:09,339 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-18 23:08:09,339 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-18 23:08:09,339 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-18 23:08:09,340 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-18 23:08:09,340 INFO L87 Difference]: Start difference. First operand 85 states and 94 transitions. Second operand 9 states. [2018-11-18 23:08:09,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:09,745 INFO L93 Difference]: Finished difference Result 137 states and 159 transitions. [2018-11-18 23:08:09,746 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-18 23:08:09,746 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 136 [2018-11-18 23:08:09,746 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:09,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-18 23:08:09,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 92 transitions. [2018-11-18 23:08:09,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-18 23:08:09,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 92 transitions. [2018-11-18 23:08:09,750 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 92 transitions. [2018-11-18 23:08:10,255 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:10,258 INFO L225 Difference]: With dead ends: 137 [2018-11-18 23:08:10,272 INFO L226 Difference]: Without dead ends: 91 [2018-11-18 23:08:10,273 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 136 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-18 23:08:10,273 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2018-11-18 23:08:10,344 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 89. [2018-11-18 23:08:10,344 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:10,344 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand 89 states. [2018-11-18 23:08:10,345 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 89 states. [2018-11-18 23:08:10,345 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 89 states. [2018-11-18 23:08:10,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:10,351 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2018-11-18 23:08:10,351 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2018-11-18 23:08:10,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:10,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:10,352 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 91 states. [2018-11-18 23:08:10,352 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 91 states. [2018-11-18 23:08:10,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:10,354 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2018-11-18 23:08:10,355 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2018-11-18 23:08:10,355 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:10,355 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:10,355 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:10,355 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:10,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 89 states. [2018-11-18 23:08:10,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 99 transitions. [2018-11-18 23:08:10,359 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 99 transitions. Word has length 136 [2018-11-18 23:08:10,359 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:10,361 INFO L480 AbstractCegarLoop]: Abstraction has 89 states and 99 transitions. [2018-11-18 23:08:10,361 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-18 23:08:10,361 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 99 transitions. [2018-11-18 23:08:10,364 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 149 [2018-11-18 23:08:10,364 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:10,364 INFO L375 BasicCegarLoop]: trace histogram [21, 18, 18, 18, 11, 10, 10, 4, 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-18 23:08:10,365 INFO L423 AbstractCegarLoop]: === Iteration 16 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:10,365 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:10,365 INFO L82 PathProgramCache]: Analyzing trace with hash -326292033, now seen corresponding path program 12 times [2018-11-18 23:08:10,365 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:10,365 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:10,366 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:10,366 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:08:10,366 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:10,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:10,707 INFO L256 TraceCheckUtils]: 0: Hoare triple {8119#true} call ULTIMATE.init(); {8119#true} is VALID [2018-11-18 23:08:10,707 INFO L273 TraceCheckUtils]: 1: Hoare triple {8119#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {8119#true} is VALID [2018-11-18 23:08:10,707 INFO L273 TraceCheckUtils]: 2: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,708 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8119#true} {8119#true} #74#return; {8119#true} is VALID [2018-11-18 23:08:10,708 INFO L256 TraceCheckUtils]: 4: Hoare triple {8119#true} call #t~ret14 := main(); {8119#true} is VALID [2018-11-18 23:08:10,708 INFO L273 TraceCheckUtils]: 5: Hoare triple {8119#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {8119#true} is VALID [2018-11-18 23:08:10,708 INFO L273 TraceCheckUtils]: 6: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,708 INFO L273 TraceCheckUtils]: 7: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:10,709 INFO L273 TraceCheckUtils]: 8: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:10,709 INFO L273 TraceCheckUtils]: 9: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,709 INFO L273 TraceCheckUtils]: 10: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:10,709 INFO L273 TraceCheckUtils]: 11: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:10,709 INFO L273 TraceCheckUtils]: 12: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,710 INFO L273 TraceCheckUtils]: 13: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:10,710 INFO L273 TraceCheckUtils]: 14: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:10,710 INFO L273 TraceCheckUtils]: 15: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,710 INFO L273 TraceCheckUtils]: 16: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:10,710 INFO L273 TraceCheckUtils]: 17: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:10,710 INFO L273 TraceCheckUtils]: 18: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,710 INFO L273 TraceCheckUtils]: 19: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:10,710 INFO L273 TraceCheckUtils]: 20: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:10,711 INFO L273 TraceCheckUtils]: 21: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,711 INFO L273 TraceCheckUtils]: 22: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:10,711 INFO L273 TraceCheckUtils]: 23: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:10,711 INFO L273 TraceCheckUtils]: 24: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,711 INFO L273 TraceCheckUtils]: 25: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:10,711 INFO L273 TraceCheckUtils]: 26: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:10,711 INFO L273 TraceCheckUtils]: 27: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,711 INFO L273 TraceCheckUtils]: 28: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:10,711 INFO L273 TraceCheckUtils]: 29: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:10,712 INFO L273 TraceCheckUtils]: 30: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,712 INFO L273 TraceCheckUtils]: 31: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:10,712 INFO L273 TraceCheckUtils]: 32: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:10,712 INFO L273 TraceCheckUtils]: 33: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,712 INFO L273 TraceCheckUtils]: 34: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:10,712 INFO L273 TraceCheckUtils]: 35: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:10,712 INFO L273 TraceCheckUtils]: 36: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,712 INFO L273 TraceCheckUtils]: 37: Hoare triple {8119#true} assume !(~i~1 < 10); {8119#true} is VALID [2018-11-18 23:08:10,713 INFO L256 TraceCheckUtils]: 38: Hoare triple {8119#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {8119#true} is VALID [2018-11-18 23:08:10,713 INFO L273 TraceCheckUtils]: 39: Hoare triple {8119#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {8121#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:10,713 INFO L273 TraceCheckUtils]: 40: Hoare triple {8121#(= sep_~i~0 0)} assume true; {8121#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:10,714 INFO L273 TraceCheckUtils]: 41: Hoare triple {8121#(= sep_~i~0 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8121#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:10,714 INFO L273 TraceCheckUtils]: 42: Hoare triple {8121#(= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8121#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:10,714 INFO L273 TraceCheckUtils]: 43: Hoare triple {8121#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8122#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:10,715 INFO L273 TraceCheckUtils]: 44: Hoare triple {8122#(<= sep_~i~0 1)} assume true; {8122#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:10,715 INFO L273 TraceCheckUtils]: 45: Hoare triple {8122#(<= sep_~i~0 1)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8122#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:10,715 INFO L273 TraceCheckUtils]: 46: Hoare triple {8122#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8122#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:10,716 INFO L273 TraceCheckUtils]: 47: Hoare triple {8122#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8123#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:10,716 INFO L273 TraceCheckUtils]: 48: Hoare triple {8123#(<= sep_~i~0 2)} assume true; {8123#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:10,716 INFO L273 TraceCheckUtils]: 49: Hoare triple {8123#(<= sep_~i~0 2)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8123#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:10,717 INFO L273 TraceCheckUtils]: 50: Hoare triple {8123#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8123#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:10,717 INFO L273 TraceCheckUtils]: 51: Hoare triple {8123#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8124#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:10,718 INFO L273 TraceCheckUtils]: 52: Hoare triple {8124#(<= sep_~i~0 3)} assume true; {8124#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:10,718 INFO L273 TraceCheckUtils]: 53: Hoare triple {8124#(<= sep_~i~0 3)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8124#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:10,719 INFO L273 TraceCheckUtils]: 54: Hoare triple {8124#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8124#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:10,719 INFO L273 TraceCheckUtils]: 55: Hoare triple {8124#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8125#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:10,720 INFO L273 TraceCheckUtils]: 56: Hoare triple {8125#(<= sep_~i~0 4)} assume true; {8125#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:10,720 INFO L273 TraceCheckUtils]: 57: Hoare triple {8125#(<= sep_~i~0 4)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8125#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:10,721 INFO L273 TraceCheckUtils]: 58: Hoare triple {8125#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8125#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:10,722 INFO L273 TraceCheckUtils]: 59: Hoare triple {8125#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8126#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:10,722 INFO L273 TraceCheckUtils]: 60: Hoare triple {8126#(<= sep_~i~0 5)} assume true; {8126#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:10,723 INFO L273 TraceCheckUtils]: 61: Hoare triple {8126#(<= sep_~i~0 5)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8126#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:10,723 INFO L273 TraceCheckUtils]: 62: Hoare triple {8126#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8126#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:10,724 INFO L273 TraceCheckUtils]: 63: Hoare triple {8126#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8127#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:10,724 INFO L273 TraceCheckUtils]: 64: Hoare triple {8127#(<= sep_~i~0 6)} assume true; {8127#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:10,725 INFO L273 TraceCheckUtils]: 65: Hoare triple {8127#(<= sep_~i~0 6)} assume !(~i~0 < 10); {8120#false} is VALID [2018-11-18 23:08:10,725 INFO L273 TraceCheckUtils]: 66: Hoare triple {8120#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {8120#false} is VALID [2018-11-18 23:08:10,725 INFO L273 TraceCheckUtils]: 67: Hoare triple {8120#false} assume true; {8120#false} is VALID [2018-11-18 23:08:10,725 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {8120#false} {8119#true} #78#return; {8120#false} is VALID [2018-11-18 23:08:10,726 INFO L273 TraceCheckUtils]: 69: Hoare triple {8120#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); {8120#false} is VALID [2018-11-18 23:08:10,726 INFO L256 TraceCheckUtils]: 70: Hoare triple {8120#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {8119#true} is VALID [2018-11-18 23:08:10,726 INFO L273 TraceCheckUtils]: 71: Hoare triple {8119#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {8119#true} is VALID [2018-11-18 23:08:10,726 INFO L273 TraceCheckUtils]: 72: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,726 INFO L273 TraceCheckUtils]: 73: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:10,727 INFO L273 TraceCheckUtils]: 74: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:10,727 INFO L273 TraceCheckUtils]: 75: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:10,727 INFO L273 TraceCheckUtils]: 76: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,727 INFO L273 TraceCheckUtils]: 77: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:10,727 INFO L273 TraceCheckUtils]: 78: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:10,727 INFO L273 TraceCheckUtils]: 79: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:10,728 INFO L273 TraceCheckUtils]: 80: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,728 INFO L273 TraceCheckUtils]: 81: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:10,728 INFO L273 TraceCheckUtils]: 82: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:10,728 INFO L273 TraceCheckUtils]: 83: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:10,728 INFO L273 TraceCheckUtils]: 84: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,729 INFO L273 TraceCheckUtils]: 85: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:10,729 INFO L273 TraceCheckUtils]: 86: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:10,729 INFO L273 TraceCheckUtils]: 87: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:10,729 INFO L273 TraceCheckUtils]: 88: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,729 INFO L273 TraceCheckUtils]: 89: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:10,729 INFO L273 TraceCheckUtils]: 90: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:10,730 INFO L273 TraceCheckUtils]: 91: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:10,730 INFO L273 TraceCheckUtils]: 92: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,730 INFO L273 TraceCheckUtils]: 93: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:10,730 INFO L273 TraceCheckUtils]: 94: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:10,730 INFO L273 TraceCheckUtils]: 95: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:10,730 INFO L273 TraceCheckUtils]: 96: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,730 INFO L273 TraceCheckUtils]: 97: Hoare triple {8119#true} assume !(~i~0 < 10); {8119#true} is VALID [2018-11-18 23:08:10,731 INFO L273 TraceCheckUtils]: 98: Hoare triple {8119#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {8119#true} is VALID [2018-11-18 23:08:10,731 INFO L273 TraceCheckUtils]: 99: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,731 INFO L268 TraceCheckUtils]: 100: Hoare quadruple {8119#true} {8120#false} #80#return; {8120#false} is VALID [2018-11-18 23:08:10,731 INFO L273 TraceCheckUtils]: 101: Hoare triple {8120#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; {8120#false} is VALID [2018-11-18 23:08:10,731 INFO L273 TraceCheckUtils]: 102: Hoare triple {8120#false} assume true; {8120#false} is VALID [2018-11-18 23:08:10,731 INFO L273 TraceCheckUtils]: 103: Hoare triple {8120#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {8120#false} is VALID [2018-11-18 23:08:10,731 INFO L273 TraceCheckUtils]: 104: Hoare triple {8120#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {8120#false} is VALID [2018-11-18 23:08:10,731 INFO L273 TraceCheckUtils]: 105: Hoare triple {8120#false} assume true; {8120#false} is VALID [2018-11-18 23:08:10,732 INFO L273 TraceCheckUtils]: 106: Hoare triple {8120#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {8120#false} is VALID [2018-11-18 23:08:10,732 INFO L273 TraceCheckUtils]: 107: Hoare triple {8120#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {8120#false} is VALID [2018-11-18 23:08:10,732 INFO L273 TraceCheckUtils]: 108: Hoare triple {8120#false} assume true; {8120#false} is VALID [2018-11-18 23:08:10,732 INFO L273 TraceCheckUtils]: 109: Hoare triple {8120#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {8120#false} is VALID [2018-11-18 23:08:10,732 INFO L273 TraceCheckUtils]: 110: Hoare triple {8120#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {8120#false} is VALID [2018-11-18 23:08:10,732 INFO L273 TraceCheckUtils]: 111: Hoare triple {8120#false} assume true; {8120#false} is VALID [2018-11-18 23:08:10,732 INFO L273 TraceCheckUtils]: 112: Hoare triple {8120#false} assume !(~i~2 < 9); {8120#false} is VALID [2018-11-18 23:08:10,732 INFO L273 TraceCheckUtils]: 113: Hoare triple {8120#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {8120#false} is VALID [2018-11-18 23:08:10,732 INFO L256 TraceCheckUtils]: 114: Hoare triple {8120#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {8119#true} is VALID [2018-11-18 23:08:10,733 INFO L273 TraceCheckUtils]: 115: Hoare triple {8119#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {8119#true} is VALID [2018-11-18 23:08:10,733 INFO L273 TraceCheckUtils]: 116: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,733 INFO L273 TraceCheckUtils]: 117: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:10,733 INFO L273 TraceCheckUtils]: 118: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:10,733 INFO L273 TraceCheckUtils]: 119: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:10,733 INFO L273 TraceCheckUtils]: 120: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,733 INFO L273 TraceCheckUtils]: 121: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:10,733 INFO L273 TraceCheckUtils]: 122: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:10,733 INFO L273 TraceCheckUtils]: 123: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:10,734 INFO L273 TraceCheckUtils]: 124: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,734 INFO L273 TraceCheckUtils]: 125: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:10,734 INFO L273 TraceCheckUtils]: 126: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:10,734 INFO L273 TraceCheckUtils]: 127: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:10,734 INFO L273 TraceCheckUtils]: 128: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,734 INFO L273 TraceCheckUtils]: 129: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:10,734 INFO L273 TraceCheckUtils]: 130: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:10,734 INFO L273 TraceCheckUtils]: 131: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:10,734 INFO L273 TraceCheckUtils]: 132: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,735 INFO L273 TraceCheckUtils]: 133: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:10,735 INFO L273 TraceCheckUtils]: 134: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:10,735 INFO L273 TraceCheckUtils]: 135: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:10,735 INFO L273 TraceCheckUtils]: 136: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,735 INFO L273 TraceCheckUtils]: 137: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:10,735 INFO L273 TraceCheckUtils]: 138: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:10,735 INFO L273 TraceCheckUtils]: 139: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:10,735 INFO L273 TraceCheckUtils]: 140: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,735 INFO L273 TraceCheckUtils]: 141: Hoare triple {8119#true} assume !(~i~0 < 10); {8119#true} is VALID [2018-11-18 23:08:10,736 INFO L273 TraceCheckUtils]: 142: Hoare triple {8119#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {8119#true} is VALID [2018-11-18 23:08:10,736 INFO L273 TraceCheckUtils]: 143: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:10,736 INFO L268 TraceCheckUtils]: 144: Hoare quadruple {8119#true} {8120#false} #82#return; {8120#false} is VALID [2018-11-18 23:08:10,736 INFO L273 TraceCheckUtils]: 145: Hoare triple {8120#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {8120#false} is VALID [2018-11-18 23:08:10,736 INFO L273 TraceCheckUtils]: 146: Hoare triple {8120#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {8120#false} is VALID [2018-11-18 23:08:10,736 INFO L273 TraceCheckUtils]: 147: Hoare triple {8120#false} assume !false; {8120#false} is VALID [2018-11-18 23:08:10,746 INFO L134 CoverageAnalysis]: Checked inductivity of 908 backedges. 0 proven. 418 refuted. 0 times theorem prover too weak. 490 trivial. 0 not checked. [2018-11-18 23:08:10,746 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:10,746 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-18 23:08:10,754 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-18 23:08:10,830 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) [2018-11-18 23:08:10,830 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:08:10,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:10,854 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:11,014 INFO L256 TraceCheckUtils]: 0: Hoare triple {8119#true} call ULTIMATE.init(); {8119#true} is VALID [2018-11-18 23:08:11,014 INFO L273 TraceCheckUtils]: 1: Hoare triple {8119#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {8119#true} is VALID [2018-11-18 23:08:11,014 INFO L273 TraceCheckUtils]: 2: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,014 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8119#true} {8119#true} #74#return; {8119#true} is VALID [2018-11-18 23:08:11,015 INFO L256 TraceCheckUtils]: 4: Hoare triple {8119#true} call #t~ret14 := main(); {8119#true} is VALID [2018-11-18 23:08:11,015 INFO L273 TraceCheckUtils]: 5: Hoare triple {8119#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {8119#true} is VALID [2018-11-18 23:08:11,015 INFO L273 TraceCheckUtils]: 6: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,015 INFO L273 TraceCheckUtils]: 7: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:11,015 INFO L273 TraceCheckUtils]: 8: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:11,015 INFO L273 TraceCheckUtils]: 9: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,016 INFO L273 TraceCheckUtils]: 10: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:11,016 INFO L273 TraceCheckUtils]: 11: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:11,016 INFO L273 TraceCheckUtils]: 12: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,016 INFO L273 TraceCheckUtils]: 13: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:11,016 INFO L273 TraceCheckUtils]: 14: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:11,017 INFO L273 TraceCheckUtils]: 15: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,017 INFO L273 TraceCheckUtils]: 16: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:11,017 INFO L273 TraceCheckUtils]: 17: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:11,017 INFO L273 TraceCheckUtils]: 18: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,017 INFO L273 TraceCheckUtils]: 19: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:11,017 INFO L273 TraceCheckUtils]: 20: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:11,017 INFO L273 TraceCheckUtils]: 21: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,017 INFO L273 TraceCheckUtils]: 22: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:11,018 INFO L273 TraceCheckUtils]: 23: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:11,018 INFO L273 TraceCheckUtils]: 24: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,018 INFO L273 TraceCheckUtils]: 25: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:11,018 INFO L273 TraceCheckUtils]: 26: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:11,018 INFO L273 TraceCheckUtils]: 27: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,018 INFO L273 TraceCheckUtils]: 28: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:11,018 INFO L273 TraceCheckUtils]: 29: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:11,018 INFO L273 TraceCheckUtils]: 30: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,018 INFO L273 TraceCheckUtils]: 31: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:11,019 INFO L273 TraceCheckUtils]: 32: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:11,019 INFO L273 TraceCheckUtils]: 33: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,019 INFO L273 TraceCheckUtils]: 34: Hoare triple {8119#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {8119#true} is VALID [2018-11-18 23:08:11,019 INFO L273 TraceCheckUtils]: 35: Hoare triple {8119#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {8119#true} is VALID [2018-11-18 23:08:11,019 INFO L273 TraceCheckUtils]: 36: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,019 INFO L273 TraceCheckUtils]: 37: Hoare triple {8119#true} assume !(~i~1 < 10); {8119#true} is VALID [2018-11-18 23:08:11,019 INFO L256 TraceCheckUtils]: 38: Hoare triple {8119#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {8119#true} is VALID [2018-11-18 23:08:11,019 INFO L273 TraceCheckUtils]: 39: Hoare triple {8119#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {8119#true} is VALID [2018-11-18 23:08:11,019 INFO L273 TraceCheckUtils]: 40: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,020 INFO L273 TraceCheckUtils]: 41: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:11,020 INFO L273 TraceCheckUtils]: 42: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:11,020 INFO L273 TraceCheckUtils]: 43: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:11,020 INFO L273 TraceCheckUtils]: 44: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,020 INFO L273 TraceCheckUtils]: 45: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:11,020 INFO L273 TraceCheckUtils]: 46: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:11,020 INFO L273 TraceCheckUtils]: 47: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:11,020 INFO L273 TraceCheckUtils]: 48: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,020 INFO L273 TraceCheckUtils]: 49: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:11,021 INFO L273 TraceCheckUtils]: 50: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:11,021 INFO L273 TraceCheckUtils]: 51: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:11,021 INFO L273 TraceCheckUtils]: 52: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,021 INFO L273 TraceCheckUtils]: 53: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:11,021 INFO L273 TraceCheckUtils]: 54: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:11,021 INFO L273 TraceCheckUtils]: 55: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:11,021 INFO L273 TraceCheckUtils]: 56: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,021 INFO L273 TraceCheckUtils]: 57: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:11,022 INFO L273 TraceCheckUtils]: 58: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:11,022 INFO L273 TraceCheckUtils]: 59: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:11,022 INFO L273 TraceCheckUtils]: 60: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,022 INFO L273 TraceCheckUtils]: 61: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:11,022 INFO L273 TraceCheckUtils]: 62: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:11,022 INFO L273 TraceCheckUtils]: 63: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:11,022 INFO L273 TraceCheckUtils]: 64: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,022 INFO L273 TraceCheckUtils]: 65: Hoare triple {8119#true} assume !(~i~0 < 10); {8119#true} is VALID [2018-11-18 23:08:11,022 INFO L273 TraceCheckUtils]: 66: Hoare triple {8119#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {8119#true} is VALID [2018-11-18 23:08:11,023 INFO L273 TraceCheckUtils]: 67: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,023 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {8119#true} {8119#true} #78#return; {8119#true} is VALID [2018-11-18 23:08:11,023 INFO L273 TraceCheckUtils]: 69: Hoare triple {8119#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); {8119#true} is VALID [2018-11-18 23:08:11,023 INFO L256 TraceCheckUtils]: 70: Hoare triple {8119#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {8119#true} is VALID [2018-11-18 23:08:11,023 INFO L273 TraceCheckUtils]: 71: Hoare triple {8119#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {8119#true} is VALID [2018-11-18 23:08:11,023 INFO L273 TraceCheckUtils]: 72: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,023 INFO L273 TraceCheckUtils]: 73: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:11,023 INFO L273 TraceCheckUtils]: 74: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:11,023 INFO L273 TraceCheckUtils]: 75: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:11,024 INFO L273 TraceCheckUtils]: 76: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,024 INFO L273 TraceCheckUtils]: 77: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:11,024 INFO L273 TraceCheckUtils]: 78: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:11,024 INFO L273 TraceCheckUtils]: 79: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:11,024 INFO L273 TraceCheckUtils]: 80: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,024 INFO L273 TraceCheckUtils]: 81: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:11,024 INFO L273 TraceCheckUtils]: 82: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:11,024 INFO L273 TraceCheckUtils]: 83: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:11,024 INFO L273 TraceCheckUtils]: 84: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,025 INFO L273 TraceCheckUtils]: 85: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:11,025 INFO L273 TraceCheckUtils]: 86: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:11,025 INFO L273 TraceCheckUtils]: 87: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:11,025 INFO L273 TraceCheckUtils]: 88: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,025 INFO L273 TraceCheckUtils]: 89: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:11,025 INFO L273 TraceCheckUtils]: 90: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:11,025 INFO L273 TraceCheckUtils]: 91: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:11,025 INFO L273 TraceCheckUtils]: 92: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,025 INFO L273 TraceCheckUtils]: 93: Hoare triple {8119#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8119#true} is VALID [2018-11-18 23:08:11,026 INFO L273 TraceCheckUtils]: 94: Hoare triple {8119#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8119#true} is VALID [2018-11-18 23:08:11,026 INFO L273 TraceCheckUtils]: 95: Hoare triple {8119#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8119#true} is VALID [2018-11-18 23:08:11,026 INFO L273 TraceCheckUtils]: 96: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,026 INFO L273 TraceCheckUtils]: 97: Hoare triple {8119#true} assume !(~i~0 < 10); {8119#true} is VALID [2018-11-18 23:08:11,026 INFO L273 TraceCheckUtils]: 98: Hoare triple {8119#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {8119#true} is VALID [2018-11-18 23:08:11,026 INFO L273 TraceCheckUtils]: 99: Hoare triple {8119#true} assume true; {8119#true} is VALID [2018-11-18 23:08:11,026 INFO L268 TraceCheckUtils]: 100: Hoare quadruple {8119#true} {8119#true} #80#return; {8119#true} is VALID [2018-11-18 23:08:11,027 INFO L273 TraceCheckUtils]: 101: Hoare triple {8119#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; {8434#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:11,027 INFO L273 TraceCheckUtils]: 102: Hoare triple {8434#(<= main_~i~2 0)} assume true; {8434#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:11,027 INFO L273 TraceCheckUtils]: 103: Hoare triple {8434#(<= main_~i~2 0)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {8434#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:11,028 INFO L273 TraceCheckUtils]: 104: Hoare triple {8434#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {8444#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:11,028 INFO L273 TraceCheckUtils]: 105: Hoare triple {8444#(<= main_~i~2 1)} assume true; {8444#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:11,029 INFO L273 TraceCheckUtils]: 106: Hoare triple {8444#(<= main_~i~2 1)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {8444#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:11,029 INFO L273 TraceCheckUtils]: 107: Hoare triple {8444#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {8454#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:11,029 INFO L273 TraceCheckUtils]: 108: Hoare triple {8454#(<= main_~i~2 2)} assume true; {8454#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:11,030 INFO L273 TraceCheckUtils]: 109: Hoare triple {8454#(<= main_~i~2 2)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {8454#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:11,030 INFO L273 TraceCheckUtils]: 110: Hoare triple {8454#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {8464#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:11,030 INFO L273 TraceCheckUtils]: 111: Hoare triple {8464#(<= main_~i~2 3)} assume true; {8464#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:11,031 INFO L273 TraceCheckUtils]: 112: Hoare triple {8464#(<= main_~i~2 3)} assume !(~i~2 < 9); {8120#false} is VALID [2018-11-18 23:08:11,031 INFO L273 TraceCheckUtils]: 113: Hoare triple {8120#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {8120#false} is VALID [2018-11-18 23:08:11,031 INFO L256 TraceCheckUtils]: 114: Hoare triple {8120#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {8120#false} is VALID [2018-11-18 23:08:11,032 INFO L273 TraceCheckUtils]: 115: Hoare triple {8120#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {8120#false} is VALID [2018-11-18 23:08:11,032 INFO L273 TraceCheckUtils]: 116: Hoare triple {8120#false} assume true; {8120#false} is VALID [2018-11-18 23:08:11,032 INFO L273 TraceCheckUtils]: 117: Hoare triple {8120#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8120#false} is VALID [2018-11-18 23:08:11,032 INFO L273 TraceCheckUtils]: 118: Hoare triple {8120#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8120#false} is VALID [2018-11-18 23:08:11,032 INFO L273 TraceCheckUtils]: 119: Hoare triple {8120#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8120#false} is VALID [2018-11-18 23:08:11,032 INFO L273 TraceCheckUtils]: 120: Hoare triple {8120#false} assume true; {8120#false} is VALID [2018-11-18 23:08:11,033 INFO L273 TraceCheckUtils]: 121: Hoare triple {8120#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8120#false} is VALID [2018-11-18 23:08:11,033 INFO L273 TraceCheckUtils]: 122: Hoare triple {8120#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8120#false} is VALID [2018-11-18 23:08:11,033 INFO L273 TraceCheckUtils]: 123: Hoare triple {8120#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8120#false} is VALID [2018-11-18 23:08:11,033 INFO L273 TraceCheckUtils]: 124: Hoare triple {8120#false} assume true; {8120#false} is VALID [2018-11-18 23:08:11,033 INFO L273 TraceCheckUtils]: 125: Hoare triple {8120#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8120#false} is VALID [2018-11-18 23:08:11,034 INFO L273 TraceCheckUtils]: 126: Hoare triple {8120#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8120#false} is VALID [2018-11-18 23:08:11,034 INFO L273 TraceCheckUtils]: 127: Hoare triple {8120#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8120#false} is VALID [2018-11-18 23:08:11,034 INFO L273 TraceCheckUtils]: 128: Hoare triple {8120#false} assume true; {8120#false} is VALID [2018-11-18 23:08:11,034 INFO L273 TraceCheckUtils]: 129: Hoare triple {8120#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8120#false} is VALID [2018-11-18 23:08:11,034 INFO L273 TraceCheckUtils]: 130: Hoare triple {8120#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8120#false} is VALID [2018-11-18 23:08:11,034 INFO L273 TraceCheckUtils]: 131: Hoare triple {8120#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8120#false} is VALID [2018-11-18 23:08:11,034 INFO L273 TraceCheckUtils]: 132: Hoare triple {8120#false} assume true; {8120#false} is VALID [2018-11-18 23:08:11,034 INFO L273 TraceCheckUtils]: 133: Hoare triple {8120#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8120#false} is VALID [2018-11-18 23:08:11,034 INFO L273 TraceCheckUtils]: 134: Hoare triple {8120#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8120#false} is VALID [2018-11-18 23:08:11,035 INFO L273 TraceCheckUtils]: 135: Hoare triple {8120#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8120#false} is VALID [2018-11-18 23:08:11,035 INFO L273 TraceCheckUtils]: 136: Hoare triple {8120#false} assume true; {8120#false} is VALID [2018-11-18 23:08:11,035 INFO L273 TraceCheckUtils]: 137: Hoare triple {8120#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {8120#false} is VALID [2018-11-18 23:08:11,035 INFO L273 TraceCheckUtils]: 138: Hoare triple {8120#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {8120#false} is VALID [2018-11-18 23:08:11,035 INFO L273 TraceCheckUtils]: 139: Hoare triple {8120#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8120#false} is VALID [2018-11-18 23:08:11,035 INFO L273 TraceCheckUtils]: 140: Hoare triple {8120#false} assume true; {8120#false} is VALID [2018-11-18 23:08:11,035 INFO L273 TraceCheckUtils]: 141: Hoare triple {8120#false} assume !(~i~0 < 10); {8120#false} is VALID [2018-11-18 23:08:11,035 INFO L273 TraceCheckUtils]: 142: Hoare triple {8120#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {8120#false} is VALID [2018-11-18 23:08:11,036 INFO L273 TraceCheckUtils]: 143: Hoare triple {8120#false} assume true; {8120#false} is VALID [2018-11-18 23:08:11,036 INFO L268 TraceCheckUtils]: 144: Hoare quadruple {8120#false} {8120#false} #82#return; {8120#false} is VALID [2018-11-18 23:08:11,036 INFO L273 TraceCheckUtils]: 145: Hoare triple {8120#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {8120#false} is VALID [2018-11-18 23:08:11,036 INFO L273 TraceCheckUtils]: 146: Hoare triple {8120#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {8120#false} is VALID [2018-11-18 23:08:11,036 INFO L273 TraceCheckUtils]: 147: Hoare triple {8120#false} assume !false; {8120#false} is VALID [2018-11-18 23:08:11,045 INFO L134 CoverageAnalysis]: Checked inductivity of 908 backedges. 348 proven. 15 refuted. 0 times theorem prover too weak. 545 trivial. 0 not checked. [2018-11-18 23:08:11,065 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:11,065 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6] total 13 [2018-11-18 23:08:11,066 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 148 [2018-11-18 23:08:11,066 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:11,066 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-18 23:08:11,142 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:11,143 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-18 23:08:11,143 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-18 23:08:11,143 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=106, Unknown=0, NotChecked=0, Total=156 [2018-11-18 23:08:11,144 INFO L87 Difference]: Start difference. First operand 89 states and 99 transitions. Second operand 13 states. [2018-11-18 23:08:11,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:11,739 INFO L93 Difference]: Finished difference Result 149 states and 174 transitions. [2018-11-18 23:08:11,739 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-18 23:08:11,741 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 148 [2018-11-18 23:08:11,741 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:11,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-18 23:08:11,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 110 transitions. [2018-11-18 23:08:11,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-18 23:08:11,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 110 transitions. [2018-11-18 23:08:11,748 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 110 transitions. [2018-11-18 23:08:12,070 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-18 23:08:12,073 INFO L225 Difference]: With dead ends: 149 [2018-11-18 23:08:12,073 INFO L226 Difference]: Without dead ends: 99 [2018-11-18 23:08:12,074 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 156 GetRequests, 145 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=50, Invalid=106, Unknown=0, NotChecked=0, Total=156 [2018-11-18 23:08:12,074 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2018-11-18 23:08:12,109 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 96. [2018-11-18 23:08:12,110 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:12,110 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand 96 states. [2018-11-18 23:08:12,110 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand 96 states. [2018-11-18 23:08:12,110 INFO L87 Difference]: Start difference. First operand 99 states. Second operand 96 states. [2018-11-18 23:08:12,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:12,113 INFO L93 Difference]: Finished difference Result 99 states and 111 transitions. [2018-11-18 23:08:12,113 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 111 transitions. [2018-11-18 23:08:12,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:12,114 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:12,114 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand 99 states. [2018-11-18 23:08:12,114 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 99 states. [2018-11-18 23:08:12,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:12,116 INFO L93 Difference]: Finished difference Result 99 states and 111 transitions. [2018-11-18 23:08:12,116 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 111 transitions. [2018-11-18 23:08:12,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:12,117 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:12,117 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:12,117 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:12,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 96 states. [2018-11-18 23:08:12,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 107 transitions. [2018-11-18 23:08:12,120 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 107 transitions. Word has length 148 [2018-11-18 23:08:12,120 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:12,120 INFO L480 AbstractCegarLoop]: Abstraction has 96 states and 107 transitions. [2018-11-18 23:08:12,120 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-18 23:08:12,120 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 107 transitions. [2018-11-18 23:08:12,121 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 164 [2018-11-18 23:08:12,121 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:12,122 INFO L375 BasicCegarLoop]: trace histogram [24, 21, 21, 21, 11, 10, 10, 5, 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-18 23:08:12,122 INFO L423 AbstractCegarLoop]: === Iteration 17 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:12,122 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:12,122 INFO L82 PathProgramCache]: Analyzing trace with hash 1590954993, now seen corresponding path program 13 times [2018-11-18 23:08:12,122 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:12,123 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:12,123 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:12,123 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:08:12,124 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:12,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:13,240 INFO L256 TraceCheckUtils]: 0: Hoare triple {9096#true} call ULTIMATE.init(); {9096#true} is VALID [2018-11-18 23:08:13,240 INFO L273 TraceCheckUtils]: 1: Hoare triple {9096#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {9096#true} is VALID [2018-11-18 23:08:13,240 INFO L273 TraceCheckUtils]: 2: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,240 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9096#true} {9096#true} #74#return; {9096#true} is VALID [2018-11-18 23:08:13,241 INFO L256 TraceCheckUtils]: 4: Hoare triple {9096#true} call #t~ret14 := main(); {9096#true} is VALID [2018-11-18 23:08:13,241 INFO L273 TraceCheckUtils]: 5: Hoare triple {9096#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {9096#true} is VALID [2018-11-18 23:08:13,241 INFO L273 TraceCheckUtils]: 6: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,241 INFO L273 TraceCheckUtils]: 7: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,241 INFO L273 TraceCheckUtils]: 8: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,242 INFO L273 TraceCheckUtils]: 9: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,242 INFO L273 TraceCheckUtils]: 10: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,242 INFO L273 TraceCheckUtils]: 11: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,242 INFO L273 TraceCheckUtils]: 12: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,242 INFO L273 TraceCheckUtils]: 13: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,243 INFO L273 TraceCheckUtils]: 14: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,243 INFO L273 TraceCheckUtils]: 15: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,243 INFO L273 TraceCheckUtils]: 16: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,243 INFO L273 TraceCheckUtils]: 17: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,243 INFO L273 TraceCheckUtils]: 18: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,243 INFO L273 TraceCheckUtils]: 19: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,243 INFO L273 TraceCheckUtils]: 20: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,243 INFO L273 TraceCheckUtils]: 21: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,244 INFO L273 TraceCheckUtils]: 22: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,244 INFO L273 TraceCheckUtils]: 23: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,244 INFO L273 TraceCheckUtils]: 24: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,244 INFO L273 TraceCheckUtils]: 25: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,244 INFO L273 TraceCheckUtils]: 26: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,244 INFO L273 TraceCheckUtils]: 27: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,244 INFO L273 TraceCheckUtils]: 28: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,244 INFO L273 TraceCheckUtils]: 29: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,245 INFO L273 TraceCheckUtils]: 30: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,245 INFO L273 TraceCheckUtils]: 31: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,245 INFO L273 TraceCheckUtils]: 32: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,245 INFO L273 TraceCheckUtils]: 33: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,245 INFO L273 TraceCheckUtils]: 34: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,245 INFO L273 TraceCheckUtils]: 35: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,246 INFO L273 TraceCheckUtils]: 36: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,246 INFO L273 TraceCheckUtils]: 37: Hoare triple {9096#true} assume !(~i~1 < 10); {9096#true} is VALID [2018-11-18 23:08:13,246 INFO L256 TraceCheckUtils]: 38: Hoare triple {9096#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {9096#true} is VALID [2018-11-18 23:08:13,263 INFO L273 TraceCheckUtils]: 39: Hoare triple {9096#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {9098#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:13,272 INFO L273 TraceCheckUtils]: 40: Hoare triple {9098#(= sep_~i~0 0)} assume true; {9098#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:13,272 INFO L273 TraceCheckUtils]: 41: Hoare triple {9098#(= sep_~i~0 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9098#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:13,273 INFO L273 TraceCheckUtils]: 42: Hoare triple {9098#(= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9098#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:13,273 INFO L273 TraceCheckUtils]: 43: Hoare triple {9098#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9099#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:13,274 INFO L273 TraceCheckUtils]: 44: Hoare triple {9099#(<= sep_~i~0 1)} assume true; {9099#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:13,274 INFO L273 TraceCheckUtils]: 45: Hoare triple {9099#(<= sep_~i~0 1)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9099#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:13,274 INFO L273 TraceCheckUtils]: 46: Hoare triple {9099#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9099#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:13,275 INFO L273 TraceCheckUtils]: 47: Hoare triple {9099#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9100#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:13,280 INFO L273 TraceCheckUtils]: 48: Hoare triple {9100#(<= sep_~i~0 2)} assume true; {9100#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:13,280 INFO L273 TraceCheckUtils]: 49: Hoare triple {9100#(<= sep_~i~0 2)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9100#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:13,281 INFO L273 TraceCheckUtils]: 50: Hoare triple {9100#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9100#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:13,281 INFO L273 TraceCheckUtils]: 51: Hoare triple {9100#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9101#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:13,281 INFO L273 TraceCheckUtils]: 52: Hoare triple {9101#(<= sep_~i~0 3)} assume true; {9101#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:13,282 INFO L273 TraceCheckUtils]: 53: Hoare triple {9101#(<= sep_~i~0 3)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9101#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:13,282 INFO L273 TraceCheckUtils]: 54: Hoare triple {9101#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9101#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:13,283 INFO L273 TraceCheckUtils]: 55: Hoare triple {9101#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9102#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:13,283 INFO L273 TraceCheckUtils]: 56: Hoare triple {9102#(<= sep_~i~0 4)} assume true; {9102#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:13,283 INFO L273 TraceCheckUtils]: 57: Hoare triple {9102#(<= sep_~i~0 4)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9102#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:13,284 INFO L273 TraceCheckUtils]: 58: Hoare triple {9102#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9102#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:13,284 INFO L273 TraceCheckUtils]: 59: Hoare triple {9102#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9103#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:13,284 INFO L273 TraceCheckUtils]: 60: Hoare triple {9103#(<= sep_~i~0 5)} assume true; {9103#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:13,285 INFO L273 TraceCheckUtils]: 61: Hoare triple {9103#(<= sep_~i~0 5)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9103#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:13,285 INFO L273 TraceCheckUtils]: 62: Hoare triple {9103#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9103#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:13,286 INFO L273 TraceCheckUtils]: 63: Hoare triple {9103#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9104#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:13,286 INFO L273 TraceCheckUtils]: 64: Hoare triple {9104#(<= sep_~i~0 6)} assume true; {9104#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:13,287 INFO L273 TraceCheckUtils]: 65: Hoare triple {9104#(<= sep_~i~0 6)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9104#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:13,287 INFO L273 TraceCheckUtils]: 66: Hoare triple {9104#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9104#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:13,288 INFO L273 TraceCheckUtils]: 67: Hoare triple {9104#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9105#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:13,289 INFO L273 TraceCheckUtils]: 68: Hoare triple {9105#(<= sep_~i~0 7)} assume true; {9105#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:13,289 INFO L273 TraceCheckUtils]: 69: Hoare triple {9105#(<= sep_~i~0 7)} assume !(~i~0 < 10); {9097#false} is VALID [2018-11-18 23:08:13,290 INFO L273 TraceCheckUtils]: 70: Hoare triple {9097#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {9097#false} is VALID [2018-11-18 23:08:13,290 INFO L273 TraceCheckUtils]: 71: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,290 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {9097#false} {9096#true} #78#return; {9097#false} is VALID [2018-11-18 23:08:13,290 INFO L273 TraceCheckUtils]: 73: Hoare triple {9097#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); {9097#false} is VALID [2018-11-18 23:08:13,290 INFO L256 TraceCheckUtils]: 74: Hoare triple {9097#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {9096#true} is VALID [2018-11-18 23:08:13,291 INFO L273 TraceCheckUtils]: 75: Hoare triple {9096#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {9096#true} is VALID [2018-11-18 23:08:13,291 INFO L273 TraceCheckUtils]: 76: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,291 INFO L273 TraceCheckUtils]: 77: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,291 INFO L273 TraceCheckUtils]: 78: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,292 INFO L273 TraceCheckUtils]: 79: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,292 INFO L273 TraceCheckUtils]: 80: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,292 INFO L273 TraceCheckUtils]: 81: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,292 INFO L273 TraceCheckUtils]: 82: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,292 INFO L273 TraceCheckUtils]: 83: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,292 INFO L273 TraceCheckUtils]: 84: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,292 INFO L273 TraceCheckUtils]: 85: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,292 INFO L273 TraceCheckUtils]: 86: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,293 INFO L273 TraceCheckUtils]: 87: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,293 INFO L273 TraceCheckUtils]: 88: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,293 INFO L273 TraceCheckUtils]: 89: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,293 INFO L273 TraceCheckUtils]: 90: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,293 INFO L273 TraceCheckUtils]: 91: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,293 INFO L273 TraceCheckUtils]: 92: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,293 INFO L273 TraceCheckUtils]: 93: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,293 INFO L273 TraceCheckUtils]: 94: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,293 INFO L273 TraceCheckUtils]: 95: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,294 INFO L273 TraceCheckUtils]: 96: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,294 INFO L273 TraceCheckUtils]: 97: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,294 INFO L273 TraceCheckUtils]: 98: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,294 INFO L273 TraceCheckUtils]: 99: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,294 INFO L273 TraceCheckUtils]: 100: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,294 INFO L273 TraceCheckUtils]: 101: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,294 INFO L273 TraceCheckUtils]: 102: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,294 INFO L273 TraceCheckUtils]: 103: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,294 INFO L273 TraceCheckUtils]: 104: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,295 INFO L273 TraceCheckUtils]: 105: Hoare triple {9096#true} assume !(~i~0 < 10); {9096#true} is VALID [2018-11-18 23:08:13,295 INFO L273 TraceCheckUtils]: 106: Hoare triple {9096#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {9096#true} is VALID [2018-11-18 23:08:13,295 INFO L273 TraceCheckUtils]: 107: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,295 INFO L268 TraceCheckUtils]: 108: Hoare quadruple {9096#true} {9097#false} #80#return; {9097#false} is VALID [2018-11-18 23:08:13,295 INFO L273 TraceCheckUtils]: 109: Hoare triple {9097#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; {9097#false} is VALID [2018-11-18 23:08:13,295 INFO L273 TraceCheckUtils]: 110: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,295 INFO L273 TraceCheckUtils]: 111: Hoare triple {9097#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9097#false} is VALID [2018-11-18 23:08:13,295 INFO L273 TraceCheckUtils]: 112: Hoare triple {9097#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9097#false} is VALID [2018-11-18 23:08:13,296 INFO L273 TraceCheckUtils]: 113: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,296 INFO L273 TraceCheckUtils]: 114: Hoare triple {9097#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9097#false} is VALID [2018-11-18 23:08:13,296 INFO L273 TraceCheckUtils]: 115: Hoare triple {9097#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9097#false} is VALID [2018-11-18 23:08:13,296 INFO L273 TraceCheckUtils]: 116: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,296 INFO L273 TraceCheckUtils]: 117: Hoare triple {9097#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9097#false} is VALID [2018-11-18 23:08:13,296 INFO L273 TraceCheckUtils]: 118: Hoare triple {9097#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9097#false} is VALID [2018-11-18 23:08:13,296 INFO L273 TraceCheckUtils]: 119: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,296 INFO L273 TraceCheckUtils]: 120: Hoare triple {9097#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9097#false} is VALID [2018-11-18 23:08:13,296 INFO L273 TraceCheckUtils]: 121: Hoare triple {9097#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9097#false} is VALID [2018-11-18 23:08:13,297 INFO L273 TraceCheckUtils]: 122: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,297 INFO L273 TraceCheckUtils]: 123: Hoare triple {9097#false} assume !(~i~2 < 9); {9097#false} is VALID [2018-11-18 23:08:13,297 INFO L273 TraceCheckUtils]: 124: Hoare triple {9097#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {9097#false} is VALID [2018-11-18 23:08:13,297 INFO L256 TraceCheckUtils]: 125: Hoare triple {9097#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {9096#true} is VALID [2018-11-18 23:08:13,297 INFO L273 TraceCheckUtils]: 126: Hoare triple {9096#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {9096#true} is VALID [2018-11-18 23:08:13,297 INFO L273 TraceCheckUtils]: 127: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,297 INFO L273 TraceCheckUtils]: 128: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,297 INFO L273 TraceCheckUtils]: 129: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,297 INFO L273 TraceCheckUtils]: 130: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,298 INFO L273 TraceCheckUtils]: 131: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,298 INFO L273 TraceCheckUtils]: 132: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,298 INFO L273 TraceCheckUtils]: 133: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,298 INFO L273 TraceCheckUtils]: 134: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,298 INFO L273 TraceCheckUtils]: 135: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,298 INFO L273 TraceCheckUtils]: 136: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,298 INFO L273 TraceCheckUtils]: 137: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,298 INFO L273 TraceCheckUtils]: 138: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,298 INFO L273 TraceCheckUtils]: 139: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,299 INFO L273 TraceCheckUtils]: 140: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,299 INFO L273 TraceCheckUtils]: 141: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,299 INFO L273 TraceCheckUtils]: 142: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,299 INFO L273 TraceCheckUtils]: 143: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,299 INFO L273 TraceCheckUtils]: 144: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,299 INFO L273 TraceCheckUtils]: 145: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,299 INFO L273 TraceCheckUtils]: 146: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,299 INFO L273 TraceCheckUtils]: 147: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,300 INFO L273 TraceCheckUtils]: 148: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,300 INFO L273 TraceCheckUtils]: 149: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,300 INFO L273 TraceCheckUtils]: 150: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,300 INFO L273 TraceCheckUtils]: 151: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,300 INFO L273 TraceCheckUtils]: 152: Hoare triple {9096#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9096#true} is VALID [2018-11-18 23:08:13,300 INFO L273 TraceCheckUtils]: 153: Hoare triple {9096#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9096#true} is VALID [2018-11-18 23:08:13,300 INFO L273 TraceCheckUtils]: 154: Hoare triple {9096#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9096#true} is VALID [2018-11-18 23:08:13,301 INFO L273 TraceCheckUtils]: 155: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,301 INFO L273 TraceCheckUtils]: 156: Hoare triple {9096#true} assume !(~i~0 < 10); {9096#true} is VALID [2018-11-18 23:08:13,301 INFO L273 TraceCheckUtils]: 157: Hoare triple {9096#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {9096#true} is VALID [2018-11-18 23:08:13,301 INFO L273 TraceCheckUtils]: 158: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,301 INFO L268 TraceCheckUtils]: 159: Hoare quadruple {9096#true} {9097#false} #82#return; {9097#false} is VALID [2018-11-18 23:08:13,302 INFO L273 TraceCheckUtils]: 160: Hoare triple {9097#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {9097#false} is VALID [2018-11-18 23:08:13,302 INFO L273 TraceCheckUtils]: 161: Hoare triple {9097#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {9097#false} is VALID [2018-11-18 23:08:13,302 INFO L273 TraceCheckUtils]: 162: Hoare triple {9097#false} assume !false; {9097#false} is VALID [2018-11-18 23:08:13,314 INFO L134 CoverageAnalysis]: Checked inductivity of 1165 backedges. 0 proven. 556 refuted. 0 times theorem prover too weak. 609 trivial. 0 not checked. [2018-11-18 23:08:13,314 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:13,314 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-18 23:08:13,324 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:08:13,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:13,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:13,423 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:13,874 INFO L256 TraceCheckUtils]: 0: Hoare triple {9096#true} call ULTIMATE.init(); {9096#true} is VALID [2018-11-18 23:08:13,875 INFO L273 TraceCheckUtils]: 1: Hoare triple {9096#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {9096#true} is VALID [2018-11-18 23:08:13,875 INFO L273 TraceCheckUtils]: 2: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,875 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9096#true} {9096#true} #74#return; {9096#true} is VALID [2018-11-18 23:08:13,875 INFO L256 TraceCheckUtils]: 4: Hoare triple {9096#true} call #t~ret14 := main(); {9096#true} is VALID [2018-11-18 23:08:13,876 INFO L273 TraceCheckUtils]: 5: Hoare triple {9096#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {9096#true} is VALID [2018-11-18 23:08:13,876 INFO L273 TraceCheckUtils]: 6: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,876 INFO L273 TraceCheckUtils]: 7: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,876 INFO L273 TraceCheckUtils]: 8: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,876 INFO L273 TraceCheckUtils]: 9: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,877 INFO L273 TraceCheckUtils]: 10: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,877 INFO L273 TraceCheckUtils]: 11: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,877 INFO L273 TraceCheckUtils]: 12: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,877 INFO L273 TraceCheckUtils]: 13: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,877 INFO L273 TraceCheckUtils]: 14: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,877 INFO L273 TraceCheckUtils]: 15: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,877 INFO L273 TraceCheckUtils]: 16: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,877 INFO L273 TraceCheckUtils]: 17: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,878 INFO L273 TraceCheckUtils]: 18: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,878 INFO L273 TraceCheckUtils]: 19: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,878 INFO L273 TraceCheckUtils]: 20: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,878 INFO L273 TraceCheckUtils]: 21: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,878 INFO L273 TraceCheckUtils]: 22: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,878 INFO L273 TraceCheckUtils]: 23: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,878 INFO L273 TraceCheckUtils]: 24: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,878 INFO L273 TraceCheckUtils]: 25: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,879 INFO L273 TraceCheckUtils]: 26: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,879 INFO L273 TraceCheckUtils]: 27: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,879 INFO L273 TraceCheckUtils]: 28: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,879 INFO L273 TraceCheckUtils]: 29: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,879 INFO L273 TraceCheckUtils]: 30: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,879 INFO L273 TraceCheckUtils]: 31: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,879 INFO L273 TraceCheckUtils]: 32: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,879 INFO L273 TraceCheckUtils]: 33: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,879 INFO L273 TraceCheckUtils]: 34: Hoare triple {9096#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {9096#true} is VALID [2018-11-18 23:08:13,880 INFO L273 TraceCheckUtils]: 35: Hoare triple {9096#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {9096#true} is VALID [2018-11-18 23:08:13,880 INFO L273 TraceCheckUtils]: 36: Hoare triple {9096#true} assume true; {9096#true} is VALID [2018-11-18 23:08:13,880 INFO L273 TraceCheckUtils]: 37: Hoare triple {9096#true} assume !(~i~1 < 10); {9096#true} is VALID [2018-11-18 23:08:13,880 INFO L256 TraceCheckUtils]: 38: Hoare triple {9096#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {9096#true} is VALID [2018-11-18 23:08:13,880 INFO L273 TraceCheckUtils]: 39: Hoare triple {9096#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {9226#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:13,881 INFO L273 TraceCheckUtils]: 40: Hoare triple {9226#(<= sep_~i~0 0)} assume true; {9226#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:13,881 INFO L273 TraceCheckUtils]: 41: Hoare triple {9226#(<= sep_~i~0 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9226#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:13,881 INFO L273 TraceCheckUtils]: 42: Hoare triple {9226#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9226#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:13,882 INFO L273 TraceCheckUtils]: 43: Hoare triple {9226#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9099#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:13,882 INFO L273 TraceCheckUtils]: 44: Hoare triple {9099#(<= sep_~i~0 1)} assume true; {9099#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:13,883 INFO L273 TraceCheckUtils]: 45: Hoare triple {9099#(<= sep_~i~0 1)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9099#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:13,883 INFO L273 TraceCheckUtils]: 46: Hoare triple {9099#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9099#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:13,883 INFO L273 TraceCheckUtils]: 47: Hoare triple {9099#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9100#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:13,884 INFO L273 TraceCheckUtils]: 48: Hoare triple {9100#(<= sep_~i~0 2)} assume true; {9100#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:13,884 INFO L273 TraceCheckUtils]: 49: Hoare triple {9100#(<= sep_~i~0 2)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9100#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:13,885 INFO L273 TraceCheckUtils]: 50: Hoare triple {9100#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9100#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:13,886 INFO L273 TraceCheckUtils]: 51: Hoare triple {9100#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9101#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:13,886 INFO L273 TraceCheckUtils]: 52: Hoare triple {9101#(<= sep_~i~0 3)} assume true; {9101#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:13,887 INFO L273 TraceCheckUtils]: 53: Hoare triple {9101#(<= sep_~i~0 3)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9101#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:13,887 INFO L273 TraceCheckUtils]: 54: Hoare triple {9101#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9101#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:13,888 INFO L273 TraceCheckUtils]: 55: Hoare triple {9101#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9102#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:13,889 INFO L273 TraceCheckUtils]: 56: Hoare triple {9102#(<= sep_~i~0 4)} assume true; {9102#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:13,889 INFO L273 TraceCheckUtils]: 57: Hoare triple {9102#(<= sep_~i~0 4)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9102#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:13,890 INFO L273 TraceCheckUtils]: 58: Hoare triple {9102#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9102#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:13,890 INFO L273 TraceCheckUtils]: 59: Hoare triple {9102#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9103#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:13,891 INFO L273 TraceCheckUtils]: 60: Hoare triple {9103#(<= sep_~i~0 5)} assume true; {9103#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:13,891 INFO L273 TraceCheckUtils]: 61: Hoare triple {9103#(<= sep_~i~0 5)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9103#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:13,892 INFO L273 TraceCheckUtils]: 62: Hoare triple {9103#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9103#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:13,893 INFO L273 TraceCheckUtils]: 63: Hoare triple {9103#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9104#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:13,893 INFO L273 TraceCheckUtils]: 64: Hoare triple {9104#(<= sep_~i~0 6)} assume true; {9104#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:13,894 INFO L273 TraceCheckUtils]: 65: Hoare triple {9104#(<= sep_~i~0 6)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9104#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:13,894 INFO L273 TraceCheckUtils]: 66: Hoare triple {9104#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9104#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:13,895 INFO L273 TraceCheckUtils]: 67: Hoare triple {9104#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9105#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:13,896 INFO L273 TraceCheckUtils]: 68: Hoare triple {9105#(<= sep_~i~0 7)} assume true; {9105#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:13,896 INFO L273 TraceCheckUtils]: 69: Hoare triple {9105#(<= sep_~i~0 7)} assume !(~i~0 < 10); {9097#false} is VALID [2018-11-18 23:08:13,897 INFO L273 TraceCheckUtils]: 70: Hoare triple {9097#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {9097#false} is VALID [2018-11-18 23:08:13,897 INFO L273 TraceCheckUtils]: 71: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,897 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {9097#false} {9096#true} #78#return; {9097#false} is VALID [2018-11-18 23:08:13,897 INFO L273 TraceCheckUtils]: 73: Hoare triple {9097#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); {9097#false} is VALID [2018-11-18 23:08:13,897 INFO L256 TraceCheckUtils]: 74: Hoare triple {9097#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {9097#false} is VALID [2018-11-18 23:08:13,898 INFO L273 TraceCheckUtils]: 75: Hoare triple {9097#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {9097#false} is VALID [2018-11-18 23:08:13,898 INFO L273 TraceCheckUtils]: 76: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,898 INFO L273 TraceCheckUtils]: 77: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,898 INFO L273 TraceCheckUtils]: 78: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,898 INFO L273 TraceCheckUtils]: 79: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,899 INFO L273 TraceCheckUtils]: 80: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,899 INFO L273 TraceCheckUtils]: 81: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,899 INFO L273 TraceCheckUtils]: 82: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,899 INFO L273 TraceCheckUtils]: 83: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,899 INFO L273 TraceCheckUtils]: 84: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,899 INFO L273 TraceCheckUtils]: 85: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,899 INFO L273 TraceCheckUtils]: 86: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,899 INFO L273 TraceCheckUtils]: 87: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,900 INFO L273 TraceCheckUtils]: 88: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,900 INFO L273 TraceCheckUtils]: 89: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,900 INFO L273 TraceCheckUtils]: 90: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,900 INFO L273 TraceCheckUtils]: 91: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,900 INFO L273 TraceCheckUtils]: 92: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,900 INFO L273 TraceCheckUtils]: 93: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,900 INFO L273 TraceCheckUtils]: 94: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,900 INFO L273 TraceCheckUtils]: 95: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,901 INFO L273 TraceCheckUtils]: 96: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,901 INFO L273 TraceCheckUtils]: 97: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,901 INFO L273 TraceCheckUtils]: 98: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,901 INFO L273 TraceCheckUtils]: 99: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,901 INFO L273 TraceCheckUtils]: 100: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,901 INFO L273 TraceCheckUtils]: 101: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,901 INFO L273 TraceCheckUtils]: 102: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,901 INFO L273 TraceCheckUtils]: 103: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,901 INFO L273 TraceCheckUtils]: 104: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,902 INFO L273 TraceCheckUtils]: 105: Hoare triple {9097#false} assume !(~i~0 < 10); {9097#false} is VALID [2018-11-18 23:08:13,902 INFO L273 TraceCheckUtils]: 106: Hoare triple {9097#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {9097#false} is VALID [2018-11-18 23:08:13,902 INFO L273 TraceCheckUtils]: 107: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,902 INFO L268 TraceCheckUtils]: 108: Hoare quadruple {9097#false} {9097#false} #80#return; {9097#false} is VALID [2018-11-18 23:08:13,902 INFO L273 TraceCheckUtils]: 109: Hoare triple {9097#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; {9097#false} is VALID [2018-11-18 23:08:13,902 INFO L273 TraceCheckUtils]: 110: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,902 INFO L273 TraceCheckUtils]: 111: Hoare triple {9097#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9097#false} is VALID [2018-11-18 23:08:13,902 INFO L273 TraceCheckUtils]: 112: Hoare triple {9097#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9097#false} is VALID [2018-11-18 23:08:13,902 INFO L273 TraceCheckUtils]: 113: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,903 INFO L273 TraceCheckUtils]: 114: Hoare triple {9097#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9097#false} is VALID [2018-11-18 23:08:13,903 INFO L273 TraceCheckUtils]: 115: Hoare triple {9097#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9097#false} is VALID [2018-11-18 23:08:13,903 INFO L273 TraceCheckUtils]: 116: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,903 INFO L273 TraceCheckUtils]: 117: Hoare triple {9097#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9097#false} is VALID [2018-11-18 23:08:13,903 INFO L273 TraceCheckUtils]: 118: Hoare triple {9097#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9097#false} is VALID [2018-11-18 23:08:13,903 INFO L273 TraceCheckUtils]: 119: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,903 INFO L273 TraceCheckUtils]: 120: Hoare triple {9097#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {9097#false} is VALID [2018-11-18 23:08:13,903 INFO L273 TraceCheckUtils]: 121: Hoare triple {9097#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {9097#false} is VALID [2018-11-18 23:08:13,903 INFO L273 TraceCheckUtils]: 122: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,904 INFO L273 TraceCheckUtils]: 123: Hoare triple {9097#false} assume !(~i~2 < 9); {9097#false} is VALID [2018-11-18 23:08:13,904 INFO L273 TraceCheckUtils]: 124: Hoare triple {9097#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {9097#false} is VALID [2018-11-18 23:08:13,904 INFO L256 TraceCheckUtils]: 125: Hoare triple {9097#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {9097#false} is VALID [2018-11-18 23:08:13,904 INFO L273 TraceCheckUtils]: 126: Hoare triple {9097#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {9097#false} is VALID [2018-11-18 23:08:13,904 INFO L273 TraceCheckUtils]: 127: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,904 INFO L273 TraceCheckUtils]: 128: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,904 INFO L273 TraceCheckUtils]: 129: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,904 INFO L273 TraceCheckUtils]: 130: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,904 INFO L273 TraceCheckUtils]: 131: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,905 INFO L273 TraceCheckUtils]: 132: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,905 INFO L273 TraceCheckUtils]: 133: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,905 INFO L273 TraceCheckUtils]: 134: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,905 INFO L273 TraceCheckUtils]: 135: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,905 INFO L273 TraceCheckUtils]: 136: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,905 INFO L273 TraceCheckUtils]: 137: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,905 INFO L273 TraceCheckUtils]: 138: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,905 INFO L273 TraceCheckUtils]: 139: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,906 INFO L273 TraceCheckUtils]: 140: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,906 INFO L273 TraceCheckUtils]: 141: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,906 INFO L273 TraceCheckUtils]: 142: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,906 INFO L273 TraceCheckUtils]: 143: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,906 INFO L273 TraceCheckUtils]: 144: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,906 INFO L273 TraceCheckUtils]: 145: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,906 INFO L273 TraceCheckUtils]: 146: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,906 INFO L273 TraceCheckUtils]: 147: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,906 INFO L273 TraceCheckUtils]: 148: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,907 INFO L273 TraceCheckUtils]: 149: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,907 INFO L273 TraceCheckUtils]: 150: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,907 INFO L273 TraceCheckUtils]: 151: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,907 INFO L273 TraceCheckUtils]: 152: Hoare triple {9097#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {9097#false} is VALID [2018-11-18 23:08:13,907 INFO L273 TraceCheckUtils]: 153: Hoare triple {9097#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {9097#false} is VALID [2018-11-18 23:08:13,907 INFO L273 TraceCheckUtils]: 154: Hoare triple {9097#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9097#false} is VALID [2018-11-18 23:08:13,907 INFO L273 TraceCheckUtils]: 155: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,907 INFO L273 TraceCheckUtils]: 156: Hoare triple {9097#false} assume !(~i~0 < 10); {9097#false} is VALID [2018-11-18 23:08:13,907 INFO L273 TraceCheckUtils]: 157: Hoare triple {9097#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {9097#false} is VALID [2018-11-18 23:08:13,908 INFO L273 TraceCheckUtils]: 158: Hoare triple {9097#false} assume true; {9097#false} is VALID [2018-11-18 23:08:13,908 INFO L268 TraceCheckUtils]: 159: Hoare quadruple {9097#false} {9097#false} #82#return; {9097#false} is VALID [2018-11-18 23:08:13,908 INFO L273 TraceCheckUtils]: 160: Hoare triple {9097#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {9097#false} is VALID [2018-11-18 23:08:13,908 INFO L273 TraceCheckUtils]: 161: Hoare triple {9097#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {9097#false} is VALID [2018-11-18 23:08:13,908 INFO L273 TraceCheckUtils]: 162: Hoare triple {9097#false} assume !false; {9097#false} is VALID [2018-11-18 23:08:13,920 INFO L134 CoverageAnalysis]: Checked inductivity of 1165 backedges. 454 proven. 98 refuted. 0 times theorem prover too weak. 613 trivial. 0 not checked. [2018-11-18 23:08:13,939 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:13,939 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2018-11-18 23:08:13,939 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 163 [2018-11-18 23:08:13,940 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:13,940 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-18 23:08:14,017 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-18 23:08:14,017 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-18 23:08:14,018 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-18 23:08:14,018 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-18 23:08:14,018 INFO L87 Difference]: Start difference. First operand 96 states and 107 transitions. Second operand 11 states. [2018-11-18 23:08:14,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:14,235 INFO L93 Difference]: Finished difference Result 159 states and 185 transitions. [2018-11-18 23:08:14,235 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-18 23:08:14,235 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 163 [2018-11-18 23:08:14,235 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:14,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-18 23:08:14,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 102 transitions. [2018-11-18 23:08:14,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-18 23:08:14,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 102 transitions. [2018-11-18 23:08:14,238 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 102 transitions. [2018-11-18 23:08:14,335 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:14,338 INFO L225 Difference]: With dead ends: 159 [2018-11-18 23:08:14,338 INFO L226 Difference]: Without dead ends: 102 [2018-11-18 23:08:14,338 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 163 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-18 23:08:14,339 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2018-11-18 23:08:14,367 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 100. [2018-11-18 23:08:14,367 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:14,368 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand 100 states. [2018-11-18 23:08:14,368 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 100 states. [2018-11-18 23:08:14,368 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 100 states. [2018-11-18 23:08:14,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:14,370 INFO L93 Difference]: Finished difference Result 102 states and 115 transitions. [2018-11-18 23:08:14,371 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 115 transitions. [2018-11-18 23:08:14,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:14,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:14,371 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 102 states. [2018-11-18 23:08:14,371 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 102 states. [2018-11-18 23:08:14,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:14,374 INFO L93 Difference]: Finished difference Result 102 states and 115 transitions. [2018-11-18 23:08:14,374 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 115 transitions. [2018-11-18 23:08:14,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:14,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:14,375 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:14,375 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:14,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2018-11-18 23:08:14,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 112 transitions. [2018-11-18 23:08:14,377 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 112 transitions. Word has length 163 [2018-11-18 23:08:14,377 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:14,378 INFO L480 AbstractCegarLoop]: Abstraction has 100 states and 112 transitions. [2018-11-18 23:08:14,378 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-18 23:08:14,378 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 112 transitions. [2018-11-18 23:08:14,379 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 176 [2018-11-18 23:08:14,379 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:14,379 INFO L375 BasicCegarLoop]: trace histogram [27, 24, 24, 24, 11, 10, 10, 5, 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-18 23:08:14,379 INFO L423 AbstractCegarLoop]: === Iteration 18 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:14,380 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:14,380 INFO L82 PathProgramCache]: Analyzing trace with hash 323337834, now seen corresponding path program 14 times [2018-11-18 23:08:14,380 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:14,380 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:14,381 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:14,381 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:08:14,381 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:14,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:14,619 INFO L256 TraceCheckUtils]: 0: Hoare triple {10140#true} call ULTIMATE.init(); {10140#true} is VALID [2018-11-18 23:08:14,619 INFO L273 TraceCheckUtils]: 1: Hoare triple {10140#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {10140#true} is VALID [2018-11-18 23:08:14,620 INFO L273 TraceCheckUtils]: 2: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,620 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10140#true} {10140#true} #74#return; {10140#true} is VALID [2018-11-18 23:08:14,620 INFO L256 TraceCheckUtils]: 4: Hoare triple {10140#true} call #t~ret14 := main(); {10140#true} is VALID [2018-11-18 23:08:14,620 INFO L273 TraceCheckUtils]: 5: Hoare triple {10140#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {10140#true} is VALID [2018-11-18 23:08:14,620 INFO L273 TraceCheckUtils]: 6: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,621 INFO L273 TraceCheckUtils]: 7: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:14,621 INFO L273 TraceCheckUtils]: 8: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:14,621 INFO L273 TraceCheckUtils]: 9: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,621 INFO L273 TraceCheckUtils]: 10: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:14,621 INFO L273 TraceCheckUtils]: 11: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:14,622 INFO L273 TraceCheckUtils]: 12: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,622 INFO L273 TraceCheckUtils]: 13: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:14,622 INFO L273 TraceCheckUtils]: 14: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:14,622 INFO L273 TraceCheckUtils]: 15: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,622 INFO L273 TraceCheckUtils]: 16: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:14,622 INFO L273 TraceCheckUtils]: 17: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:14,622 INFO L273 TraceCheckUtils]: 18: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,622 INFO L273 TraceCheckUtils]: 19: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:14,622 INFO L273 TraceCheckUtils]: 20: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:14,623 INFO L273 TraceCheckUtils]: 21: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,623 INFO L273 TraceCheckUtils]: 22: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:14,623 INFO L273 TraceCheckUtils]: 23: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:14,623 INFO L273 TraceCheckUtils]: 24: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,623 INFO L273 TraceCheckUtils]: 25: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:14,623 INFO L273 TraceCheckUtils]: 26: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:14,623 INFO L273 TraceCheckUtils]: 27: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,623 INFO L273 TraceCheckUtils]: 28: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:14,623 INFO L273 TraceCheckUtils]: 29: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:14,624 INFO L273 TraceCheckUtils]: 30: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,624 INFO L273 TraceCheckUtils]: 31: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:14,624 INFO L273 TraceCheckUtils]: 32: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:14,624 INFO L273 TraceCheckUtils]: 33: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,624 INFO L273 TraceCheckUtils]: 34: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:14,624 INFO L273 TraceCheckUtils]: 35: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:14,624 INFO L273 TraceCheckUtils]: 36: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,624 INFO L273 TraceCheckUtils]: 37: Hoare triple {10140#true} assume !(~i~1 < 10); {10140#true} is VALID [2018-11-18 23:08:14,624 INFO L256 TraceCheckUtils]: 38: Hoare triple {10140#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {10140#true} is VALID [2018-11-18 23:08:14,625 INFO L273 TraceCheckUtils]: 39: Hoare triple {10140#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {10142#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:14,625 INFO L273 TraceCheckUtils]: 40: Hoare triple {10142#(= sep_~i~0 0)} assume true; {10142#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:14,625 INFO L273 TraceCheckUtils]: 41: Hoare triple {10142#(= sep_~i~0 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10142#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:14,626 INFO L273 TraceCheckUtils]: 42: Hoare triple {10142#(= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10142#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:14,626 INFO L273 TraceCheckUtils]: 43: Hoare triple {10142#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10143#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:14,627 INFO L273 TraceCheckUtils]: 44: Hoare triple {10143#(<= sep_~i~0 1)} assume true; {10143#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:14,627 INFO L273 TraceCheckUtils]: 45: Hoare triple {10143#(<= sep_~i~0 1)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10143#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:14,627 INFO L273 TraceCheckUtils]: 46: Hoare triple {10143#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10143#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:14,628 INFO L273 TraceCheckUtils]: 47: Hoare triple {10143#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10144#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:14,628 INFO L273 TraceCheckUtils]: 48: Hoare triple {10144#(<= sep_~i~0 2)} assume true; {10144#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:14,629 INFO L273 TraceCheckUtils]: 49: Hoare triple {10144#(<= sep_~i~0 2)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10144#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:14,629 INFO L273 TraceCheckUtils]: 50: Hoare triple {10144#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10144#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:14,630 INFO L273 TraceCheckUtils]: 51: Hoare triple {10144#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10145#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:14,630 INFO L273 TraceCheckUtils]: 52: Hoare triple {10145#(<= sep_~i~0 3)} assume true; {10145#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:14,631 INFO L273 TraceCheckUtils]: 53: Hoare triple {10145#(<= sep_~i~0 3)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10145#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:14,631 INFO L273 TraceCheckUtils]: 54: Hoare triple {10145#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10145#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:14,632 INFO L273 TraceCheckUtils]: 55: Hoare triple {10145#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10146#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:14,633 INFO L273 TraceCheckUtils]: 56: Hoare triple {10146#(<= sep_~i~0 4)} assume true; {10146#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:14,633 INFO L273 TraceCheckUtils]: 57: Hoare triple {10146#(<= sep_~i~0 4)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10146#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:14,634 INFO L273 TraceCheckUtils]: 58: Hoare triple {10146#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10146#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:14,634 INFO L273 TraceCheckUtils]: 59: Hoare triple {10146#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10147#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:14,635 INFO L273 TraceCheckUtils]: 60: Hoare triple {10147#(<= sep_~i~0 5)} assume true; {10147#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:14,635 INFO L273 TraceCheckUtils]: 61: Hoare triple {10147#(<= sep_~i~0 5)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10147#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:14,636 INFO L273 TraceCheckUtils]: 62: Hoare triple {10147#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10147#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:14,636 INFO L273 TraceCheckUtils]: 63: Hoare triple {10147#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10148#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:14,637 INFO L273 TraceCheckUtils]: 64: Hoare triple {10148#(<= sep_~i~0 6)} assume true; {10148#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:14,637 INFO L273 TraceCheckUtils]: 65: Hoare triple {10148#(<= sep_~i~0 6)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10148#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:14,638 INFO L273 TraceCheckUtils]: 66: Hoare triple {10148#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10148#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:14,639 INFO L273 TraceCheckUtils]: 67: Hoare triple {10148#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10149#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:14,639 INFO L273 TraceCheckUtils]: 68: Hoare triple {10149#(<= sep_~i~0 7)} assume true; {10149#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:14,640 INFO L273 TraceCheckUtils]: 69: Hoare triple {10149#(<= sep_~i~0 7)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10149#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:14,640 INFO L273 TraceCheckUtils]: 70: Hoare triple {10149#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10149#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:14,641 INFO L273 TraceCheckUtils]: 71: Hoare triple {10149#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10150#(<= sep_~i~0 8)} is VALID [2018-11-18 23:08:14,641 INFO L273 TraceCheckUtils]: 72: Hoare triple {10150#(<= sep_~i~0 8)} assume true; {10150#(<= sep_~i~0 8)} is VALID [2018-11-18 23:08:14,642 INFO L273 TraceCheckUtils]: 73: Hoare triple {10150#(<= sep_~i~0 8)} assume !(~i~0 < 10); {10141#false} is VALID [2018-11-18 23:08:14,642 INFO L273 TraceCheckUtils]: 74: Hoare triple {10141#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {10141#false} is VALID [2018-11-18 23:08:14,642 INFO L273 TraceCheckUtils]: 75: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:14,642 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {10141#false} {10140#true} #78#return; {10141#false} is VALID [2018-11-18 23:08:14,643 INFO L273 TraceCheckUtils]: 77: Hoare triple {10141#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); {10141#false} is VALID [2018-11-18 23:08:14,643 INFO L256 TraceCheckUtils]: 78: Hoare triple {10141#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {10140#true} is VALID [2018-11-18 23:08:14,643 INFO L273 TraceCheckUtils]: 79: Hoare triple {10140#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {10140#true} is VALID [2018-11-18 23:08:14,643 INFO L273 TraceCheckUtils]: 80: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,643 INFO L273 TraceCheckUtils]: 81: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,644 INFO L273 TraceCheckUtils]: 82: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,644 INFO L273 TraceCheckUtils]: 83: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,644 INFO L273 TraceCheckUtils]: 84: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,644 INFO L273 TraceCheckUtils]: 85: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,644 INFO L273 TraceCheckUtils]: 86: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,644 INFO L273 TraceCheckUtils]: 87: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,645 INFO L273 TraceCheckUtils]: 88: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,645 INFO L273 TraceCheckUtils]: 89: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,645 INFO L273 TraceCheckUtils]: 90: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,645 INFO L273 TraceCheckUtils]: 91: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,645 INFO L273 TraceCheckUtils]: 92: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,645 INFO L273 TraceCheckUtils]: 93: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,646 INFO L273 TraceCheckUtils]: 94: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,646 INFO L273 TraceCheckUtils]: 95: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,646 INFO L273 TraceCheckUtils]: 96: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,646 INFO L273 TraceCheckUtils]: 97: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,646 INFO L273 TraceCheckUtils]: 98: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,646 INFO L273 TraceCheckUtils]: 99: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,646 INFO L273 TraceCheckUtils]: 100: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,646 INFO L273 TraceCheckUtils]: 101: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,646 INFO L273 TraceCheckUtils]: 102: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,647 INFO L273 TraceCheckUtils]: 103: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,647 INFO L273 TraceCheckUtils]: 104: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,647 INFO L273 TraceCheckUtils]: 105: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,647 INFO L273 TraceCheckUtils]: 106: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,647 INFO L273 TraceCheckUtils]: 107: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,647 INFO L273 TraceCheckUtils]: 108: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,647 INFO L273 TraceCheckUtils]: 109: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,647 INFO L273 TraceCheckUtils]: 110: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,647 INFO L273 TraceCheckUtils]: 111: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,648 INFO L273 TraceCheckUtils]: 112: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,648 INFO L273 TraceCheckUtils]: 113: Hoare triple {10140#true} assume !(~i~0 < 10); {10140#true} is VALID [2018-11-18 23:08:14,648 INFO L273 TraceCheckUtils]: 114: Hoare triple {10140#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {10140#true} is VALID [2018-11-18 23:08:14,648 INFO L273 TraceCheckUtils]: 115: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,648 INFO L268 TraceCheckUtils]: 116: Hoare quadruple {10140#true} {10141#false} #80#return; {10141#false} is VALID [2018-11-18 23:08:14,648 INFO L273 TraceCheckUtils]: 117: Hoare triple {10141#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; {10141#false} is VALID [2018-11-18 23:08:14,648 INFO L273 TraceCheckUtils]: 118: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:14,648 INFO L273 TraceCheckUtils]: 119: Hoare triple {10141#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10141#false} is VALID [2018-11-18 23:08:14,649 INFO L273 TraceCheckUtils]: 120: Hoare triple {10141#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10141#false} is VALID [2018-11-18 23:08:14,649 INFO L273 TraceCheckUtils]: 121: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:14,649 INFO L273 TraceCheckUtils]: 122: Hoare triple {10141#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10141#false} is VALID [2018-11-18 23:08:14,649 INFO L273 TraceCheckUtils]: 123: Hoare triple {10141#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10141#false} is VALID [2018-11-18 23:08:14,649 INFO L273 TraceCheckUtils]: 124: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:14,649 INFO L273 TraceCheckUtils]: 125: Hoare triple {10141#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10141#false} is VALID [2018-11-18 23:08:14,649 INFO L273 TraceCheckUtils]: 126: Hoare triple {10141#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10141#false} is VALID [2018-11-18 23:08:14,649 INFO L273 TraceCheckUtils]: 127: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:14,649 INFO L273 TraceCheckUtils]: 128: Hoare triple {10141#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10141#false} is VALID [2018-11-18 23:08:14,650 INFO L273 TraceCheckUtils]: 129: Hoare triple {10141#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10141#false} is VALID [2018-11-18 23:08:14,650 INFO L273 TraceCheckUtils]: 130: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:14,650 INFO L273 TraceCheckUtils]: 131: Hoare triple {10141#false} assume !(~i~2 < 9); {10141#false} is VALID [2018-11-18 23:08:14,650 INFO L273 TraceCheckUtils]: 132: Hoare triple {10141#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {10141#false} is VALID [2018-11-18 23:08:14,650 INFO L256 TraceCheckUtils]: 133: Hoare triple {10141#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {10140#true} is VALID [2018-11-18 23:08:14,650 INFO L273 TraceCheckUtils]: 134: Hoare triple {10140#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {10140#true} is VALID [2018-11-18 23:08:14,650 INFO L273 TraceCheckUtils]: 135: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,650 INFO L273 TraceCheckUtils]: 136: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,650 INFO L273 TraceCheckUtils]: 137: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,651 INFO L273 TraceCheckUtils]: 138: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,651 INFO L273 TraceCheckUtils]: 139: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,651 INFO L273 TraceCheckUtils]: 140: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,651 INFO L273 TraceCheckUtils]: 141: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,651 INFO L273 TraceCheckUtils]: 142: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,651 INFO L273 TraceCheckUtils]: 143: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,651 INFO L273 TraceCheckUtils]: 144: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,651 INFO L273 TraceCheckUtils]: 145: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,651 INFO L273 TraceCheckUtils]: 146: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,652 INFO L273 TraceCheckUtils]: 147: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,652 INFO L273 TraceCheckUtils]: 148: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,652 INFO L273 TraceCheckUtils]: 149: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,652 INFO L273 TraceCheckUtils]: 150: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,652 INFO L273 TraceCheckUtils]: 151: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,652 INFO L273 TraceCheckUtils]: 152: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,652 INFO L273 TraceCheckUtils]: 153: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,652 INFO L273 TraceCheckUtils]: 154: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,653 INFO L273 TraceCheckUtils]: 155: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,653 INFO L273 TraceCheckUtils]: 156: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,653 INFO L273 TraceCheckUtils]: 157: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,653 INFO L273 TraceCheckUtils]: 158: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,653 INFO L273 TraceCheckUtils]: 159: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,653 INFO L273 TraceCheckUtils]: 160: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,654 INFO L273 TraceCheckUtils]: 161: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,654 INFO L273 TraceCheckUtils]: 162: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,654 INFO L273 TraceCheckUtils]: 163: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,654 INFO L273 TraceCheckUtils]: 164: Hoare triple {10140#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10140#true} is VALID [2018-11-18 23:08:14,654 INFO L273 TraceCheckUtils]: 165: Hoare triple {10140#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10140#true} is VALID [2018-11-18 23:08:14,654 INFO L273 TraceCheckUtils]: 166: Hoare triple {10140#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10140#true} is VALID [2018-11-18 23:08:14,655 INFO L273 TraceCheckUtils]: 167: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,655 INFO L273 TraceCheckUtils]: 168: Hoare triple {10140#true} assume !(~i~0 < 10); {10140#true} is VALID [2018-11-18 23:08:14,655 INFO L273 TraceCheckUtils]: 169: Hoare triple {10140#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {10140#true} is VALID [2018-11-18 23:08:14,655 INFO L273 TraceCheckUtils]: 170: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:14,655 INFO L268 TraceCheckUtils]: 171: Hoare quadruple {10140#true} {10141#false} #82#return; {10141#false} is VALID [2018-11-18 23:08:14,655 INFO L273 TraceCheckUtils]: 172: Hoare triple {10141#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {10141#false} is VALID [2018-11-18 23:08:14,656 INFO L273 TraceCheckUtils]: 173: Hoare triple {10141#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {10141#false} is VALID [2018-11-18 23:08:14,656 INFO L273 TraceCheckUtils]: 174: Hoare triple {10141#false} assume !false; {10141#false} is VALID [2018-11-18 23:08:14,673 INFO L134 CoverageAnalysis]: Checked inductivity of 1447 backedges. 0 proven. 714 refuted. 0 times theorem prover too weak. 733 trivial. 0 not checked. [2018-11-18 23:08:14,673 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:14,673 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-18 23:08:14,687 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:08:14,772 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-18 23:08:14,772 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:08:14,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:14,811 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:15,035 INFO L256 TraceCheckUtils]: 0: Hoare triple {10140#true} call ULTIMATE.init(); {10140#true} is VALID [2018-11-18 23:08:15,036 INFO L273 TraceCheckUtils]: 1: Hoare triple {10140#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {10140#true} is VALID [2018-11-18 23:08:15,036 INFO L273 TraceCheckUtils]: 2: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:15,036 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10140#true} {10140#true} #74#return; {10140#true} is VALID [2018-11-18 23:08:15,036 INFO L256 TraceCheckUtils]: 4: Hoare triple {10140#true} call #t~ret14 := main(); {10140#true} is VALID [2018-11-18 23:08:15,037 INFO L273 TraceCheckUtils]: 5: Hoare triple {10140#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {10140#true} is VALID [2018-11-18 23:08:15,037 INFO L273 TraceCheckUtils]: 6: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:15,037 INFO L273 TraceCheckUtils]: 7: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:15,037 INFO L273 TraceCheckUtils]: 8: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:15,037 INFO L273 TraceCheckUtils]: 9: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:15,037 INFO L273 TraceCheckUtils]: 10: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:15,037 INFO L273 TraceCheckUtils]: 11: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:15,038 INFO L273 TraceCheckUtils]: 12: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:15,038 INFO L273 TraceCheckUtils]: 13: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:15,038 INFO L273 TraceCheckUtils]: 14: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:15,038 INFO L273 TraceCheckUtils]: 15: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:15,038 INFO L273 TraceCheckUtils]: 16: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:15,038 INFO L273 TraceCheckUtils]: 17: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:15,038 INFO L273 TraceCheckUtils]: 18: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:15,038 INFO L273 TraceCheckUtils]: 19: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:15,038 INFO L273 TraceCheckUtils]: 20: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:15,039 INFO L273 TraceCheckUtils]: 21: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:15,039 INFO L273 TraceCheckUtils]: 22: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:15,039 INFO L273 TraceCheckUtils]: 23: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:15,039 INFO L273 TraceCheckUtils]: 24: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:15,039 INFO L273 TraceCheckUtils]: 25: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:15,039 INFO L273 TraceCheckUtils]: 26: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:15,039 INFO L273 TraceCheckUtils]: 27: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:15,039 INFO L273 TraceCheckUtils]: 28: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:15,040 INFO L273 TraceCheckUtils]: 29: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:15,040 INFO L273 TraceCheckUtils]: 30: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:15,040 INFO L273 TraceCheckUtils]: 31: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:15,040 INFO L273 TraceCheckUtils]: 32: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:15,040 INFO L273 TraceCheckUtils]: 33: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:15,040 INFO L273 TraceCheckUtils]: 34: Hoare triple {10140#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {10140#true} is VALID [2018-11-18 23:08:15,040 INFO L273 TraceCheckUtils]: 35: Hoare triple {10140#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {10140#true} is VALID [2018-11-18 23:08:15,040 INFO L273 TraceCheckUtils]: 36: Hoare triple {10140#true} assume true; {10140#true} is VALID [2018-11-18 23:08:15,040 INFO L273 TraceCheckUtils]: 37: Hoare triple {10140#true} assume !(~i~1 < 10); {10140#true} is VALID [2018-11-18 23:08:15,041 INFO L256 TraceCheckUtils]: 38: Hoare triple {10140#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {10140#true} is VALID [2018-11-18 23:08:15,041 INFO L273 TraceCheckUtils]: 39: Hoare triple {10140#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {10271#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:15,041 INFO L273 TraceCheckUtils]: 40: Hoare triple {10271#(<= sep_~i~0 0)} assume true; {10271#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:15,042 INFO L273 TraceCheckUtils]: 41: Hoare triple {10271#(<= sep_~i~0 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10271#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:15,042 INFO L273 TraceCheckUtils]: 42: Hoare triple {10271#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10271#(<= sep_~i~0 0)} is VALID [2018-11-18 23:08:15,043 INFO L273 TraceCheckUtils]: 43: Hoare triple {10271#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10143#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:15,043 INFO L273 TraceCheckUtils]: 44: Hoare triple {10143#(<= sep_~i~0 1)} assume true; {10143#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:15,043 INFO L273 TraceCheckUtils]: 45: Hoare triple {10143#(<= sep_~i~0 1)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10143#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:15,044 INFO L273 TraceCheckUtils]: 46: Hoare triple {10143#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10143#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:15,044 INFO L273 TraceCheckUtils]: 47: Hoare triple {10143#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10144#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:15,044 INFO L273 TraceCheckUtils]: 48: Hoare triple {10144#(<= sep_~i~0 2)} assume true; {10144#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:15,045 INFO L273 TraceCheckUtils]: 49: Hoare triple {10144#(<= sep_~i~0 2)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10144#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:15,045 INFO L273 TraceCheckUtils]: 50: Hoare triple {10144#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10144#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:15,045 INFO L273 TraceCheckUtils]: 51: Hoare triple {10144#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10145#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:15,046 INFO L273 TraceCheckUtils]: 52: Hoare triple {10145#(<= sep_~i~0 3)} assume true; {10145#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:15,047 INFO L273 TraceCheckUtils]: 53: Hoare triple {10145#(<= sep_~i~0 3)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10145#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:15,047 INFO L273 TraceCheckUtils]: 54: Hoare triple {10145#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10145#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:15,048 INFO L273 TraceCheckUtils]: 55: Hoare triple {10145#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10146#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:15,048 INFO L273 TraceCheckUtils]: 56: Hoare triple {10146#(<= sep_~i~0 4)} assume true; {10146#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:15,049 INFO L273 TraceCheckUtils]: 57: Hoare triple {10146#(<= sep_~i~0 4)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10146#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:15,049 INFO L273 TraceCheckUtils]: 58: Hoare triple {10146#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10146#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:15,050 INFO L273 TraceCheckUtils]: 59: Hoare triple {10146#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10147#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:15,051 INFO L273 TraceCheckUtils]: 60: Hoare triple {10147#(<= sep_~i~0 5)} assume true; {10147#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:15,051 INFO L273 TraceCheckUtils]: 61: Hoare triple {10147#(<= sep_~i~0 5)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10147#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:15,052 INFO L273 TraceCheckUtils]: 62: Hoare triple {10147#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10147#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:15,052 INFO L273 TraceCheckUtils]: 63: Hoare triple {10147#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10148#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:15,053 INFO L273 TraceCheckUtils]: 64: Hoare triple {10148#(<= sep_~i~0 6)} assume true; {10148#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:15,054 INFO L273 TraceCheckUtils]: 65: Hoare triple {10148#(<= sep_~i~0 6)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10148#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:15,054 INFO L273 TraceCheckUtils]: 66: Hoare triple {10148#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10148#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:15,055 INFO L273 TraceCheckUtils]: 67: Hoare triple {10148#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10149#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:15,055 INFO L273 TraceCheckUtils]: 68: Hoare triple {10149#(<= sep_~i~0 7)} assume true; {10149#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:15,056 INFO L273 TraceCheckUtils]: 69: Hoare triple {10149#(<= sep_~i~0 7)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10149#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:15,056 INFO L273 TraceCheckUtils]: 70: Hoare triple {10149#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10149#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:15,057 INFO L273 TraceCheckUtils]: 71: Hoare triple {10149#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10150#(<= sep_~i~0 8)} is VALID [2018-11-18 23:08:15,058 INFO L273 TraceCheckUtils]: 72: Hoare triple {10150#(<= sep_~i~0 8)} assume true; {10150#(<= sep_~i~0 8)} is VALID [2018-11-18 23:08:15,058 INFO L273 TraceCheckUtils]: 73: Hoare triple {10150#(<= sep_~i~0 8)} assume !(~i~0 < 10); {10141#false} is VALID [2018-11-18 23:08:15,059 INFO L273 TraceCheckUtils]: 74: Hoare triple {10141#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {10141#false} is VALID [2018-11-18 23:08:15,059 INFO L273 TraceCheckUtils]: 75: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,059 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {10141#false} {10140#true} #78#return; {10141#false} is VALID [2018-11-18 23:08:15,059 INFO L273 TraceCheckUtils]: 77: Hoare triple {10141#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); {10141#false} is VALID [2018-11-18 23:08:15,059 INFO L256 TraceCheckUtils]: 78: Hoare triple {10141#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {10141#false} is VALID [2018-11-18 23:08:15,060 INFO L273 TraceCheckUtils]: 79: Hoare triple {10141#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {10141#false} is VALID [2018-11-18 23:08:15,060 INFO L273 TraceCheckUtils]: 80: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,060 INFO L273 TraceCheckUtils]: 81: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,060 INFO L273 TraceCheckUtils]: 82: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,060 INFO L273 TraceCheckUtils]: 83: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,061 INFO L273 TraceCheckUtils]: 84: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,061 INFO L273 TraceCheckUtils]: 85: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,061 INFO L273 TraceCheckUtils]: 86: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,061 INFO L273 TraceCheckUtils]: 87: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,061 INFO L273 TraceCheckUtils]: 88: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,061 INFO L273 TraceCheckUtils]: 89: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,061 INFO L273 TraceCheckUtils]: 90: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,062 INFO L273 TraceCheckUtils]: 91: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,062 INFO L273 TraceCheckUtils]: 92: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,062 INFO L273 TraceCheckUtils]: 93: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,062 INFO L273 TraceCheckUtils]: 94: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,062 INFO L273 TraceCheckUtils]: 95: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,062 INFO L273 TraceCheckUtils]: 96: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,062 INFO L273 TraceCheckUtils]: 97: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,062 INFO L273 TraceCheckUtils]: 98: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,063 INFO L273 TraceCheckUtils]: 99: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,063 INFO L273 TraceCheckUtils]: 100: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,063 INFO L273 TraceCheckUtils]: 101: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,063 INFO L273 TraceCheckUtils]: 102: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,063 INFO L273 TraceCheckUtils]: 103: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,063 INFO L273 TraceCheckUtils]: 104: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,063 INFO L273 TraceCheckUtils]: 105: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,063 INFO L273 TraceCheckUtils]: 106: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,063 INFO L273 TraceCheckUtils]: 107: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,064 INFO L273 TraceCheckUtils]: 108: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,064 INFO L273 TraceCheckUtils]: 109: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,064 INFO L273 TraceCheckUtils]: 110: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,064 INFO L273 TraceCheckUtils]: 111: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,064 INFO L273 TraceCheckUtils]: 112: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,064 INFO L273 TraceCheckUtils]: 113: Hoare triple {10141#false} assume !(~i~0 < 10); {10141#false} is VALID [2018-11-18 23:08:15,064 INFO L273 TraceCheckUtils]: 114: Hoare triple {10141#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {10141#false} is VALID [2018-11-18 23:08:15,064 INFO L273 TraceCheckUtils]: 115: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,064 INFO L268 TraceCheckUtils]: 116: Hoare quadruple {10141#false} {10141#false} #80#return; {10141#false} is VALID [2018-11-18 23:08:15,065 INFO L273 TraceCheckUtils]: 117: Hoare triple {10141#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; {10141#false} is VALID [2018-11-18 23:08:15,065 INFO L273 TraceCheckUtils]: 118: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,065 INFO L273 TraceCheckUtils]: 119: Hoare triple {10141#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10141#false} is VALID [2018-11-18 23:08:15,065 INFO L273 TraceCheckUtils]: 120: Hoare triple {10141#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10141#false} is VALID [2018-11-18 23:08:15,065 INFO L273 TraceCheckUtils]: 121: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,065 INFO L273 TraceCheckUtils]: 122: Hoare triple {10141#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10141#false} is VALID [2018-11-18 23:08:15,065 INFO L273 TraceCheckUtils]: 123: Hoare triple {10141#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10141#false} is VALID [2018-11-18 23:08:15,065 INFO L273 TraceCheckUtils]: 124: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,065 INFO L273 TraceCheckUtils]: 125: Hoare triple {10141#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10141#false} is VALID [2018-11-18 23:08:15,066 INFO L273 TraceCheckUtils]: 126: Hoare triple {10141#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10141#false} is VALID [2018-11-18 23:08:15,066 INFO L273 TraceCheckUtils]: 127: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,066 INFO L273 TraceCheckUtils]: 128: Hoare triple {10141#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {10141#false} is VALID [2018-11-18 23:08:15,066 INFO L273 TraceCheckUtils]: 129: Hoare triple {10141#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {10141#false} is VALID [2018-11-18 23:08:15,066 INFO L273 TraceCheckUtils]: 130: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,066 INFO L273 TraceCheckUtils]: 131: Hoare triple {10141#false} assume !(~i~2 < 9); {10141#false} is VALID [2018-11-18 23:08:15,066 INFO L273 TraceCheckUtils]: 132: Hoare triple {10141#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {10141#false} is VALID [2018-11-18 23:08:15,067 INFO L256 TraceCheckUtils]: 133: Hoare triple {10141#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {10141#false} is VALID [2018-11-18 23:08:15,067 INFO L273 TraceCheckUtils]: 134: Hoare triple {10141#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {10141#false} is VALID [2018-11-18 23:08:15,067 INFO L273 TraceCheckUtils]: 135: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,067 INFO L273 TraceCheckUtils]: 136: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,067 INFO L273 TraceCheckUtils]: 137: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,067 INFO L273 TraceCheckUtils]: 138: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,067 INFO L273 TraceCheckUtils]: 139: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,067 INFO L273 TraceCheckUtils]: 140: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,067 INFO L273 TraceCheckUtils]: 141: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,068 INFO L273 TraceCheckUtils]: 142: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,068 INFO L273 TraceCheckUtils]: 143: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,068 INFO L273 TraceCheckUtils]: 144: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,068 INFO L273 TraceCheckUtils]: 145: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,068 INFO L273 TraceCheckUtils]: 146: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,068 INFO L273 TraceCheckUtils]: 147: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,068 INFO L273 TraceCheckUtils]: 148: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,068 INFO L273 TraceCheckUtils]: 149: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,068 INFO L273 TraceCheckUtils]: 150: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,069 INFO L273 TraceCheckUtils]: 151: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,069 INFO L273 TraceCheckUtils]: 152: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,069 INFO L273 TraceCheckUtils]: 153: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,069 INFO L273 TraceCheckUtils]: 154: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,069 INFO L273 TraceCheckUtils]: 155: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,069 INFO L273 TraceCheckUtils]: 156: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,069 INFO L273 TraceCheckUtils]: 157: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,069 INFO L273 TraceCheckUtils]: 158: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,070 INFO L273 TraceCheckUtils]: 159: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,070 INFO L273 TraceCheckUtils]: 160: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,070 INFO L273 TraceCheckUtils]: 161: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,070 INFO L273 TraceCheckUtils]: 162: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,070 INFO L273 TraceCheckUtils]: 163: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,070 INFO L273 TraceCheckUtils]: 164: Hoare triple {10141#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {10141#false} is VALID [2018-11-18 23:08:15,070 INFO L273 TraceCheckUtils]: 165: Hoare triple {10141#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {10141#false} is VALID [2018-11-18 23:08:15,070 INFO L273 TraceCheckUtils]: 166: Hoare triple {10141#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10141#false} is VALID [2018-11-18 23:08:15,070 INFO L273 TraceCheckUtils]: 167: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,071 INFO L273 TraceCheckUtils]: 168: Hoare triple {10141#false} assume !(~i~0 < 10); {10141#false} is VALID [2018-11-18 23:08:15,071 INFO L273 TraceCheckUtils]: 169: Hoare triple {10141#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {10141#false} is VALID [2018-11-18 23:08:15,071 INFO L273 TraceCheckUtils]: 170: Hoare triple {10141#false} assume true; {10141#false} is VALID [2018-11-18 23:08:15,071 INFO L268 TraceCheckUtils]: 171: Hoare quadruple {10141#false} {10141#false} #82#return; {10141#false} is VALID [2018-11-18 23:08:15,071 INFO L273 TraceCheckUtils]: 172: Hoare triple {10141#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {10141#false} is VALID [2018-11-18 23:08:15,071 INFO L273 TraceCheckUtils]: 173: Hoare triple {10141#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {10141#false} is VALID [2018-11-18 23:08:15,071 INFO L273 TraceCheckUtils]: 174: Hoare triple {10141#false} assume !false; {10141#false} is VALID [2018-11-18 23:08:15,086 INFO L134 CoverageAnalysis]: Checked inductivity of 1447 backedges. 582 proven. 128 refuted. 0 times theorem prover too weak. 737 trivial. 0 not checked. [2018-11-18 23:08:15,105 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:15,105 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 12 [2018-11-18 23:08:15,106 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 175 [2018-11-18 23:08:15,106 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:15,107 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-18 23:08:15,188 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-18 23:08:15,188 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-18 23:08:15,188 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-18 23:08:15,188 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-18 23:08:15,189 INFO L87 Difference]: Start difference. First operand 100 states and 112 transitions. Second operand 12 states. [2018-11-18 23:08:15,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:15,489 INFO L93 Difference]: Finished difference Result 167 states and 195 transitions. [2018-11-18 23:08:15,489 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-18 23:08:15,489 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 175 [2018-11-18 23:08:15,490 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:15,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-18 23:08:15,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 107 transitions. [2018-11-18 23:08:15,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-18 23:08:15,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 107 transitions. [2018-11-18 23:08:15,493 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 107 transitions. [2018-11-18 23:08:15,605 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-18 23:08:15,608 INFO L225 Difference]: With dead ends: 167 [2018-11-18 23:08:15,608 INFO L226 Difference]: Without dead ends: 106 [2018-11-18 23:08:15,609 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 175 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-18 23:08:15,609 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2018-11-18 23:08:15,733 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 104. [2018-11-18 23:08:15,734 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:15,734 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand 104 states. [2018-11-18 23:08:15,734 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 104 states. [2018-11-18 23:08:15,734 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 104 states. [2018-11-18 23:08:15,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:15,737 INFO L93 Difference]: Finished difference Result 106 states and 120 transitions. [2018-11-18 23:08:15,737 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 120 transitions. [2018-11-18 23:08:15,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:15,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:15,738 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 106 states. [2018-11-18 23:08:15,738 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 106 states. [2018-11-18 23:08:15,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:15,741 INFO L93 Difference]: Finished difference Result 106 states and 120 transitions. [2018-11-18 23:08:15,741 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 120 transitions. [2018-11-18 23:08:15,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:15,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:15,742 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:15,742 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:15,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 104 states. [2018-11-18 23:08:15,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 117 transitions. [2018-11-18 23:08:15,744 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 117 transitions. Word has length 175 [2018-11-18 23:08:15,744 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:15,744 INFO L480 AbstractCegarLoop]: Abstraction has 104 states and 117 transitions. [2018-11-18 23:08:15,744 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-18 23:08:15,744 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 117 transitions. [2018-11-18 23:08:15,745 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 188 [2018-11-18 23:08:15,746 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:15,746 INFO L375 BasicCegarLoop]: trace histogram [30, 27, 27, 27, 11, 10, 10, 5, 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-18 23:08:15,746 INFO L423 AbstractCegarLoop]: === Iteration 19 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:15,746 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:15,747 INFO L82 PathProgramCache]: Analyzing trace with hash -42774173, now seen corresponding path program 15 times [2018-11-18 23:08:15,747 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:15,747 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:15,747 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:15,748 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:08:15,748 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:15,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:16,022 INFO L256 TraceCheckUtils]: 0: Hoare triple {11244#true} call ULTIMATE.init(); {11244#true} is VALID [2018-11-18 23:08:16,022 INFO L273 TraceCheckUtils]: 1: Hoare triple {11244#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {11244#true} is VALID [2018-11-18 23:08:16,022 INFO L273 TraceCheckUtils]: 2: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,023 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11244#true} {11244#true} #74#return; {11244#true} is VALID [2018-11-18 23:08:16,023 INFO L256 TraceCheckUtils]: 4: Hoare triple {11244#true} call #t~ret14 := main(); {11244#true} is VALID [2018-11-18 23:08:16,023 INFO L273 TraceCheckUtils]: 5: Hoare triple {11244#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {11244#true} is VALID [2018-11-18 23:08:16,023 INFO L273 TraceCheckUtils]: 6: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,023 INFO L273 TraceCheckUtils]: 7: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,024 INFO L273 TraceCheckUtils]: 8: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,024 INFO L273 TraceCheckUtils]: 9: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,024 INFO L273 TraceCheckUtils]: 10: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,024 INFO L273 TraceCheckUtils]: 11: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,024 INFO L273 TraceCheckUtils]: 12: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,042 INFO L273 TraceCheckUtils]: 13: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,042 INFO L273 TraceCheckUtils]: 14: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,043 INFO L273 TraceCheckUtils]: 15: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,043 INFO L273 TraceCheckUtils]: 16: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,043 INFO L273 TraceCheckUtils]: 17: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,043 INFO L273 TraceCheckUtils]: 18: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,043 INFO L273 TraceCheckUtils]: 19: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,043 INFO L273 TraceCheckUtils]: 20: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,044 INFO L273 TraceCheckUtils]: 21: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,044 INFO L273 TraceCheckUtils]: 22: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,044 INFO L273 TraceCheckUtils]: 23: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,044 INFO L273 TraceCheckUtils]: 24: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,044 INFO L273 TraceCheckUtils]: 25: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,044 INFO L273 TraceCheckUtils]: 26: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,044 INFO L273 TraceCheckUtils]: 27: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,045 INFO L273 TraceCheckUtils]: 28: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,045 INFO L273 TraceCheckUtils]: 29: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,045 INFO L273 TraceCheckUtils]: 30: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,046 INFO L273 TraceCheckUtils]: 31: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,046 INFO L273 TraceCheckUtils]: 32: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,046 INFO L273 TraceCheckUtils]: 33: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,046 INFO L273 TraceCheckUtils]: 34: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,046 INFO L273 TraceCheckUtils]: 35: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,046 INFO L273 TraceCheckUtils]: 36: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,047 INFO L273 TraceCheckUtils]: 37: Hoare triple {11244#true} assume !(~i~1 < 10); {11244#true} is VALID [2018-11-18 23:08:16,047 INFO L256 TraceCheckUtils]: 38: Hoare triple {11244#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {11244#true} is VALID [2018-11-18 23:08:16,052 INFO L273 TraceCheckUtils]: 39: Hoare triple {11244#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11246#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:16,054 INFO L273 TraceCheckUtils]: 40: Hoare triple {11246#(= sep_~i~0 0)} assume true; {11246#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:16,054 INFO L273 TraceCheckUtils]: 41: Hoare triple {11246#(= sep_~i~0 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11246#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:16,056 INFO L273 TraceCheckUtils]: 42: Hoare triple {11246#(= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11246#(= sep_~i~0 0)} is VALID [2018-11-18 23:08:16,056 INFO L273 TraceCheckUtils]: 43: Hoare triple {11246#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11247#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:16,058 INFO L273 TraceCheckUtils]: 44: Hoare triple {11247#(<= sep_~i~0 1)} assume true; {11247#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:16,058 INFO L273 TraceCheckUtils]: 45: Hoare triple {11247#(<= sep_~i~0 1)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11247#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:16,060 INFO L273 TraceCheckUtils]: 46: Hoare triple {11247#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11247#(<= sep_~i~0 1)} is VALID [2018-11-18 23:08:16,060 INFO L273 TraceCheckUtils]: 47: Hoare triple {11247#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11248#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:16,062 INFO L273 TraceCheckUtils]: 48: Hoare triple {11248#(<= sep_~i~0 2)} assume true; {11248#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:16,062 INFO L273 TraceCheckUtils]: 49: Hoare triple {11248#(<= sep_~i~0 2)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11248#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:16,064 INFO L273 TraceCheckUtils]: 50: Hoare triple {11248#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11248#(<= sep_~i~0 2)} is VALID [2018-11-18 23:08:16,064 INFO L273 TraceCheckUtils]: 51: Hoare triple {11248#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11249#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:16,066 INFO L273 TraceCheckUtils]: 52: Hoare triple {11249#(<= sep_~i~0 3)} assume true; {11249#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:16,066 INFO L273 TraceCheckUtils]: 53: Hoare triple {11249#(<= sep_~i~0 3)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11249#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:16,066 INFO L273 TraceCheckUtils]: 54: Hoare triple {11249#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11249#(<= sep_~i~0 3)} is VALID [2018-11-18 23:08:16,067 INFO L273 TraceCheckUtils]: 55: Hoare triple {11249#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11250#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:16,067 INFO L273 TraceCheckUtils]: 56: Hoare triple {11250#(<= sep_~i~0 4)} assume true; {11250#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:16,067 INFO L273 TraceCheckUtils]: 57: Hoare triple {11250#(<= sep_~i~0 4)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11250#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:16,068 INFO L273 TraceCheckUtils]: 58: Hoare triple {11250#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11250#(<= sep_~i~0 4)} is VALID [2018-11-18 23:08:16,068 INFO L273 TraceCheckUtils]: 59: Hoare triple {11250#(<= sep_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11251#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:16,068 INFO L273 TraceCheckUtils]: 60: Hoare triple {11251#(<= sep_~i~0 5)} assume true; {11251#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:16,069 INFO L273 TraceCheckUtils]: 61: Hoare triple {11251#(<= sep_~i~0 5)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11251#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:16,069 INFO L273 TraceCheckUtils]: 62: Hoare triple {11251#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11251#(<= sep_~i~0 5)} is VALID [2018-11-18 23:08:16,070 INFO L273 TraceCheckUtils]: 63: Hoare triple {11251#(<= sep_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11252#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:16,070 INFO L273 TraceCheckUtils]: 64: Hoare triple {11252#(<= sep_~i~0 6)} assume true; {11252#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:16,071 INFO L273 TraceCheckUtils]: 65: Hoare triple {11252#(<= sep_~i~0 6)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11252#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:16,071 INFO L273 TraceCheckUtils]: 66: Hoare triple {11252#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11252#(<= sep_~i~0 6)} is VALID [2018-11-18 23:08:16,072 INFO L273 TraceCheckUtils]: 67: Hoare triple {11252#(<= sep_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11253#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:16,072 INFO L273 TraceCheckUtils]: 68: Hoare triple {11253#(<= sep_~i~0 7)} assume true; {11253#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:16,073 INFO L273 TraceCheckUtils]: 69: Hoare triple {11253#(<= sep_~i~0 7)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11253#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:16,074 INFO L273 TraceCheckUtils]: 70: Hoare triple {11253#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11253#(<= sep_~i~0 7)} is VALID [2018-11-18 23:08:16,074 INFO L273 TraceCheckUtils]: 71: Hoare triple {11253#(<= sep_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11254#(<= sep_~i~0 8)} is VALID [2018-11-18 23:08:16,075 INFO L273 TraceCheckUtils]: 72: Hoare triple {11254#(<= sep_~i~0 8)} assume true; {11254#(<= sep_~i~0 8)} is VALID [2018-11-18 23:08:16,075 INFO L273 TraceCheckUtils]: 73: Hoare triple {11254#(<= sep_~i~0 8)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11254#(<= sep_~i~0 8)} is VALID [2018-11-18 23:08:16,076 INFO L273 TraceCheckUtils]: 74: Hoare triple {11254#(<= 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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11254#(<= sep_~i~0 8)} is VALID [2018-11-18 23:08:16,077 INFO L273 TraceCheckUtils]: 75: Hoare triple {11254#(<= sep_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11255#(<= sep_~i~0 9)} is VALID [2018-11-18 23:08:16,077 INFO L273 TraceCheckUtils]: 76: Hoare triple {11255#(<= sep_~i~0 9)} assume true; {11255#(<= sep_~i~0 9)} is VALID [2018-11-18 23:08:16,078 INFO L273 TraceCheckUtils]: 77: Hoare triple {11255#(<= sep_~i~0 9)} assume !(~i~0 < 10); {11245#false} is VALID [2018-11-18 23:08:16,078 INFO L273 TraceCheckUtils]: 78: Hoare triple {11245#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11245#false} is VALID [2018-11-18 23:08:16,078 INFO L273 TraceCheckUtils]: 79: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,078 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {11245#false} {11244#true} #78#return; {11245#false} is VALID [2018-11-18 23:08:16,079 INFO L273 TraceCheckUtils]: 81: Hoare triple {11245#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); {11245#false} is VALID [2018-11-18 23:08:16,079 INFO L256 TraceCheckUtils]: 82: Hoare triple {11245#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {11244#true} is VALID [2018-11-18 23:08:16,079 INFO L273 TraceCheckUtils]: 83: Hoare triple {11244#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11244#true} is VALID [2018-11-18 23:08:16,079 INFO L273 TraceCheckUtils]: 84: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,079 INFO L273 TraceCheckUtils]: 85: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,080 INFO L273 TraceCheckUtils]: 86: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,080 INFO L273 TraceCheckUtils]: 87: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,080 INFO L273 TraceCheckUtils]: 88: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,080 INFO L273 TraceCheckUtils]: 89: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,080 INFO L273 TraceCheckUtils]: 90: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,081 INFO L273 TraceCheckUtils]: 91: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,081 INFO L273 TraceCheckUtils]: 92: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,081 INFO L273 TraceCheckUtils]: 93: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,081 INFO L273 TraceCheckUtils]: 94: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,081 INFO L273 TraceCheckUtils]: 95: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,081 INFO L273 TraceCheckUtils]: 96: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,081 INFO L273 TraceCheckUtils]: 97: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,082 INFO L273 TraceCheckUtils]: 98: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,082 INFO L273 TraceCheckUtils]: 99: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,082 INFO L273 TraceCheckUtils]: 100: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,082 INFO L273 TraceCheckUtils]: 101: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,082 INFO L273 TraceCheckUtils]: 102: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,082 INFO L273 TraceCheckUtils]: 103: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,082 INFO L273 TraceCheckUtils]: 104: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,082 INFO L273 TraceCheckUtils]: 105: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,082 INFO L273 TraceCheckUtils]: 106: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,083 INFO L273 TraceCheckUtils]: 107: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,083 INFO L273 TraceCheckUtils]: 108: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,083 INFO L273 TraceCheckUtils]: 109: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,083 INFO L273 TraceCheckUtils]: 110: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,083 INFO L273 TraceCheckUtils]: 111: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,083 INFO L273 TraceCheckUtils]: 112: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,083 INFO L273 TraceCheckUtils]: 113: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,083 INFO L273 TraceCheckUtils]: 114: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,084 INFO L273 TraceCheckUtils]: 115: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,084 INFO L273 TraceCheckUtils]: 116: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,084 INFO L273 TraceCheckUtils]: 117: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,084 INFO L273 TraceCheckUtils]: 118: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,084 INFO L273 TraceCheckUtils]: 119: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,084 INFO L273 TraceCheckUtils]: 120: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,084 INFO L273 TraceCheckUtils]: 121: Hoare triple {11244#true} assume !(~i~0 < 10); {11244#true} is VALID [2018-11-18 23:08:16,084 INFO L273 TraceCheckUtils]: 122: Hoare triple {11244#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11244#true} is VALID [2018-11-18 23:08:16,084 INFO L273 TraceCheckUtils]: 123: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,085 INFO L268 TraceCheckUtils]: 124: Hoare quadruple {11244#true} {11245#false} #80#return; {11245#false} is VALID [2018-11-18 23:08:16,085 INFO L273 TraceCheckUtils]: 125: Hoare triple {11245#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; {11245#false} is VALID [2018-11-18 23:08:16,085 INFO L273 TraceCheckUtils]: 126: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,085 INFO L273 TraceCheckUtils]: 127: Hoare triple {11245#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11245#false} is VALID [2018-11-18 23:08:16,085 INFO L273 TraceCheckUtils]: 128: Hoare triple {11245#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11245#false} is VALID [2018-11-18 23:08:16,085 INFO L273 TraceCheckUtils]: 129: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,085 INFO L273 TraceCheckUtils]: 130: Hoare triple {11245#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11245#false} is VALID [2018-11-18 23:08:16,085 INFO L273 TraceCheckUtils]: 131: Hoare triple {11245#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11245#false} is VALID [2018-11-18 23:08:16,085 INFO L273 TraceCheckUtils]: 132: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,086 INFO L273 TraceCheckUtils]: 133: Hoare triple {11245#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11245#false} is VALID [2018-11-18 23:08:16,086 INFO L273 TraceCheckUtils]: 134: Hoare triple {11245#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11245#false} is VALID [2018-11-18 23:08:16,086 INFO L273 TraceCheckUtils]: 135: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,086 INFO L273 TraceCheckUtils]: 136: Hoare triple {11245#false} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11245#false} is VALID [2018-11-18 23:08:16,086 INFO L273 TraceCheckUtils]: 137: Hoare triple {11245#false} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11245#false} is VALID [2018-11-18 23:08:16,086 INFO L273 TraceCheckUtils]: 138: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,086 INFO L273 TraceCheckUtils]: 139: Hoare triple {11245#false} assume !(~i~2 < 9); {11245#false} is VALID [2018-11-18 23:08:16,086 INFO L273 TraceCheckUtils]: 140: Hoare triple {11245#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {11245#false} is VALID [2018-11-18 23:08:16,086 INFO L256 TraceCheckUtils]: 141: Hoare triple {11245#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {11244#true} is VALID [2018-11-18 23:08:16,087 INFO L273 TraceCheckUtils]: 142: Hoare triple {11244#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11244#true} is VALID [2018-11-18 23:08:16,087 INFO L273 TraceCheckUtils]: 143: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,087 INFO L273 TraceCheckUtils]: 144: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,087 INFO L273 TraceCheckUtils]: 145: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,087 INFO L273 TraceCheckUtils]: 146: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,087 INFO L273 TraceCheckUtils]: 147: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,087 INFO L273 TraceCheckUtils]: 148: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,087 INFO L273 TraceCheckUtils]: 149: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,087 INFO L273 TraceCheckUtils]: 150: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,088 INFO L273 TraceCheckUtils]: 151: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,088 INFO L273 TraceCheckUtils]: 152: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,088 INFO L273 TraceCheckUtils]: 153: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,088 INFO L273 TraceCheckUtils]: 154: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,088 INFO L273 TraceCheckUtils]: 155: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,088 INFO L273 TraceCheckUtils]: 156: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,088 INFO L273 TraceCheckUtils]: 157: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,088 INFO L273 TraceCheckUtils]: 158: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,088 INFO L273 TraceCheckUtils]: 159: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,089 INFO L273 TraceCheckUtils]: 160: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,089 INFO L273 TraceCheckUtils]: 161: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,089 INFO L273 TraceCheckUtils]: 162: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,089 INFO L273 TraceCheckUtils]: 163: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,089 INFO L273 TraceCheckUtils]: 164: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,089 INFO L273 TraceCheckUtils]: 165: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,089 INFO L273 TraceCheckUtils]: 166: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,089 INFO L273 TraceCheckUtils]: 167: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,089 INFO L273 TraceCheckUtils]: 168: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,090 INFO L273 TraceCheckUtils]: 169: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,090 INFO L273 TraceCheckUtils]: 170: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,090 INFO L273 TraceCheckUtils]: 171: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,090 INFO L273 TraceCheckUtils]: 172: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,090 INFO L273 TraceCheckUtils]: 173: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,090 INFO L273 TraceCheckUtils]: 174: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,090 INFO L273 TraceCheckUtils]: 175: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,090 INFO L273 TraceCheckUtils]: 176: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,091 INFO L273 TraceCheckUtils]: 177: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,091 INFO L273 TraceCheckUtils]: 178: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,091 INFO L273 TraceCheckUtils]: 179: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,091 INFO L273 TraceCheckUtils]: 180: Hoare triple {11244#true} assume !(~i~0 < 10); {11244#true} is VALID [2018-11-18 23:08:16,091 INFO L273 TraceCheckUtils]: 181: Hoare triple {11244#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11244#true} is VALID [2018-11-18 23:08:16,091 INFO L273 TraceCheckUtils]: 182: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,091 INFO L268 TraceCheckUtils]: 183: Hoare quadruple {11244#true} {11245#false} #82#return; {11245#false} is VALID [2018-11-18 23:08:16,091 INFO L273 TraceCheckUtils]: 184: Hoare triple {11245#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {11245#false} is VALID [2018-11-18 23:08:16,091 INFO L273 TraceCheckUtils]: 185: Hoare triple {11245#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {11245#false} is VALID [2018-11-18 23:08:16,092 INFO L273 TraceCheckUtils]: 186: Hoare triple {11245#false} assume !false; {11245#false} is VALID [2018-11-18 23:08:16,108 INFO L134 CoverageAnalysis]: Checked inductivity of 1765 backedges. 0 proven. 892 refuted. 0 times theorem prover too weak. 873 trivial. 0 not checked. [2018-11-18 23:08:16,108 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:16,108 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-18 23:08:16,117 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-18 23:08:16,182 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2018-11-18 23:08:16,182 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:08:16,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:16,215 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:16,751 INFO L256 TraceCheckUtils]: 0: Hoare triple {11244#true} call ULTIMATE.init(); {11244#true} is VALID [2018-11-18 23:08:16,751 INFO L273 TraceCheckUtils]: 1: Hoare triple {11244#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {11244#true} is VALID [2018-11-18 23:08:16,751 INFO L273 TraceCheckUtils]: 2: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,751 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11244#true} {11244#true} #74#return; {11244#true} is VALID [2018-11-18 23:08:16,751 INFO L256 TraceCheckUtils]: 4: Hoare triple {11244#true} call #t~ret14 := main(); {11244#true} is VALID [2018-11-18 23:08:16,752 INFO L273 TraceCheckUtils]: 5: Hoare triple {11244#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {11244#true} is VALID [2018-11-18 23:08:16,752 INFO L273 TraceCheckUtils]: 6: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,752 INFO L273 TraceCheckUtils]: 7: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,752 INFO L273 TraceCheckUtils]: 8: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,752 INFO L273 TraceCheckUtils]: 9: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,752 INFO L273 TraceCheckUtils]: 10: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,752 INFO L273 TraceCheckUtils]: 11: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,752 INFO L273 TraceCheckUtils]: 12: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,752 INFO L273 TraceCheckUtils]: 13: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,753 INFO L273 TraceCheckUtils]: 14: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,753 INFO L273 TraceCheckUtils]: 15: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,753 INFO L273 TraceCheckUtils]: 16: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,753 INFO L273 TraceCheckUtils]: 17: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,753 INFO L273 TraceCheckUtils]: 18: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,753 INFO L273 TraceCheckUtils]: 19: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,754 INFO L273 TraceCheckUtils]: 20: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,754 INFO L273 TraceCheckUtils]: 21: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,754 INFO L273 TraceCheckUtils]: 22: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,754 INFO L273 TraceCheckUtils]: 23: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,754 INFO L273 TraceCheckUtils]: 24: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,754 INFO L273 TraceCheckUtils]: 25: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,755 INFO L273 TraceCheckUtils]: 26: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,755 INFO L273 TraceCheckUtils]: 27: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,755 INFO L273 TraceCheckUtils]: 28: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,755 INFO L273 TraceCheckUtils]: 29: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,755 INFO L273 TraceCheckUtils]: 30: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,755 INFO L273 TraceCheckUtils]: 31: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,756 INFO L273 TraceCheckUtils]: 32: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,756 INFO L273 TraceCheckUtils]: 33: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,756 INFO L273 TraceCheckUtils]: 34: Hoare triple {11244#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {11244#true} is VALID [2018-11-18 23:08:16,756 INFO L273 TraceCheckUtils]: 35: Hoare triple {11244#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {11244#true} is VALID [2018-11-18 23:08:16,756 INFO L273 TraceCheckUtils]: 36: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,756 INFO L273 TraceCheckUtils]: 37: Hoare triple {11244#true} assume !(~i~1 < 10); {11244#true} is VALID [2018-11-18 23:08:16,757 INFO L256 TraceCheckUtils]: 38: Hoare triple {11244#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {11244#true} is VALID [2018-11-18 23:08:16,757 INFO L273 TraceCheckUtils]: 39: Hoare triple {11244#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11244#true} is VALID [2018-11-18 23:08:16,757 INFO L273 TraceCheckUtils]: 40: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,757 INFO L273 TraceCheckUtils]: 41: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,757 INFO L273 TraceCheckUtils]: 42: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,758 INFO L273 TraceCheckUtils]: 43: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,758 INFO L273 TraceCheckUtils]: 44: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,758 INFO L273 TraceCheckUtils]: 45: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,758 INFO L273 TraceCheckUtils]: 46: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,758 INFO L273 TraceCheckUtils]: 47: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,758 INFO L273 TraceCheckUtils]: 48: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,759 INFO L273 TraceCheckUtils]: 49: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,759 INFO L273 TraceCheckUtils]: 50: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,759 INFO L273 TraceCheckUtils]: 51: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,759 INFO L273 TraceCheckUtils]: 52: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,759 INFO L273 TraceCheckUtils]: 53: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,759 INFO L273 TraceCheckUtils]: 54: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,760 INFO L273 TraceCheckUtils]: 55: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,760 INFO L273 TraceCheckUtils]: 56: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,760 INFO L273 TraceCheckUtils]: 57: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,760 INFO L273 TraceCheckUtils]: 58: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,760 INFO L273 TraceCheckUtils]: 59: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,760 INFO L273 TraceCheckUtils]: 60: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,761 INFO L273 TraceCheckUtils]: 61: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,761 INFO L273 TraceCheckUtils]: 62: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,761 INFO L273 TraceCheckUtils]: 63: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,761 INFO L273 TraceCheckUtils]: 64: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,761 INFO L273 TraceCheckUtils]: 65: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,761 INFO L273 TraceCheckUtils]: 66: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,762 INFO L273 TraceCheckUtils]: 67: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,762 INFO L273 TraceCheckUtils]: 68: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,762 INFO L273 TraceCheckUtils]: 69: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,762 INFO L273 TraceCheckUtils]: 70: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,762 INFO L273 TraceCheckUtils]: 71: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,763 INFO L273 TraceCheckUtils]: 72: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,763 INFO L273 TraceCheckUtils]: 73: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,763 INFO L273 TraceCheckUtils]: 74: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,763 INFO L273 TraceCheckUtils]: 75: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,763 INFO L273 TraceCheckUtils]: 76: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,763 INFO L273 TraceCheckUtils]: 77: Hoare triple {11244#true} assume !(~i~0 < 10); {11244#true} is VALID [2018-11-18 23:08:16,764 INFO L273 TraceCheckUtils]: 78: Hoare triple {11244#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11244#true} is VALID [2018-11-18 23:08:16,764 INFO L273 TraceCheckUtils]: 79: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,764 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {11244#true} {11244#true} #78#return; {11244#true} is VALID [2018-11-18 23:08:16,764 INFO L273 TraceCheckUtils]: 81: Hoare triple {11244#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); {11244#true} is VALID [2018-11-18 23:08:16,764 INFO L256 TraceCheckUtils]: 82: Hoare triple {11244#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {11244#true} is VALID [2018-11-18 23:08:16,764 INFO L273 TraceCheckUtils]: 83: Hoare triple {11244#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11244#true} is VALID [2018-11-18 23:08:16,765 INFO L273 TraceCheckUtils]: 84: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,765 INFO L273 TraceCheckUtils]: 85: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,765 INFO L273 TraceCheckUtils]: 86: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,765 INFO L273 TraceCheckUtils]: 87: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,765 INFO L273 TraceCheckUtils]: 88: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,766 INFO L273 TraceCheckUtils]: 89: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,766 INFO L273 TraceCheckUtils]: 90: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,766 INFO L273 TraceCheckUtils]: 91: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,766 INFO L273 TraceCheckUtils]: 92: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,766 INFO L273 TraceCheckUtils]: 93: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,766 INFO L273 TraceCheckUtils]: 94: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,767 INFO L273 TraceCheckUtils]: 95: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,767 INFO L273 TraceCheckUtils]: 96: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,767 INFO L273 TraceCheckUtils]: 97: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,767 INFO L273 TraceCheckUtils]: 98: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,767 INFO L273 TraceCheckUtils]: 99: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,767 INFO L273 TraceCheckUtils]: 100: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,768 INFO L273 TraceCheckUtils]: 101: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,768 INFO L273 TraceCheckUtils]: 102: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,768 INFO L273 TraceCheckUtils]: 103: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,768 INFO L273 TraceCheckUtils]: 104: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,768 INFO L273 TraceCheckUtils]: 105: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,768 INFO L273 TraceCheckUtils]: 106: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,769 INFO L273 TraceCheckUtils]: 107: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,769 INFO L273 TraceCheckUtils]: 108: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,769 INFO L273 TraceCheckUtils]: 109: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,769 INFO L273 TraceCheckUtils]: 110: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,769 INFO L273 TraceCheckUtils]: 111: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,769 INFO L273 TraceCheckUtils]: 112: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,770 INFO L273 TraceCheckUtils]: 113: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,770 INFO L273 TraceCheckUtils]: 114: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,770 INFO L273 TraceCheckUtils]: 115: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,770 INFO L273 TraceCheckUtils]: 116: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,770 INFO L273 TraceCheckUtils]: 117: Hoare triple {11244#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11244#true} is VALID [2018-11-18 23:08:16,770 INFO L273 TraceCheckUtils]: 118: Hoare triple {11244#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11244#true} is VALID [2018-11-18 23:08:16,771 INFO L273 TraceCheckUtils]: 119: Hoare triple {11244#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11244#true} is VALID [2018-11-18 23:08:16,771 INFO L273 TraceCheckUtils]: 120: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,771 INFO L273 TraceCheckUtils]: 121: Hoare triple {11244#true} assume !(~i~0 < 10); {11244#true} is VALID [2018-11-18 23:08:16,771 INFO L273 TraceCheckUtils]: 122: Hoare triple {11244#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11244#true} is VALID [2018-11-18 23:08:16,771 INFO L273 TraceCheckUtils]: 123: Hoare triple {11244#true} assume true; {11244#true} is VALID [2018-11-18 23:08:16,772 INFO L268 TraceCheckUtils]: 124: Hoare quadruple {11244#true} {11244#true} #80#return; {11244#true} is VALID [2018-11-18 23:08:16,789 INFO L273 TraceCheckUtils]: 125: Hoare triple {11244#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; {11634#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:16,801 INFO L273 TraceCheckUtils]: 126: Hoare triple {11634#(<= main_~i~2 0)} assume true; {11634#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:16,814 INFO L273 TraceCheckUtils]: 127: Hoare triple {11634#(<= main_~i~2 0)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11634#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:16,832 INFO L273 TraceCheckUtils]: 128: Hoare triple {11634#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11644#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:16,841 INFO L273 TraceCheckUtils]: 129: Hoare triple {11644#(<= main_~i~2 1)} assume true; {11644#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:16,853 INFO L273 TraceCheckUtils]: 130: Hoare triple {11644#(<= main_~i~2 1)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11644#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:16,866 INFO L273 TraceCheckUtils]: 131: Hoare triple {11644#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11654#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:16,879 INFO L273 TraceCheckUtils]: 132: Hoare triple {11654#(<= main_~i~2 2)} assume true; {11654#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:16,891 INFO L273 TraceCheckUtils]: 133: Hoare triple {11654#(<= main_~i~2 2)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11654#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:16,904 INFO L273 TraceCheckUtils]: 134: Hoare triple {11654#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11664#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:16,917 INFO L273 TraceCheckUtils]: 135: Hoare triple {11664#(<= main_~i~2 3)} assume true; {11664#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:16,929 INFO L273 TraceCheckUtils]: 136: Hoare triple {11664#(<= main_~i~2 3)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {11664#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:16,942 INFO L273 TraceCheckUtils]: 137: Hoare triple {11664#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {11674#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:16,954 INFO L273 TraceCheckUtils]: 138: Hoare triple {11674#(<= main_~i~2 4)} assume true; {11674#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:16,967 INFO L273 TraceCheckUtils]: 139: Hoare triple {11674#(<= main_~i~2 4)} assume !(~i~2 < 9); {11245#false} is VALID [2018-11-18 23:08:16,968 INFO L273 TraceCheckUtils]: 140: Hoare triple {11245#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {11245#false} is VALID [2018-11-18 23:08:16,968 INFO L256 TraceCheckUtils]: 141: Hoare triple {11245#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {11245#false} is VALID [2018-11-18 23:08:16,968 INFO L273 TraceCheckUtils]: 142: Hoare triple {11245#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {11245#false} is VALID [2018-11-18 23:08:16,968 INFO L273 TraceCheckUtils]: 143: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,968 INFO L273 TraceCheckUtils]: 144: Hoare triple {11245#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11245#false} is VALID [2018-11-18 23:08:16,968 INFO L273 TraceCheckUtils]: 145: Hoare triple {11245#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11245#false} is VALID [2018-11-18 23:08:16,969 INFO L273 TraceCheckUtils]: 146: Hoare triple {11245#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11245#false} is VALID [2018-11-18 23:08:16,969 INFO L273 TraceCheckUtils]: 147: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,969 INFO L273 TraceCheckUtils]: 148: Hoare triple {11245#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11245#false} is VALID [2018-11-18 23:08:16,969 INFO L273 TraceCheckUtils]: 149: Hoare triple {11245#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11245#false} is VALID [2018-11-18 23:08:16,969 INFO L273 TraceCheckUtils]: 150: Hoare triple {11245#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11245#false} is VALID [2018-11-18 23:08:16,969 INFO L273 TraceCheckUtils]: 151: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,970 INFO L273 TraceCheckUtils]: 152: Hoare triple {11245#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11245#false} is VALID [2018-11-18 23:08:16,970 INFO L273 TraceCheckUtils]: 153: Hoare triple {11245#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11245#false} is VALID [2018-11-18 23:08:16,970 INFO L273 TraceCheckUtils]: 154: Hoare triple {11245#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11245#false} is VALID [2018-11-18 23:08:16,970 INFO L273 TraceCheckUtils]: 155: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,970 INFO L273 TraceCheckUtils]: 156: Hoare triple {11245#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11245#false} is VALID [2018-11-18 23:08:16,970 INFO L273 TraceCheckUtils]: 157: Hoare triple {11245#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11245#false} is VALID [2018-11-18 23:08:16,970 INFO L273 TraceCheckUtils]: 158: Hoare triple {11245#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11245#false} is VALID [2018-11-18 23:08:16,971 INFO L273 TraceCheckUtils]: 159: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,971 INFO L273 TraceCheckUtils]: 160: Hoare triple {11245#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11245#false} is VALID [2018-11-18 23:08:16,971 INFO L273 TraceCheckUtils]: 161: Hoare triple {11245#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11245#false} is VALID [2018-11-18 23:08:16,971 INFO L273 TraceCheckUtils]: 162: Hoare triple {11245#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11245#false} is VALID [2018-11-18 23:08:16,971 INFO L273 TraceCheckUtils]: 163: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,971 INFO L273 TraceCheckUtils]: 164: Hoare triple {11245#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11245#false} is VALID [2018-11-18 23:08:16,972 INFO L273 TraceCheckUtils]: 165: Hoare triple {11245#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11245#false} is VALID [2018-11-18 23:08:16,972 INFO L273 TraceCheckUtils]: 166: Hoare triple {11245#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11245#false} is VALID [2018-11-18 23:08:16,972 INFO L273 TraceCheckUtils]: 167: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,972 INFO L273 TraceCheckUtils]: 168: Hoare triple {11245#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11245#false} is VALID [2018-11-18 23:08:16,972 INFO L273 TraceCheckUtils]: 169: Hoare triple {11245#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11245#false} is VALID [2018-11-18 23:08:16,972 INFO L273 TraceCheckUtils]: 170: Hoare triple {11245#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11245#false} is VALID [2018-11-18 23:08:16,973 INFO L273 TraceCheckUtils]: 171: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,973 INFO L273 TraceCheckUtils]: 172: Hoare triple {11245#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11245#false} is VALID [2018-11-18 23:08:16,973 INFO L273 TraceCheckUtils]: 173: Hoare triple {11245#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11245#false} is VALID [2018-11-18 23:08:16,973 INFO L273 TraceCheckUtils]: 174: Hoare triple {11245#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11245#false} is VALID [2018-11-18 23:08:16,973 INFO L273 TraceCheckUtils]: 175: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,973 INFO L273 TraceCheckUtils]: 176: Hoare triple {11245#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {11245#false} is VALID [2018-11-18 23:08:16,973 INFO L273 TraceCheckUtils]: 177: Hoare triple {11245#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {11245#false} is VALID [2018-11-18 23:08:16,974 INFO L273 TraceCheckUtils]: 178: Hoare triple {11245#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11245#false} is VALID [2018-11-18 23:08:16,974 INFO L273 TraceCheckUtils]: 179: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,974 INFO L273 TraceCheckUtils]: 180: Hoare triple {11245#false} assume !(~i~0 < 10); {11245#false} is VALID [2018-11-18 23:08:16,974 INFO L273 TraceCheckUtils]: 181: Hoare triple {11245#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {11245#false} is VALID [2018-11-18 23:08:16,974 INFO L273 TraceCheckUtils]: 182: Hoare triple {11245#false} assume true; {11245#false} is VALID [2018-11-18 23:08:16,975 INFO L268 TraceCheckUtils]: 183: Hoare quadruple {11245#false} {11245#false} #82#return; {11245#false} is VALID [2018-11-18 23:08:16,975 INFO L273 TraceCheckUtils]: 184: Hoare triple {11245#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {11245#false} is VALID [2018-11-18 23:08:16,975 INFO L273 TraceCheckUtils]: 185: Hoare triple {11245#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {11245#false} is VALID [2018-11-18 23:08:16,975 INFO L273 TraceCheckUtils]: 186: Hoare triple {11245#false} assume !false; {11245#false} is VALID [2018-11-18 23:08:16,996 INFO L134 CoverageAnalysis]: Checked inductivity of 1765 backedges. 732 proven. 26 refuted. 0 times theorem prover too weak. 1007 trivial. 0 not checked. [2018-11-18 23:08:17,026 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:17,026 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 7] total 17 [2018-11-18 23:08:17,026 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 187 [2018-11-18 23:08:17,027 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:17,027 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-18 23:08:17,179 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:17,179 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-18 23:08:17,179 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-18 23:08:17,180 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=186, Unknown=0, NotChecked=0, Total=272 [2018-11-18 23:08:17,180 INFO L87 Difference]: Start difference. First operand 104 states and 117 transitions. Second operand 17 states. [2018-11-18 23:08:17,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:17,991 INFO L93 Difference]: Finished difference Result 177 states and 207 transitions. [2018-11-18 23:08:17,991 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-18 23:08:17,992 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 187 [2018-11-18 23:08:17,992 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:17,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-18 23:08:17,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 125 transitions. [2018-11-18 23:08:17,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-18 23:08:17,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 125 transitions. [2018-11-18 23:08:17,994 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 125 transitions. [2018-11-18 23:08:18,170 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:18,173 INFO L225 Difference]: With dead ends: 177 [2018-11-18 23:08:18,173 INFO L226 Difference]: Without dead ends: 112 [2018-11-18 23:08:18,174 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 198 GetRequests, 183 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=86, Invalid=186, Unknown=0, NotChecked=0, Total=272 [2018-11-18 23:08:18,174 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2018-11-18 23:08:18,203 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 111. [2018-11-18 23:08:18,203 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:18,204 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 111 states. [2018-11-18 23:08:18,204 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 111 states. [2018-11-18 23:08:18,204 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 111 states. [2018-11-18 23:08:18,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:18,207 INFO L93 Difference]: Finished difference Result 112 states and 126 transitions. [2018-11-18 23:08:18,207 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 126 transitions. [2018-11-18 23:08:18,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:18,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:18,208 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 112 states. [2018-11-18 23:08:18,208 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 112 states. [2018-11-18 23:08:18,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:18,211 INFO L93 Difference]: Finished difference Result 112 states and 126 transitions. [2018-11-18 23:08:18,211 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 126 transitions. [2018-11-18 23:08:18,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:18,211 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:18,212 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:18,212 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:18,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-11-18 23:08:18,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 125 transitions. [2018-11-18 23:08:18,214 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 125 transitions. Word has length 187 [2018-11-18 23:08:18,214 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:18,214 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 125 transitions. [2018-11-18 23:08:18,214 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-18 23:08:18,215 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 125 transitions. [2018-11-18 23:08:18,216 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 203 [2018-11-18 23:08:18,216 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:18,216 INFO L375 BasicCegarLoop]: trace histogram [33, 30, 30, 30, 11, 10, 10, 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] [2018-11-18 23:08:18,217 INFO L423 AbstractCegarLoop]: === Iteration 20 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:18,217 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:18,217 INFO L82 PathProgramCache]: Analyzing trace with hash -833281677, now seen corresponding path program 16 times [2018-11-18 23:08:18,217 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:18,217 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:18,218 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:18,218 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:08:18,218 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:18,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:18,556 INFO L256 TraceCheckUtils]: 0: Hoare triple {12423#true} call ULTIMATE.init(); {12423#true} is VALID [2018-11-18 23:08:18,557 INFO L273 TraceCheckUtils]: 1: Hoare triple {12423#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {12423#true} is VALID [2018-11-18 23:08:18,557 INFO L273 TraceCheckUtils]: 2: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,557 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12423#true} {12423#true} #74#return; {12423#true} is VALID [2018-11-18 23:08:18,557 INFO L256 TraceCheckUtils]: 4: Hoare triple {12423#true} call #t~ret14 := main(); {12423#true} is VALID [2018-11-18 23:08:18,558 INFO L273 TraceCheckUtils]: 5: Hoare triple {12423#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {12423#true} is VALID [2018-11-18 23:08:18,558 INFO L273 TraceCheckUtils]: 6: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,558 INFO L273 TraceCheckUtils]: 7: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:18,558 INFO L273 TraceCheckUtils]: 8: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:18,558 INFO L273 TraceCheckUtils]: 9: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,558 INFO L273 TraceCheckUtils]: 10: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:18,559 INFO L273 TraceCheckUtils]: 11: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:18,559 INFO L273 TraceCheckUtils]: 12: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,559 INFO L273 TraceCheckUtils]: 13: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:18,559 INFO L273 TraceCheckUtils]: 14: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:18,559 INFO L273 TraceCheckUtils]: 15: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,559 INFO L273 TraceCheckUtils]: 16: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:18,559 INFO L273 TraceCheckUtils]: 17: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:18,559 INFO L273 TraceCheckUtils]: 18: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,560 INFO L273 TraceCheckUtils]: 19: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:18,560 INFO L273 TraceCheckUtils]: 20: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:18,560 INFO L273 TraceCheckUtils]: 21: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,560 INFO L273 TraceCheckUtils]: 22: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:18,560 INFO L273 TraceCheckUtils]: 23: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:18,560 INFO L273 TraceCheckUtils]: 24: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,560 INFO L273 TraceCheckUtils]: 25: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:18,560 INFO L273 TraceCheckUtils]: 26: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:18,560 INFO L273 TraceCheckUtils]: 27: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,561 INFO L273 TraceCheckUtils]: 28: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:18,561 INFO L273 TraceCheckUtils]: 29: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:18,561 INFO L273 TraceCheckUtils]: 30: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,561 INFO L273 TraceCheckUtils]: 31: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:18,561 INFO L273 TraceCheckUtils]: 32: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:18,561 INFO L273 TraceCheckUtils]: 33: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,561 INFO L273 TraceCheckUtils]: 34: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:18,561 INFO L273 TraceCheckUtils]: 35: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:18,561 INFO L273 TraceCheckUtils]: 36: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,562 INFO L273 TraceCheckUtils]: 37: Hoare triple {12423#true} assume !(~i~1 < 10); {12423#true} is VALID [2018-11-18 23:08:18,562 INFO L256 TraceCheckUtils]: 38: Hoare triple {12423#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {12423#true} is VALID [2018-11-18 23:08:18,562 INFO L273 TraceCheckUtils]: 39: Hoare triple {12423#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12423#true} is VALID [2018-11-18 23:08:18,562 INFO L273 TraceCheckUtils]: 40: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,562 INFO L273 TraceCheckUtils]: 41: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,562 INFO L273 TraceCheckUtils]: 42: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,562 INFO L273 TraceCheckUtils]: 43: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,562 INFO L273 TraceCheckUtils]: 44: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,562 INFO L273 TraceCheckUtils]: 45: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,563 INFO L273 TraceCheckUtils]: 46: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,563 INFO L273 TraceCheckUtils]: 47: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,563 INFO L273 TraceCheckUtils]: 48: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,563 INFO L273 TraceCheckUtils]: 49: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,563 INFO L273 TraceCheckUtils]: 50: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,563 INFO L273 TraceCheckUtils]: 51: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,563 INFO L273 TraceCheckUtils]: 52: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,563 INFO L273 TraceCheckUtils]: 53: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,563 INFO L273 TraceCheckUtils]: 54: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,564 INFO L273 TraceCheckUtils]: 55: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,564 INFO L273 TraceCheckUtils]: 56: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,564 INFO L273 TraceCheckUtils]: 57: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,564 INFO L273 TraceCheckUtils]: 58: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,564 INFO L273 TraceCheckUtils]: 59: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,564 INFO L273 TraceCheckUtils]: 60: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,564 INFO L273 TraceCheckUtils]: 61: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,564 INFO L273 TraceCheckUtils]: 62: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,564 INFO L273 TraceCheckUtils]: 63: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,565 INFO L273 TraceCheckUtils]: 64: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,565 INFO L273 TraceCheckUtils]: 65: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,565 INFO L273 TraceCheckUtils]: 66: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,565 INFO L273 TraceCheckUtils]: 67: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,565 INFO L273 TraceCheckUtils]: 68: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,565 INFO L273 TraceCheckUtils]: 69: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,565 INFO L273 TraceCheckUtils]: 70: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,565 INFO L273 TraceCheckUtils]: 71: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,565 INFO L273 TraceCheckUtils]: 72: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,566 INFO L273 TraceCheckUtils]: 73: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,566 INFO L273 TraceCheckUtils]: 74: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,566 INFO L273 TraceCheckUtils]: 75: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,566 INFO L273 TraceCheckUtils]: 76: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,566 INFO L273 TraceCheckUtils]: 77: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,566 INFO L273 TraceCheckUtils]: 78: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,566 INFO L273 TraceCheckUtils]: 79: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,566 INFO L273 TraceCheckUtils]: 80: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,566 INFO L273 TraceCheckUtils]: 81: Hoare triple {12423#true} assume !(~i~0 < 10); {12423#true} is VALID [2018-11-18 23:08:18,566 INFO L273 TraceCheckUtils]: 82: Hoare triple {12423#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12423#true} is VALID [2018-11-18 23:08:18,567 INFO L273 TraceCheckUtils]: 83: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,567 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {12423#true} {12423#true} #78#return; {12423#true} is VALID [2018-11-18 23:08:18,567 INFO L273 TraceCheckUtils]: 85: Hoare triple {12423#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); {12423#true} is VALID [2018-11-18 23:08:18,567 INFO L256 TraceCheckUtils]: 86: Hoare triple {12423#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {12423#true} is VALID [2018-11-18 23:08:18,567 INFO L273 TraceCheckUtils]: 87: Hoare triple {12423#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12423#true} is VALID [2018-11-18 23:08:18,567 INFO L273 TraceCheckUtils]: 88: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,567 INFO L273 TraceCheckUtils]: 89: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,567 INFO L273 TraceCheckUtils]: 90: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,567 INFO L273 TraceCheckUtils]: 91: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,568 INFO L273 TraceCheckUtils]: 92: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,568 INFO L273 TraceCheckUtils]: 93: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,568 INFO L273 TraceCheckUtils]: 94: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,568 INFO L273 TraceCheckUtils]: 95: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,568 INFO L273 TraceCheckUtils]: 96: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,568 INFO L273 TraceCheckUtils]: 97: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,568 INFO L273 TraceCheckUtils]: 98: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,568 INFO L273 TraceCheckUtils]: 99: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,568 INFO L273 TraceCheckUtils]: 100: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,569 INFO L273 TraceCheckUtils]: 101: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,569 INFO L273 TraceCheckUtils]: 102: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,569 INFO L273 TraceCheckUtils]: 103: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,569 INFO L273 TraceCheckUtils]: 104: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,569 INFO L273 TraceCheckUtils]: 105: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,569 INFO L273 TraceCheckUtils]: 106: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,569 INFO L273 TraceCheckUtils]: 107: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,569 INFO L273 TraceCheckUtils]: 108: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,569 INFO L273 TraceCheckUtils]: 109: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,570 INFO L273 TraceCheckUtils]: 110: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,570 INFO L273 TraceCheckUtils]: 111: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,570 INFO L273 TraceCheckUtils]: 112: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,570 INFO L273 TraceCheckUtils]: 113: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,570 INFO L273 TraceCheckUtils]: 114: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,570 INFO L273 TraceCheckUtils]: 115: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,570 INFO L273 TraceCheckUtils]: 116: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,570 INFO L273 TraceCheckUtils]: 117: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,570 INFO L273 TraceCheckUtils]: 118: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,570 INFO L273 TraceCheckUtils]: 119: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,571 INFO L273 TraceCheckUtils]: 120: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,571 INFO L273 TraceCheckUtils]: 121: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,571 INFO L273 TraceCheckUtils]: 122: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,571 INFO L273 TraceCheckUtils]: 123: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,571 INFO L273 TraceCheckUtils]: 124: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,571 INFO L273 TraceCheckUtils]: 125: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,571 INFO L273 TraceCheckUtils]: 126: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,571 INFO L273 TraceCheckUtils]: 127: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,571 INFO L273 TraceCheckUtils]: 128: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,572 INFO L273 TraceCheckUtils]: 129: Hoare triple {12423#true} assume !(~i~0 < 10); {12423#true} is VALID [2018-11-18 23:08:18,572 INFO L273 TraceCheckUtils]: 130: Hoare triple {12423#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12423#true} is VALID [2018-11-18 23:08:18,572 INFO L273 TraceCheckUtils]: 131: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,572 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {12423#true} {12423#true} #80#return; {12423#true} is VALID [2018-11-18 23:08:18,572 INFO L273 TraceCheckUtils]: 133: Hoare triple {12423#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; {12425#(= main_~i~2 0)} is VALID [2018-11-18 23:08:18,573 INFO L273 TraceCheckUtils]: 134: Hoare triple {12425#(= main_~i~2 0)} assume true; {12425#(= main_~i~2 0)} is VALID [2018-11-18 23:08:18,573 INFO L273 TraceCheckUtils]: 135: Hoare triple {12425#(= main_~i~2 0)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12425#(= main_~i~2 0)} is VALID [2018-11-18 23:08:18,573 INFO L273 TraceCheckUtils]: 136: Hoare triple {12425#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12426#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:18,574 INFO L273 TraceCheckUtils]: 137: Hoare triple {12426#(<= main_~i~2 1)} assume true; {12426#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:18,574 INFO L273 TraceCheckUtils]: 138: Hoare triple {12426#(<= main_~i~2 1)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12426#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:18,574 INFO L273 TraceCheckUtils]: 139: Hoare triple {12426#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12427#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:18,575 INFO L273 TraceCheckUtils]: 140: Hoare triple {12427#(<= main_~i~2 2)} assume true; {12427#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:18,575 INFO L273 TraceCheckUtils]: 141: Hoare triple {12427#(<= main_~i~2 2)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12427#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:18,576 INFO L273 TraceCheckUtils]: 142: Hoare triple {12427#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12428#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:18,576 INFO L273 TraceCheckUtils]: 143: Hoare triple {12428#(<= main_~i~2 3)} assume true; {12428#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:18,576 INFO L273 TraceCheckUtils]: 144: Hoare triple {12428#(<= main_~i~2 3)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12428#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:18,577 INFO L273 TraceCheckUtils]: 145: Hoare triple {12428#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12429#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:18,578 INFO L273 TraceCheckUtils]: 146: Hoare triple {12429#(<= main_~i~2 4)} assume true; {12429#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:18,578 INFO L273 TraceCheckUtils]: 147: Hoare triple {12429#(<= main_~i~2 4)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12429#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:18,579 INFO L273 TraceCheckUtils]: 148: Hoare triple {12429#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12430#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:18,579 INFO L273 TraceCheckUtils]: 149: Hoare triple {12430#(<= main_~i~2 5)} assume true; {12430#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:18,580 INFO L273 TraceCheckUtils]: 150: Hoare triple {12430#(<= main_~i~2 5)} assume !(~i~2 < 9); {12424#false} is VALID [2018-11-18 23:08:18,580 INFO L273 TraceCheckUtils]: 151: Hoare triple {12424#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {12424#false} is VALID [2018-11-18 23:08:18,581 INFO L256 TraceCheckUtils]: 152: Hoare triple {12424#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {12423#true} is VALID [2018-11-18 23:08:18,581 INFO L273 TraceCheckUtils]: 153: Hoare triple {12423#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12423#true} is VALID [2018-11-18 23:08:18,581 INFO L273 TraceCheckUtils]: 154: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,581 INFO L273 TraceCheckUtils]: 155: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,581 INFO L273 TraceCheckUtils]: 156: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,581 INFO L273 TraceCheckUtils]: 157: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,582 INFO L273 TraceCheckUtils]: 158: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,582 INFO L273 TraceCheckUtils]: 159: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,582 INFO L273 TraceCheckUtils]: 160: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,582 INFO L273 TraceCheckUtils]: 161: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,582 INFO L273 TraceCheckUtils]: 162: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,583 INFO L273 TraceCheckUtils]: 163: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,583 INFO L273 TraceCheckUtils]: 164: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,583 INFO L273 TraceCheckUtils]: 165: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,583 INFO L273 TraceCheckUtils]: 166: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,583 INFO L273 TraceCheckUtils]: 167: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,583 INFO L273 TraceCheckUtils]: 168: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,583 INFO L273 TraceCheckUtils]: 169: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,583 INFO L273 TraceCheckUtils]: 170: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,584 INFO L273 TraceCheckUtils]: 171: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,584 INFO L273 TraceCheckUtils]: 172: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,584 INFO L273 TraceCheckUtils]: 173: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,584 INFO L273 TraceCheckUtils]: 174: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,584 INFO L273 TraceCheckUtils]: 175: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,584 INFO L273 TraceCheckUtils]: 176: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,584 INFO L273 TraceCheckUtils]: 177: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,584 INFO L273 TraceCheckUtils]: 178: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,584 INFO L273 TraceCheckUtils]: 179: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,585 INFO L273 TraceCheckUtils]: 180: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,585 INFO L273 TraceCheckUtils]: 181: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,585 INFO L273 TraceCheckUtils]: 182: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,585 INFO L273 TraceCheckUtils]: 183: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,585 INFO L273 TraceCheckUtils]: 184: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,585 INFO L273 TraceCheckUtils]: 185: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,586 INFO L273 TraceCheckUtils]: 186: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,586 INFO L273 TraceCheckUtils]: 187: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,586 INFO L273 TraceCheckUtils]: 188: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,586 INFO L273 TraceCheckUtils]: 189: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,586 INFO L273 TraceCheckUtils]: 190: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,586 INFO L273 TraceCheckUtils]: 191: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:18,586 INFO L273 TraceCheckUtils]: 192: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:18,587 INFO L273 TraceCheckUtils]: 193: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:18,587 INFO L273 TraceCheckUtils]: 194: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,587 INFO L273 TraceCheckUtils]: 195: Hoare triple {12423#true} assume !(~i~0 < 10); {12423#true} is VALID [2018-11-18 23:08:18,587 INFO L273 TraceCheckUtils]: 196: Hoare triple {12423#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12423#true} is VALID [2018-11-18 23:08:18,587 INFO L273 TraceCheckUtils]: 197: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:18,587 INFO L268 TraceCheckUtils]: 198: Hoare quadruple {12423#true} {12424#false} #82#return; {12424#false} is VALID [2018-11-18 23:08:18,588 INFO L273 TraceCheckUtils]: 199: Hoare triple {12424#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {12424#false} is VALID [2018-11-18 23:08:18,588 INFO L273 TraceCheckUtils]: 200: Hoare triple {12424#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {12424#false} is VALID [2018-11-18 23:08:18,588 INFO L273 TraceCheckUtils]: 201: Hoare triple {12424#false} assume !false; {12424#false} is VALID [2018-11-18 23:08:18,606 INFO L134 CoverageAnalysis]: Checked inductivity of 2133 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 2093 trivial. 0 not checked. [2018-11-18 23:08:18,606 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:18,606 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-18 23:08:18,622 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-18 23:08:18,808 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-18 23:08:18,808 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:08:18,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:18,855 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:19,140 INFO L256 TraceCheckUtils]: 0: Hoare triple {12423#true} call ULTIMATE.init(); {12423#true} is VALID [2018-11-18 23:08:19,141 INFO L273 TraceCheckUtils]: 1: Hoare triple {12423#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {12423#true} is VALID [2018-11-18 23:08:19,141 INFO L273 TraceCheckUtils]: 2: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,141 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12423#true} {12423#true} #74#return; {12423#true} is VALID [2018-11-18 23:08:19,141 INFO L256 TraceCheckUtils]: 4: Hoare triple {12423#true} call #t~ret14 := main(); {12423#true} is VALID [2018-11-18 23:08:19,142 INFO L273 TraceCheckUtils]: 5: Hoare triple {12423#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {12423#true} is VALID [2018-11-18 23:08:19,142 INFO L273 TraceCheckUtils]: 6: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,142 INFO L273 TraceCheckUtils]: 7: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:19,142 INFO L273 TraceCheckUtils]: 8: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:19,142 INFO L273 TraceCheckUtils]: 9: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,143 INFO L273 TraceCheckUtils]: 10: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:19,143 INFO L273 TraceCheckUtils]: 11: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:19,143 INFO L273 TraceCheckUtils]: 12: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,143 INFO L273 TraceCheckUtils]: 13: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:19,143 INFO L273 TraceCheckUtils]: 14: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:19,143 INFO L273 TraceCheckUtils]: 15: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,143 INFO L273 TraceCheckUtils]: 16: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:19,143 INFO L273 TraceCheckUtils]: 17: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:19,144 INFO L273 TraceCheckUtils]: 18: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,144 INFO L273 TraceCheckUtils]: 19: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:19,144 INFO L273 TraceCheckUtils]: 20: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:19,144 INFO L273 TraceCheckUtils]: 21: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,144 INFO L273 TraceCheckUtils]: 22: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:19,144 INFO L273 TraceCheckUtils]: 23: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:19,144 INFO L273 TraceCheckUtils]: 24: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,144 INFO L273 TraceCheckUtils]: 25: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:19,144 INFO L273 TraceCheckUtils]: 26: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:19,145 INFO L273 TraceCheckUtils]: 27: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,145 INFO L273 TraceCheckUtils]: 28: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:19,145 INFO L273 TraceCheckUtils]: 29: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:19,145 INFO L273 TraceCheckUtils]: 30: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,145 INFO L273 TraceCheckUtils]: 31: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:19,145 INFO L273 TraceCheckUtils]: 32: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:19,145 INFO L273 TraceCheckUtils]: 33: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,145 INFO L273 TraceCheckUtils]: 34: Hoare triple {12423#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {12423#true} is VALID [2018-11-18 23:08:19,145 INFO L273 TraceCheckUtils]: 35: Hoare triple {12423#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {12423#true} is VALID [2018-11-18 23:08:19,146 INFO L273 TraceCheckUtils]: 36: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,146 INFO L273 TraceCheckUtils]: 37: Hoare triple {12423#true} assume !(~i~1 < 10); {12423#true} is VALID [2018-11-18 23:08:19,146 INFO L256 TraceCheckUtils]: 38: Hoare triple {12423#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {12423#true} is VALID [2018-11-18 23:08:19,146 INFO L273 TraceCheckUtils]: 39: Hoare triple {12423#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12423#true} is VALID [2018-11-18 23:08:19,146 INFO L273 TraceCheckUtils]: 40: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,146 INFO L273 TraceCheckUtils]: 41: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,146 INFO L273 TraceCheckUtils]: 42: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,146 INFO L273 TraceCheckUtils]: 43: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,146 INFO L273 TraceCheckUtils]: 44: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,146 INFO L273 TraceCheckUtils]: 45: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,147 INFO L273 TraceCheckUtils]: 46: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,147 INFO L273 TraceCheckUtils]: 47: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,147 INFO L273 TraceCheckUtils]: 48: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,147 INFO L273 TraceCheckUtils]: 49: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,147 INFO L273 TraceCheckUtils]: 50: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,147 INFO L273 TraceCheckUtils]: 51: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,148 INFO L273 TraceCheckUtils]: 52: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,148 INFO L273 TraceCheckUtils]: 53: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,148 INFO L273 TraceCheckUtils]: 54: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,148 INFO L273 TraceCheckUtils]: 55: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,148 INFO L273 TraceCheckUtils]: 56: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,148 INFO L273 TraceCheckUtils]: 57: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,149 INFO L273 TraceCheckUtils]: 58: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,149 INFO L273 TraceCheckUtils]: 59: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,149 INFO L273 TraceCheckUtils]: 60: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,149 INFO L273 TraceCheckUtils]: 61: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,149 INFO L273 TraceCheckUtils]: 62: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,149 INFO L273 TraceCheckUtils]: 63: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,149 INFO L273 TraceCheckUtils]: 64: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,150 INFO L273 TraceCheckUtils]: 65: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,150 INFO L273 TraceCheckUtils]: 66: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,150 INFO L273 TraceCheckUtils]: 67: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,150 INFO L273 TraceCheckUtils]: 68: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,150 INFO L273 TraceCheckUtils]: 69: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,150 INFO L273 TraceCheckUtils]: 70: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,150 INFO L273 TraceCheckUtils]: 71: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,151 INFO L273 TraceCheckUtils]: 72: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,151 INFO L273 TraceCheckUtils]: 73: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,151 INFO L273 TraceCheckUtils]: 74: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,151 INFO L273 TraceCheckUtils]: 75: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,151 INFO L273 TraceCheckUtils]: 76: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,151 INFO L273 TraceCheckUtils]: 77: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,152 INFO L273 TraceCheckUtils]: 78: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,152 INFO L273 TraceCheckUtils]: 79: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,152 INFO L273 TraceCheckUtils]: 80: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,152 INFO L273 TraceCheckUtils]: 81: Hoare triple {12423#true} assume !(~i~0 < 10); {12423#true} is VALID [2018-11-18 23:08:19,152 INFO L273 TraceCheckUtils]: 82: Hoare triple {12423#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12423#true} is VALID [2018-11-18 23:08:19,152 INFO L273 TraceCheckUtils]: 83: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,153 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {12423#true} {12423#true} #78#return; {12423#true} is VALID [2018-11-18 23:08:19,153 INFO L273 TraceCheckUtils]: 85: Hoare triple {12423#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); {12423#true} is VALID [2018-11-18 23:08:19,153 INFO L256 TraceCheckUtils]: 86: Hoare triple {12423#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {12423#true} is VALID [2018-11-18 23:08:19,153 INFO L273 TraceCheckUtils]: 87: Hoare triple {12423#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12423#true} is VALID [2018-11-18 23:08:19,153 INFO L273 TraceCheckUtils]: 88: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,153 INFO L273 TraceCheckUtils]: 89: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,153 INFO L273 TraceCheckUtils]: 90: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,154 INFO L273 TraceCheckUtils]: 91: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,154 INFO L273 TraceCheckUtils]: 92: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,154 INFO L273 TraceCheckUtils]: 93: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,154 INFO L273 TraceCheckUtils]: 94: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,154 INFO L273 TraceCheckUtils]: 95: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,154 INFO L273 TraceCheckUtils]: 96: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,154 INFO L273 TraceCheckUtils]: 97: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,154 INFO L273 TraceCheckUtils]: 98: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,154 INFO L273 TraceCheckUtils]: 99: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,154 INFO L273 TraceCheckUtils]: 100: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,155 INFO L273 TraceCheckUtils]: 101: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,155 INFO L273 TraceCheckUtils]: 102: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,155 INFO L273 TraceCheckUtils]: 103: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,155 INFO L273 TraceCheckUtils]: 104: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,155 INFO L273 TraceCheckUtils]: 105: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,155 INFO L273 TraceCheckUtils]: 106: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,155 INFO L273 TraceCheckUtils]: 107: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,155 INFO L273 TraceCheckUtils]: 108: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,155 INFO L273 TraceCheckUtils]: 109: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,156 INFO L273 TraceCheckUtils]: 110: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,156 INFO L273 TraceCheckUtils]: 111: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,156 INFO L273 TraceCheckUtils]: 112: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,156 INFO L273 TraceCheckUtils]: 113: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,156 INFO L273 TraceCheckUtils]: 114: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,156 INFO L273 TraceCheckUtils]: 115: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,156 INFO L273 TraceCheckUtils]: 116: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,156 INFO L273 TraceCheckUtils]: 117: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,156 INFO L273 TraceCheckUtils]: 118: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,157 INFO L273 TraceCheckUtils]: 119: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,157 INFO L273 TraceCheckUtils]: 120: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,157 INFO L273 TraceCheckUtils]: 121: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,157 INFO L273 TraceCheckUtils]: 122: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,157 INFO L273 TraceCheckUtils]: 123: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,157 INFO L273 TraceCheckUtils]: 124: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,157 INFO L273 TraceCheckUtils]: 125: Hoare triple {12423#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12423#true} is VALID [2018-11-18 23:08:19,157 INFO L273 TraceCheckUtils]: 126: Hoare triple {12423#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12423#true} is VALID [2018-11-18 23:08:19,157 INFO L273 TraceCheckUtils]: 127: Hoare triple {12423#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12423#true} is VALID [2018-11-18 23:08:19,158 INFO L273 TraceCheckUtils]: 128: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,158 INFO L273 TraceCheckUtils]: 129: Hoare triple {12423#true} assume !(~i~0 < 10); {12423#true} is VALID [2018-11-18 23:08:19,158 INFO L273 TraceCheckUtils]: 130: Hoare triple {12423#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12423#true} is VALID [2018-11-18 23:08:19,158 INFO L273 TraceCheckUtils]: 131: Hoare triple {12423#true} assume true; {12423#true} is VALID [2018-11-18 23:08:19,158 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {12423#true} {12423#true} #80#return; {12423#true} is VALID [2018-11-18 23:08:19,160 INFO L273 TraceCheckUtils]: 133: Hoare triple {12423#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; {12833#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:19,161 INFO L273 TraceCheckUtils]: 134: Hoare triple {12833#(<= main_~i~2 0)} assume true; {12833#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:19,161 INFO L273 TraceCheckUtils]: 135: Hoare triple {12833#(<= main_~i~2 0)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12833#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:19,161 INFO L273 TraceCheckUtils]: 136: Hoare triple {12833#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12426#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:19,162 INFO L273 TraceCheckUtils]: 137: Hoare triple {12426#(<= main_~i~2 1)} assume true; {12426#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:19,162 INFO L273 TraceCheckUtils]: 138: Hoare triple {12426#(<= main_~i~2 1)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12426#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:19,162 INFO L273 TraceCheckUtils]: 139: Hoare triple {12426#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12427#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:19,163 INFO L273 TraceCheckUtils]: 140: Hoare triple {12427#(<= main_~i~2 2)} assume true; {12427#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:19,163 INFO L273 TraceCheckUtils]: 141: Hoare triple {12427#(<= main_~i~2 2)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12427#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:19,164 INFO L273 TraceCheckUtils]: 142: Hoare triple {12427#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12428#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:19,164 INFO L273 TraceCheckUtils]: 143: Hoare triple {12428#(<= main_~i~2 3)} assume true; {12428#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:19,164 INFO L273 TraceCheckUtils]: 144: Hoare triple {12428#(<= main_~i~2 3)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12428#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:19,165 INFO L273 TraceCheckUtils]: 145: Hoare triple {12428#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12429#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:19,165 INFO L273 TraceCheckUtils]: 146: Hoare triple {12429#(<= main_~i~2 4)} assume true; {12429#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:19,165 INFO L273 TraceCheckUtils]: 147: Hoare triple {12429#(<= main_~i~2 4)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {12429#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:19,166 INFO L273 TraceCheckUtils]: 148: Hoare triple {12429#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {12430#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:19,177 INFO L273 TraceCheckUtils]: 149: Hoare triple {12430#(<= main_~i~2 5)} assume true; {12430#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:19,177 INFO L273 TraceCheckUtils]: 150: Hoare triple {12430#(<= main_~i~2 5)} assume !(~i~2 < 9); {12424#false} is VALID [2018-11-18 23:08:19,178 INFO L273 TraceCheckUtils]: 151: Hoare triple {12424#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {12424#false} is VALID [2018-11-18 23:08:19,178 INFO L256 TraceCheckUtils]: 152: Hoare triple {12424#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {12424#false} is VALID [2018-11-18 23:08:19,178 INFO L273 TraceCheckUtils]: 153: Hoare triple {12424#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {12424#false} is VALID [2018-11-18 23:08:19,178 INFO L273 TraceCheckUtils]: 154: Hoare triple {12424#false} assume true; {12424#false} is VALID [2018-11-18 23:08:19,178 INFO L273 TraceCheckUtils]: 155: Hoare triple {12424#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12424#false} is VALID [2018-11-18 23:08:19,179 INFO L273 TraceCheckUtils]: 156: Hoare triple {12424#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12424#false} is VALID [2018-11-18 23:08:19,179 INFO L273 TraceCheckUtils]: 157: Hoare triple {12424#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12424#false} is VALID [2018-11-18 23:08:19,179 INFO L273 TraceCheckUtils]: 158: Hoare triple {12424#false} assume true; {12424#false} is VALID [2018-11-18 23:08:19,179 INFO L273 TraceCheckUtils]: 159: Hoare triple {12424#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12424#false} is VALID [2018-11-18 23:08:19,179 INFO L273 TraceCheckUtils]: 160: Hoare triple {12424#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12424#false} is VALID [2018-11-18 23:08:19,179 INFO L273 TraceCheckUtils]: 161: Hoare triple {12424#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12424#false} is VALID [2018-11-18 23:08:19,180 INFO L273 TraceCheckUtils]: 162: Hoare triple {12424#false} assume true; {12424#false} is VALID [2018-11-18 23:08:19,180 INFO L273 TraceCheckUtils]: 163: Hoare triple {12424#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12424#false} is VALID [2018-11-18 23:08:19,180 INFO L273 TraceCheckUtils]: 164: Hoare triple {12424#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12424#false} is VALID [2018-11-18 23:08:19,180 INFO L273 TraceCheckUtils]: 165: Hoare triple {12424#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12424#false} is VALID [2018-11-18 23:08:19,180 INFO L273 TraceCheckUtils]: 166: Hoare triple {12424#false} assume true; {12424#false} is VALID [2018-11-18 23:08:19,180 INFO L273 TraceCheckUtils]: 167: Hoare triple {12424#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12424#false} is VALID [2018-11-18 23:08:19,181 INFO L273 TraceCheckUtils]: 168: Hoare triple {12424#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12424#false} is VALID [2018-11-18 23:08:19,181 INFO L273 TraceCheckUtils]: 169: Hoare triple {12424#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12424#false} is VALID [2018-11-18 23:08:19,181 INFO L273 TraceCheckUtils]: 170: Hoare triple {12424#false} assume true; {12424#false} is VALID [2018-11-18 23:08:19,181 INFO L273 TraceCheckUtils]: 171: Hoare triple {12424#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12424#false} is VALID [2018-11-18 23:08:19,181 INFO L273 TraceCheckUtils]: 172: Hoare triple {12424#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12424#false} is VALID [2018-11-18 23:08:19,181 INFO L273 TraceCheckUtils]: 173: Hoare triple {12424#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12424#false} is VALID [2018-11-18 23:08:19,182 INFO L273 TraceCheckUtils]: 174: Hoare triple {12424#false} assume true; {12424#false} is VALID [2018-11-18 23:08:19,182 INFO L273 TraceCheckUtils]: 175: Hoare triple {12424#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12424#false} is VALID [2018-11-18 23:08:19,182 INFO L273 TraceCheckUtils]: 176: Hoare triple {12424#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12424#false} is VALID [2018-11-18 23:08:19,182 INFO L273 TraceCheckUtils]: 177: Hoare triple {12424#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12424#false} is VALID [2018-11-18 23:08:19,182 INFO L273 TraceCheckUtils]: 178: Hoare triple {12424#false} assume true; {12424#false} is VALID [2018-11-18 23:08:19,182 INFO L273 TraceCheckUtils]: 179: Hoare triple {12424#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12424#false} is VALID [2018-11-18 23:08:19,183 INFO L273 TraceCheckUtils]: 180: Hoare triple {12424#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12424#false} is VALID [2018-11-18 23:08:19,183 INFO L273 TraceCheckUtils]: 181: Hoare triple {12424#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12424#false} is VALID [2018-11-18 23:08:19,183 INFO L273 TraceCheckUtils]: 182: Hoare triple {12424#false} assume true; {12424#false} is VALID [2018-11-18 23:08:19,183 INFO L273 TraceCheckUtils]: 183: Hoare triple {12424#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12424#false} is VALID [2018-11-18 23:08:19,183 INFO L273 TraceCheckUtils]: 184: Hoare triple {12424#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12424#false} is VALID [2018-11-18 23:08:19,183 INFO L273 TraceCheckUtils]: 185: Hoare triple {12424#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12424#false} is VALID [2018-11-18 23:08:19,184 INFO L273 TraceCheckUtils]: 186: Hoare triple {12424#false} assume true; {12424#false} is VALID [2018-11-18 23:08:19,184 INFO L273 TraceCheckUtils]: 187: Hoare triple {12424#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12424#false} is VALID [2018-11-18 23:08:19,184 INFO L273 TraceCheckUtils]: 188: Hoare triple {12424#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12424#false} is VALID [2018-11-18 23:08:19,184 INFO L273 TraceCheckUtils]: 189: Hoare triple {12424#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12424#false} is VALID [2018-11-18 23:08:19,184 INFO L273 TraceCheckUtils]: 190: Hoare triple {12424#false} assume true; {12424#false} is VALID [2018-11-18 23:08:19,184 INFO L273 TraceCheckUtils]: 191: Hoare triple {12424#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {12424#false} is VALID [2018-11-18 23:08:19,184 INFO L273 TraceCheckUtils]: 192: Hoare triple {12424#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {12424#false} is VALID [2018-11-18 23:08:19,185 INFO L273 TraceCheckUtils]: 193: Hoare triple {12424#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12424#false} is VALID [2018-11-18 23:08:19,185 INFO L273 TraceCheckUtils]: 194: Hoare triple {12424#false} assume true; {12424#false} is VALID [2018-11-18 23:08:19,185 INFO L273 TraceCheckUtils]: 195: Hoare triple {12424#false} assume !(~i~0 < 10); {12424#false} is VALID [2018-11-18 23:08:19,185 INFO L273 TraceCheckUtils]: 196: Hoare triple {12424#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {12424#false} is VALID [2018-11-18 23:08:19,185 INFO L273 TraceCheckUtils]: 197: Hoare triple {12424#false} assume true; {12424#false} is VALID [2018-11-18 23:08:19,185 INFO L268 TraceCheckUtils]: 198: Hoare quadruple {12424#false} {12424#false} #82#return; {12424#false} is VALID [2018-11-18 23:08:19,186 INFO L273 TraceCheckUtils]: 199: Hoare triple {12424#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {12424#false} is VALID [2018-11-18 23:08:19,186 INFO L273 TraceCheckUtils]: 200: Hoare triple {12424#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {12424#false} is VALID [2018-11-18 23:08:19,186 INFO L273 TraceCheckUtils]: 201: Hoare triple {12424#false} assume !false; {12424#false} is VALID [2018-11-18 23:08:19,208 INFO L134 CoverageAnalysis]: Checked inductivity of 2133 backedges. 892 proven. 40 refuted. 0 times theorem prover too weak. 1201 trivial. 0 not checked. [2018-11-18 23:08:19,238 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:19,238 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2018-11-18 23:08:19,239 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 202 [2018-11-18 23:08:19,239 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:19,239 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-18 23:08:19,338 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-18 23:08:19,339 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-18 23:08:19,339 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-18 23:08:19,339 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-18 23:08:19,339 INFO L87 Difference]: Start difference. First operand 111 states and 125 transitions. Second operand 9 states. [2018-11-18 23:08:19,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:19,630 INFO L93 Difference]: Finished difference Result 167 states and 192 transitions. [2018-11-18 23:08:19,630 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-18 23:08:19,630 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 202 [2018-11-18 23:08:19,630 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:19,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-18 23:08:19,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2018-11-18 23:08:19,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-18 23:08:19,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2018-11-18 23:08:19,632 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 69 transitions. [2018-11-18 23:08:20,497 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:20,499 INFO L225 Difference]: With dead ends: 167 [2018-11-18 23:08:20,499 INFO L226 Difference]: Without dead ends: 115 [2018-11-18 23:08:20,500 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 202 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-18 23:08:20,500 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-18 23:08:21,057 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 114. [2018-11-18 23:08:21,057 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:21,057 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 114 states. [2018-11-18 23:08:21,057 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 114 states. [2018-11-18 23:08:21,058 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 114 states. [2018-11-18 23:08:21,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:21,060 INFO L93 Difference]: Finished difference Result 115 states and 129 transitions. [2018-11-18 23:08:21,060 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 129 transitions. [2018-11-18 23:08:21,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:21,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:21,061 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 115 states. [2018-11-18 23:08:21,061 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 115 states. [2018-11-18 23:08:21,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:21,063 INFO L93 Difference]: Finished difference Result 115 states and 129 transitions. [2018-11-18 23:08:21,063 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 129 transitions. [2018-11-18 23:08:21,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:21,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:21,064 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:21,064 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:21,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 114 states. [2018-11-18 23:08:21,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 128 transitions. [2018-11-18 23:08:21,067 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 128 transitions. Word has length 202 [2018-11-18 23:08:21,067 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:21,067 INFO L480 AbstractCegarLoop]: Abstraction has 114 states and 128 transitions. [2018-11-18 23:08:21,067 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-18 23:08:21,067 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 128 transitions. [2018-11-18 23:08:21,069 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 206 [2018-11-18 23:08:21,069 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:21,069 INFO L375 BasicCegarLoop]: trace histogram [33, 30, 30, 30, 11, 10, 10, 7, 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-18 23:08:21,069 INFO L423 AbstractCegarLoop]: === Iteration 21 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:21,069 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:21,070 INFO L82 PathProgramCache]: Analyzing trace with hash 2050500988, now seen corresponding path program 17 times [2018-11-18 23:08:21,070 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:21,070 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:21,071 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:21,071 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:08:21,071 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:21,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:21,859 INFO L256 TraceCheckUtils]: 0: Hoare triple {13635#true} call ULTIMATE.init(); {13635#true} is VALID [2018-11-18 23:08:21,859 INFO L273 TraceCheckUtils]: 1: Hoare triple {13635#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {13635#true} is VALID [2018-11-18 23:08:21,859 INFO L273 TraceCheckUtils]: 2: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,860 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13635#true} {13635#true} #74#return; {13635#true} is VALID [2018-11-18 23:08:21,860 INFO L256 TraceCheckUtils]: 4: Hoare triple {13635#true} call #t~ret14 := main(); {13635#true} is VALID [2018-11-18 23:08:21,860 INFO L273 TraceCheckUtils]: 5: Hoare triple {13635#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {13635#true} is VALID [2018-11-18 23:08:21,860 INFO L273 TraceCheckUtils]: 6: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,860 INFO L273 TraceCheckUtils]: 7: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:21,860 INFO L273 TraceCheckUtils]: 8: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:21,861 INFO L273 TraceCheckUtils]: 9: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,861 INFO L273 TraceCheckUtils]: 10: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:21,861 INFO L273 TraceCheckUtils]: 11: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:21,861 INFO L273 TraceCheckUtils]: 12: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,861 INFO L273 TraceCheckUtils]: 13: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:21,861 INFO L273 TraceCheckUtils]: 14: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:21,861 INFO L273 TraceCheckUtils]: 15: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,862 INFO L273 TraceCheckUtils]: 16: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:21,862 INFO L273 TraceCheckUtils]: 17: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:21,862 INFO L273 TraceCheckUtils]: 18: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,862 INFO L273 TraceCheckUtils]: 19: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:21,862 INFO L273 TraceCheckUtils]: 20: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:21,863 INFO L273 TraceCheckUtils]: 21: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,863 INFO L273 TraceCheckUtils]: 22: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:21,863 INFO L273 TraceCheckUtils]: 23: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:21,863 INFO L273 TraceCheckUtils]: 24: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,863 INFO L273 TraceCheckUtils]: 25: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:21,864 INFO L273 TraceCheckUtils]: 26: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:21,864 INFO L273 TraceCheckUtils]: 27: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,864 INFO L273 TraceCheckUtils]: 28: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:21,864 INFO L273 TraceCheckUtils]: 29: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:21,864 INFO L273 TraceCheckUtils]: 30: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,864 INFO L273 TraceCheckUtils]: 31: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:21,864 INFO L273 TraceCheckUtils]: 32: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:21,864 INFO L273 TraceCheckUtils]: 33: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,865 INFO L273 TraceCheckUtils]: 34: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:21,865 INFO L273 TraceCheckUtils]: 35: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:21,865 INFO L273 TraceCheckUtils]: 36: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,865 INFO L273 TraceCheckUtils]: 37: Hoare triple {13635#true} assume !(~i~1 < 10); {13635#true} is VALID [2018-11-18 23:08:21,865 INFO L256 TraceCheckUtils]: 38: Hoare triple {13635#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {13635#true} is VALID [2018-11-18 23:08:21,865 INFO L273 TraceCheckUtils]: 39: Hoare triple {13635#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13635#true} is VALID [2018-11-18 23:08:21,865 INFO L273 TraceCheckUtils]: 40: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,865 INFO L273 TraceCheckUtils]: 41: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,865 INFO L273 TraceCheckUtils]: 42: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,866 INFO L273 TraceCheckUtils]: 43: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,866 INFO L273 TraceCheckUtils]: 44: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,866 INFO L273 TraceCheckUtils]: 45: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,866 INFO L273 TraceCheckUtils]: 46: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,866 INFO L273 TraceCheckUtils]: 47: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,866 INFO L273 TraceCheckUtils]: 48: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,866 INFO L273 TraceCheckUtils]: 49: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,866 INFO L273 TraceCheckUtils]: 50: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,866 INFO L273 TraceCheckUtils]: 51: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,866 INFO L273 TraceCheckUtils]: 52: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,867 INFO L273 TraceCheckUtils]: 53: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,867 INFO L273 TraceCheckUtils]: 54: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,867 INFO L273 TraceCheckUtils]: 55: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,867 INFO L273 TraceCheckUtils]: 56: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,867 INFO L273 TraceCheckUtils]: 57: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,867 INFO L273 TraceCheckUtils]: 58: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,867 INFO L273 TraceCheckUtils]: 59: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,867 INFO L273 TraceCheckUtils]: 60: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,867 INFO L273 TraceCheckUtils]: 61: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,867 INFO L273 TraceCheckUtils]: 62: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,868 INFO L273 TraceCheckUtils]: 63: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,868 INFO L273 TraceCheckUtils]: 64: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,868 INFO L273 TraceCheckUtils]: 65: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,868 INFO L273 TraceCheckUtils]: 66: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,868 INFO L273 TraceCheckUtils]: 67: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,868 INFO L273 TraceCheckUtils]: 68: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,868 INFO L273 TraceCheckUtils]: 69: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,868 INFO L273 TraceCheckUtils]: 70: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,868 INFO L273 TraceCheckUtils]: 71: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,869 INFO L273 TraceCheckUtils]: 72: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,869 INFO L273 TraceCheckUtils]: 73: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,869 INFO L273 TraceCheckUtils]: 74: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,869 INFO L273 TraceCheckUtils]: 75: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,869 INFO L273 TraceCheckUtils]: 76: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,869 INFO L273 TraceCheckUtils]: 77: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,869 INFO L273 TraceCheckUtils]: 78: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,869 INFO L273 TraceCheckUtils]: 79: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,869 INFO L273 TraceCheckUtils]: 80: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,869 INFO L273 TraceCheckUtils]: 81: Hoare triple {13635#true} assume !(~i~0 < 10); {13635#true} is VALID [2018-11-18 23:08:21,870 INFO L273 TraceCheckUtils]: 82: Hoare triple {13635#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13635#true} is VALID [2018-11-18 23:08:21,870 INFO L273 TraceCheckUtils]: 83: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,870 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {13635#true} {13635#true} #78#return; {13635#true} is VALID [2018-11-18 23:08:21,870 INFO L273 TraceCheckUtils]: 85: Hoare triple {13635#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); {13635#true} is VALID [2018-11-18 23:08:21,870 INFO L256 TraceCheckUtils]: 86: Hoare triple {13635#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {13635#true} is VALID [2018-11-18 23:08:21,870 INFO L273 TraceCheckUtils]: 87: Hoare triple {13635#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13635#true} is VALID [2018-11-18 23:08:21,870 INFO L273 TraceCheckUtils]: 88: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,870 INFO L273 TraceCheckUtils]: 89: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,870 INFO L273 TraceCheckUtils]: 90: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,870 INFO L273 TraceCheckUtils]: 91: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,871 INFO L273 TraceCheckUtils]: 92: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,871 INFO L273 TraceCheckUtils]: 93: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,871 INFO L273 TraceCheckUtils]: 94: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,871 INFO L273 TraceCheckUtils]: 95: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,871 INFO L273 TraceCheckUtils]: 96: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,871 INFO L273 TraceCheckUtils]: 97: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,871 INFO L273 TraceCheckUtils]: 98: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,871 INFO L273 TraceCheckUtils]: 99: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,871 INFO L273 TraceCheckUtils]: 100: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,872 INFO L273 TraceCheckUtils]: 101: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,872 INFO L273 TraceCheckUtils]: 102: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,872 INFO L273 TraceCheckUtils]: 103: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,872 INFO L273 TraceCheckUtils]: 104: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,872 INFO L273 TraceCheckUtils]: 105: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,872 INFO L273 TraceCheckUtils]: 106: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,872 INFO L273 TraceCheckUtils]: 107: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,872 INFO L273 TraceCheckUtils]: 108: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,872 INFO L273 TraceCheckUtils]: 109: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,872 INFO L273 TraceCheckUtils]: 110: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,873 INFO L273 TraceCheckUtils]: 111: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,873 INFO L273 TraceCheckUtils]: 112: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,873 INFO L273 TraceCheckUtils]: 113: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,873 INFO L273 TraceCheckUtils]: 114: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,873 INFO L273 TraceCheckUtils]: 115: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,873 INFO L273 TraceCheckUtils]: 116: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,873 INFO L273 TraceCheckUtils]: 117: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,873 INFO L273 TraceCheckUtils]: 118: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,873 INFO L273 TraceCheckUtils]: 119: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,873 INFO L273 TraceCheckUtils]: 120: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,874 INFO L273 TraceCheckUtils]: 121: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,874 INFO L273 TraceCheckUtils]: 122: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,874 INFO L273 TraceCheckUtils]: 123: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,874 INFO L273 TraceCheckUtils]: 124: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,874 INFO L273 TraceCheckUtils]: 125: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,874 INFO L273 TraceCheckUtils]: 126: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,874 INFO L273 TraceCheckUtils]: 127: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,874 INFO L273 TraceCheckUtils]: 128: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,874 INFO L273 TraceCheckUtils]: 129: Hoare triple {13635#true} assume !(~i~0 < 10); {13635#true} is VALID [2018-11-18 23:08:21,874 INFO L273 TraceCheckUtils]: 130: Hoare triple {13635#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13635#true} is VALID [2018-11-18 23:08:21,875 INFO L273 TraceCheckUtils]: 131: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,875 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {13635#true} {13635#true} #80#return; {13635#true} is VALID [2018-11-18 23:08:21,876 INFO L273 TraceCheckUtils]: 133: Hoare triple {13635#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; {13637#(= main_~i~2 0)} is VALID [2018-11-18 23:08:21,876 INFO L273 TraceCheckUtils]: 134: Hoare triple {13637#(= main_~i~2 0)} assume true; {13637#(= main_~i~2 0)} is VALID [2018-11-18 23:08:21,878 INFO L273 TraceCheckUtils]: 135: Hoare triple {13637#(= main_~i~2 0)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13637#(= main_~i~2 0)} is VALID [2018-11-18 23:08:21,878 INFO L273 TraceCheckUtils]: 136: Hoare triple {13637#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13638#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:21,880 INFO L273 TraceCheckUtils]: 137: Hoare triple {13638#(<= main_~i~2 1)} assume true; {13638#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:21,880 INFO L273 TraceCheckUtils]: 138: Hoare triple {13638#(<= main_~i~2 1)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13638#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:21,882 INFO L273 TraceCheckUtils]: 139: Hoare triple {13638#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13639#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:21,882 INFO L273 TraceCheckUtils]: 140: Hoare triple {13639#(<= main_~i~2 2)} assume true; {13639#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:21,884 INFO L273 TraceCheckUtils]: 141: Hoare triple {13639#(<= main_~i~2 2)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13639#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:21,884 INFO L273 TraceCheckUtils]: 142: Hoare triple {13639#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13640#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:21,886 INFO L273 TraceCheckUtils]: 143: Hoare triple {13640#(<= main_~i~2 3)} assume true; {13640#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:21,886 INFO L273 TraceCheckUtils]: 144: Hoare triple {13640#(<= main_~i~2 3)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13640#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:21,890 INFO L273 TraceCheckUtils]: 145: Hoare triple {13640#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13641#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:21,890 INFO L273 TraceCheckUtils]: 146: Hoare triple {13641#(<= main_~i~2 4)} assume true; {13641#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:21,892 INFO L273 TraceCheckUtils]: 147: Hoare triple {13641#(<= main_~i~2 4)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13641#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:21,892 INFO L273 TraceCheckUtils]: 148: Hoare triple {13641#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13642#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:21,894 INFO L273 TraceCheckUtils]: 149: Hoare triple {13642#(<= main_~i~2 5)} assume true; {13642#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:21,894 INFO L273 TraceCheckUtils]: 150: Hoare triple {13642#(<= main_~i~2 5)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13642#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:21,896 INFO L273 TraceCheckUtils]: 151: Hoare triple {13642#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13643#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:21,896 INFO L273 TraceCheckUtils]: 152: Hoare triple {13643#(<= main_~i~2 6)} assume true; {13643#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:21,898 INFO L273 TraceCheckUtils]: 153: Hoare triple {13643#(<= main_~i~2 6)} assume !(~i~2 < 9); {13636#false} is VALID [2018-11-18 23:08:21,898 INFO L273 TraceCheckUtils]: 154: Hoare triple {13636#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {13636#false} is VALID [2018-11-18 23:08:21,898 INFO L256 TraceCheckUtils]: 155: Hoare triple {13636#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {13635#true} is VALID [2018-11-18 23:08:21,898 INFO L273 TraceCheckUtils]: 156: Hoare triple {13635#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13635#true} is VALID [2018-11-18 23:08:21,898 INFO L273 TraceCheckUtils]: 157: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,898 INFO L273 TraceCheckUtils]: 158: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,898 INFO L273 TraceCheckUtils]: 159: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,898 INFO L273 TraceCheckUtils]: 160: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,899 INFO L273 TraceCheckUtils]: 161: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,899 INFO L273 TraceCheckUtils]: 162: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,899 INFO L273 TraceCheckUtils]: 163: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,899 INFO L273 TraceCheckUtils]: 164: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,899 INFO L273 TraceCheckUtils]: 165: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,899 INFO L273 TraceCheckUtils]: 166: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,899 INFO L273 TraceCheckUtils]: 167: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,899 INFO L273 TraceCheckUtils]: 168: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,899 INFO L273 TraceCheckUtils]: 169: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,899 INFO L273 TraceCheckUtils]: 170: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,900 INFO L273 TraceCheckUtils]: 171: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,900 INFO L273 TraceCheckUtils]: 172: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,900 INFO L273 TraceCheckUtils]: 173: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,900 INFO L273 TraceCheckUtils]: 174: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,900 INFO L273 TraceCheckUtils]: 175: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,900 INFO L273 TraceCheckUtils]: 176: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,900 INFO L273 TraceCheckUtils]: 177: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,900 INFO L273 TraceCheckUtils]: 178: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,900 INFO L273 TraceCheckUtils]: 179: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,901 INFO L273 TraceCheckUtils]: 180: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,901 INFO L273 TraceCheckUtils]: 181: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,901 INFO L273 TraceCheckUtils]: 182: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,901 INFO L273 TraceCheckUtils]: 183: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,901 INFO L273 TraceCheckUtils]: 184: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,901 INFO L273 TraceCheckUtils]: 185: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,901 INFO L273 TraceCheckUtils]: 186: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,901 INFO L273 TraceCheckUtils]: 187: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,901 INFO L273 TraceCheckUtils]: 188: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,901 INFO L273 TraceCheckUtils]: 189: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,902 INFO L273 TraceCheckUtils]: 190: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,902 INFO L273 TraceCheckUtils]: 191: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,902 INFO L273 TraceCheckUtils]: 192: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,902 INFO L273 TraceCheckUtils]: 193: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,902 INFO L273 TraceCheckUtils]: 194: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:21,902 INFO L273 TraceCheckUtils]: 195: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:21,902 INFO L273 TraceCheckUtils]: 196: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:21,902 INFO L273 TraceCheckUtils]: 197: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,902 INFO L273 TraceCheckUtils]: 198: Hoare triple {13635#true} assume !(~i~0 < 10); {13635#true} is VALID [2018-11-18 23:08:21,903 INFO L273 TraceCheckUtils]: 199: Hoare triple {13635#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13635#true} is VALID [2018-11-18 23:08:21,903 INFO L273 TraceCheckUtils]: 200: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:21,903 INFO L268 TraceCheckUtils]: 201: Hoare quadruple {13635#true} {13636#false} #82#return; {13636#false} is VALID [2018-11-18 23:08:21,903 INFO L273 TraceCheckUtils]: 202: Hoare triple {13636#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {13636#false} is VALID [2018-11-18 23:08:21,903 INFO L273 TraceCheckUtils]: 203: Hoare triple {13636#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {13636#false} is VALID [2018-11-18 23:08:21,903 INFO L273 TraceCheckUtils]: 204: Hoare triple {13636#false} assume !false; {13636#false} is VALID [2018-11-18 23:08:21,920 INFO L134 CoverageAnalysis]: Checked inductivity of 2150 backedges. 0 proven. 57 refuted. 0 times theorem prover too weak. 2093 trivial. 0 not checked. [2018-11-18 23:08:21,920 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:21,920 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-18 23:08:21,929 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-18 23:08:22,675 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 21 check-sat command(s) [2018-11-18 23:08:22,675 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:08:22,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:22,723 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:23,599 INFO L256 TraceCheckUtils]: 0: Hoare triple {13635#true} call ULTIMATE.init(); {13635#true} is VALID [2018-11-18 23:08:23,599 INFO L273 TraceCheckUtils]: 1: Hoare triple {13635#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {13635#true} is VALID [2018-11-18 23:08:23,599 INFO L273 TraceCheckUtils]: 2: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,599 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13635#true} {13635#true} #74#return; {13635#true} is VALID [2018-11-18 23:08:23,600 INFO L256 TraceCheckUtils]: 4: Hoare triple {13635#true} call #t~ret14 := main(); {13635#true} is VALID [2018-11-18 23:08:23,600 INFO L273 TraceCheckUtils]: 5: Hoare triple {13635#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {13635#true} is VALID [2018-11-18 23:08:23,600 INFO L273 TraceCheckUtils]: 6: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,600 INFO L273 TraceCheckUtils]: 7: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:23,600 INFO L273 TraceCheckUtils]: 8: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:23,601 INFO L273 TraceCheckUtils]: 9: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,601 INFO L273 TraceCheckUtils]: 10: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:23,601 INFO L273 TraceCheckUtils]: 11: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:23,601 INFO L273 TraceCheckUtils]: 12: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,601 INFO L273 TraceCheckUtils]: 13: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:23,601 INFO L273 TraceCheckUtils]: 14: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:23,601 INFO L273 TraceCheckUtils]: 15: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,602 INFO L273 TraceCheckUtils]: 16: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:23,602 INFO L273 TraceCheckUtils]: 17: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:23,602 INFO L273 TraceCheckUtils]: 18: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,602 INFO L273 TraceCheckUtils]: 19: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:23,602 INFO L273 TraceCheckUtils]: 20: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:23,602 INFO L273 TraceCheckUtils]: 21: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,602 INFO L273 TraceCheckUtils]: 22: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:23,602 INFO L273 TraceCheckUtils]: 23: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:23,602 INFO L273 TraceCheckUtils]: 24: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,603 INFO L273 TraceCheckUtils]: 25: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:23,603 INFO L273 TraceCheckUtils]: 26: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:23,603 INFO L273 TraceCheckUtils]: 27: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,603 INFO L273 TraceCheckUtils]: 28: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:23,603 INFO L273 TraceCheckUtils]: 29: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:23,603 INFO L273 TraceCheckUtils]: 30: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,603 INFO L273 TraceCheckUtils]: 31: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:23,603 INFO L273 TraceCheckUtils]: 32: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:23,603 INFO L273 TraceCheckUtils]: 33: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,603 INFO L273 TraceCheckUtils]: 34: Hoare triple {13635#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {13635#true} is VALID [2018-11-18 23:08:23,604 INFO L273 TraceCheckUtils]: 35: Hoare triple {13635#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {13635#true} is VALID [2018-11-18 23:08:23,604 INFO L273 TraceCheckUtils]: 36: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,604 INFO L273 TraceCheckUtils]: 37: Hoare triple {13635#true} assume !(~i~1 < 10); {13635#true} is VALID [2018-11-18 23:08:23,604 INFO L256 TraceCheckUtils]: 38: Hoare triple {13635#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {13635#true} is VALID [2018-11-18 23:08:23,604 INFO L273 TraceCheckUtils]: 39: Hoare triple {13635#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13635#true} is VALID [2018-11-18 23:08:23,604 INFO L273 TraceCheckUtils]: 40: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,604 INFO L273 TraceCheckUtils]: 41: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,604 INFO L273 TraceCheckUtils]: 42: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,604 INFO L273 TraceCheckUtils]: 43: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,604 INFO L273 TraceCheckUtils]: 44: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,605 INFO L273 TraceCheckUtils]: 45: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,605 INFO L273 TraceCheckUtils]: 46: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,605 INFO L273 TraceCheckUtils]: 47: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,605 INFO L273 TraceCheckUtils]: 48: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,605 INFO L273 TraceCheckUtils]: 49: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,605 INFO L273 TraceCheckUtils]: 50: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,605 INFO L273 TraceCheckUtils]: 51: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,605 INFO L273 TraceCheckUtils]: 52: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,605 INFO L273 TraceCheckUtils]: 53: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,605 INFO L273 TraceCheckUtils]: 54: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,606 INFO L273 TraceCheckUtils]: 55: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,606 INFO L273 TraceCheckUtils]: 56: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,606 INFO L273 TraceCheckUtils]: 57: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,606 INFO L273 TraceCheckUtils]: 58: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,606 INFO L273 TraceCheckUtils]: 59: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,606 INFO L273 TraceCheckUtils]: 60: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,606 INFO L273 TraceCheckUtils]: 61: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,606 INFO L273 TraceCheckUtils]: 62: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,606 INFO L273 TraceCheckUtils]: 63: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,607 INFO L273 TraceCheckUtils]: 64: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,607 INFO L273 TraceCheckUtils]: 65: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,607 INFO L273 TraceCheckUtils]: 66: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,607 INFO L273 TraceCheckUtils]: 67: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,607 INFO L273 TraceCheckUtils]: 68: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,607 INFO L273 TraceCheckUtils]: 69: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,607 INFO L273 TraceCheckUtils]: 70: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,607 INFO L273 TraceCheckUtils]: 71: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,607 INFO L273 TraceCheckUtils]: 72: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,607 INFO L273 TraceCheckUtils]: 73: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,608 INFO L273 TraceCheckUtils]: 74: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,608 INFO L273 TraceCheckUtils]: 75: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,608 INFO L273 TraceCheckUtils]: 76: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,608 INFO L273 TraceCheckUtils]: 77: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,608 INFO L273 TraceCheckUtils]: 78: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,608 INFO L273 TraceCheckUtils]: 79: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,608 INFO L273 TraceCheckUtils]: 80: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,608 INFO L273 TraceCheckUtils]: 81: Hoare triple {13635#true} assume !(~i~0 < 10); {13635#true} is VALID [2018-11-18 23:08:23,608 INFO L273 TraceCheckUtils]: 82: Hoare triple {13635#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13635#true} is VALID [2018-11-18 23:08:23,608 INFO L273 TraceCheckUtils]: 83: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,609 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {13635#true} {13635#true} #78#return; {13635#true} is VALID [2018-11-18 23:08:23,609 INFO L273 TraceCheckUtils]: 85: Hoare triple {13635#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); {13635#true} is VALID [2018-11-18 23:08:23,609 INFO L256 TraceCheckUtils]: 86: Hoare triple {13635#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {13635#true} is VALID [2018-11-18 23:08:23,609 INFO L273 TraceCheckUtils]: 87: Hoare triple {13635#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13635#true} is VALID [2018-11-18 23:08:23,609 INFO L273 TraceCheckUtils]: 88: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,609 INFO L273 TraceCheckUtils]: 89: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,609 INFO L273 TraceCheckUtils]: 90: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,609 INFO L273 TraceCheckUtils]: 91: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,609 INFO L273 TraceCheckUtils]: 92: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,610 INFO L273 TraceCheckUtils]: 93: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,610 INFO L273 TraceCheckUtils]: 94: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,610 INFO L273 TraceCheckUtils]: 95: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,610 INFO L273 TraceCheckUtils]: 96: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,610 INFO L273 TraceCheckUtils]: 97: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,610 INFO L273 TraceCheckUtils]: 98: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,610 INFO L273 TraceCheckUtils]: 99: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,610 INFO L273 TraceCheckUtils]: 100: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,610 INFO L273 TraceCheckUtils]: 101: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,610 INFO L273 TraceCheckUtils]: 102: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,611 INFO L273 TraceCheckUtils]: 103: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,611 INFO L273 TraceCheckUtils]: 104: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,611 INFO L273 TraceCheckUtils]: 105: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,611 INFO L273 TraceCheckUtils]: 106: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,611 INFO L273 TraceCheckUtils]: 107: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,611 INFO L273 TraceCheckUtils]: 108: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,611 INFO L273 TraceCheckUtils]: 109: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,611 INFO L273 TraceCheckUtils]: 110: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,611 INFO L273 TraceCheckUtils]: 111: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,611 INFO L273 TraceCheckUtils]: 112: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,612 INFO L273 TraceCheckUtils]: 113: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,612 INFO L273 TraceCheckUtils]: 114: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,612 INFO L273 TraceCheckUtils]: 115: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,612 INFO L273 TraceCheckUtils]: 116: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,612 INFO L273 TraceCheckUtils]: 117: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,612 INFO L273 TraceCheckUtils]: 118: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,612 INFO L273 TraceCheckUtils]: 119: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,612 INFO L273 TraceCheckUtils]: 120: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,612 INFO L273 TraceCheckUtils]: 121: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,613 INFO L273 TraceCheckUtils]: 122: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,613 INFO L273 TraceCheckUtils]: 123: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,613 INFO L273 TraceCheckUtils]: 124: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,613 INFO L273 TraceCheckUtils]: 125: Hoare triple {13635#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13635#true} is VALID [2018-11-18 23:08:23,613 INFO L273 TraceCheckUtils]: 126: Hoare triple {13635#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13635#true} is VALID [2018-11-18 23:08:23,613 INFO L273 TraceCheckUtils]: 127: Hoare triple {13635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13635#true} is VALID [2018-11-18 23:08:23,613 INFO L273 TraceCheckUtils]: 128: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,613 INFO L273 TraceCheckUtils]: 129: Hoare triple {13635#true} assume !(~i~0 < 10); {13635#true} is VALID [2018-11-18 23:08:23,613 INFO L273 TraceCheckUtils]: 130: Hoare triple {13635#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13635#true} is VALID [2018-11-18 23:08:23,613 INFO L273 TraceCheckUtils]: 131: Hoare triple {13635#true} assume true; {13635#true} is VALID [2018-11-18 23:08:23,614 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {13635#true} {13635#true} #80#return; {13635#true} is VALID [2018-11-18 23:08:23,614 INFO L273 TraceCheckUtils]: 133: Hoare triple {13635#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; {14046#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:23,614 INFO L273 TraceCheckUtils]: 134: Hoare triple {14046#(<= main_~i~2 0)} assume true; {14046#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:23,615 INFO L273 TraceCheckUtils]: 135: Hoare triple {14046#(<= main_~i~2 0)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14046#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:23,615 INFO L273 TraceCheckUtils]: 136: Hoare triple {14046#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13638#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:23,616 INFO L273 TraceCheckUtils]: 137: Hoare triple {13638#(<= main_~i~2 1)} assume true; {13638#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:23,616 INFO L273 TraceCheckUtils]: 138: Hoare triple {13638#(<= main_~i~2 1)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13638#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:23,616 INFO L273 TraceCheckUtils]: 139: Hoare triple {13638#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13639#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:23,617 INFO L273 TraceCheckUtils]: 140: Hoare triple {13639#(<= main_~i~2 2)} assume true; {13639#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:23,618 INFO L273 TraceCheckUtils]: 141: Hoare triple {13639#(<= main_~i~2 2)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13639#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:23,618 INFO L273 TraceCheckUtils]: 142: Hoare triple {13639#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13640#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:23,619 INFO L273 TraceCheckUtils]: 143: Hoare triple {13640#(<= main_~i~2 3)} assume true; {13640#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:23,619 INFO L273 TraceCheckUtils]: 144: Hoare triple {13640#(<= main_~i~2 3)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13640#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:23,620 INFO L273 TraceCheckUtils]: 145: Hoare triple {13640#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13641#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:23,620 INFO L273 TraceCheckUtils]: 146: Hoare triple {13641#(<= main_~i~2 4)} assume true; {13641#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:23,621 INFO L273 TraceCheckUtils]: 147: Hoare triple {13641#(<= main_~i~2 4)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13641#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:23,621 INFO L273 TraceCheckUtils]: 148: Hoare triple {13641#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13642#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:23,622 INFO L273 TraceCheckUtils]: 149: Hoare triple {13642#(<= main_~i~2 5)} assume true; {13642#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:23,622 INFO L273 TraceCheckUtils]: 150: Hoare triple {13642#(<= main_~i~2 5)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {13642#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:23,623 INFO L273 TraceCheckUtils]: 151: Hoare triple {13642#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {13643#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:23,624 INFO L273 TraceCheckUtils]: 152: Hoare triple {13643#(<= main_~i~2 6)} assume true; {13643#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:23,624 INFO L273 TraceCheckUtils]: 153: Hoare triple {13643#(<= main_~i~2 6)} assume !(~i~2 < 9); {13636#false} is VALID [2018-11-18 23:08:23,625 INFO L273 TraceCheckUtils]: 154: Hoare triple {13636#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {13636#false} is VALID [2018-11-18 23:08:23,625 INFO L256 TraceCheckUtils]: 155: Hoare triple {13636#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {13636#false} is VALID [2018-11-18 23:08:23,625 INFO L273 TraceCheckUtils]: 156: Hoare triple {13636#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {13636#false} is VALID [2018-11-18 23:08:23,625 INFO L273 TraceCheckUtils]: 157: Hoare triple {13636#false} assume true; {13636#false} is VALID [2018-11-18 23:08:23,625 INFO L273 TraceCheckUtils]: 158: Hoare triple {13636#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13636#false} is VALID [2018-11-18 23:08:23,625 INFO L273 TraceCheckUtils]: 159: Hoare triple {13636#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13636#false} is VALID [2018-11-18 23:08:23,626 INFO L273 TraceCheckUtils]: 160: Hoare triple {13636#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13636#false} is VALID [2018-11-18 23:08:23,626 INFO L273 TraceCheckUtils]: 161: Hoare triple {13636#false} assume true; {13636#false} is VALID [2018-11-18 23:08:23,626 INFO L273 TraceCheckUtils]: 162: Hoare triple {13636#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13636#false} is VALID [2018-11-18 23:08:23,626 INFO L273 TraceCheckUtils]: 163: Hoare triple {13636#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13636#false} is VALID [2018-11-18 23:08:23,626 INFO L273 TraceCheckUtils]: 164: Hoare triple {13636#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13636#false} is VALID [2018-11-18 23:08:23,626 INFO L273 TraceCheckUtils]: 165: Hoare triple {13636#false} assume true; {13636#false} is VALID [2018-11-18 23:08:23,627 INFO L273 TraceCheckUtils]: 166: Hoare triple {13636#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13636#false} is VALID [2018-11-18 23:08:23,627 INFO L273 TraceCheckUtils]: 167: Hoare triple {13636#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13636#false} is VALID [2018-11-18 23:08:23,627 INFO L273 TraceCheckUtils]: 168: Hoare triple {13636#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13636#false} is VALID [2018-11-18 23:08:23,627 INFO L273 TraceCheckUtils]: 169: Hoare triple {13636#false} assume true; {13636#false} is VALID [2018-11-18 23:08:23,627 INFO L273 TraceCheckUtils]: 170: Hoare triple {13636#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13636#false} is VALID [2018-11-18 23:08:23,627 INFO L273 TraceCheckUtils]: 171: Hoare triple {13636#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13636#false} is VALID [2018-11-18 23:08:23,628 INFO L273 TraceCheckUtils]: 172: Hoare triple {13636#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13636#false} is VALID [2018-11-18 23:08:23,628 INFO L273 TraceCheckUtils]: 173: Hoare triple {13636#false} assume true; {13636#false} is VALID [2018-11-18 23:08:23,628 INFO L273 TraceCheckUtils]: 174: Hoare triple {13636#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13636#false} is VALID [2018-11-18 23:08:23,628 INFO L273 TraceCheckUtils]: 175: Hoare triple {13636#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13636#false} is VALID [2018-11-18 23:08:23,628 INFO L273 TraceCheckUtils]: 176: Hoare triple {13636#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13636#false} is VALID [2018-11-18 23:08:23,628 INFO L273 TraceCheckUtils]: 177: Hoare triple {13636#false} assume true; {13636#false} is VALID [2018-11-18 23:08:23,629 INFO L273 TraceCheckUtils]: 178: Hoare triple {13636#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13636#false} is VALID [2018-11-18 23:08:23,629 INFO L273 TraceCheckUtils]: 179: Hoare triple {13636#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13636#false} is VALID [2018-11-18 23:08:23,629 INFO L273 TraceCheckUtils]: 180: Hoare triple {13636#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13636#false} is VALID [2018-11-18 23:08:23,629 INFO L273 TraceCheckUtils]: 181: Hoare triple {13636#false} assume true; {13636#false} is VALID [2018-11-18 23:08:23,629 INFO L273 TraceCheckUtils]: 182: Hoare triple {13636#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13636#false} is VALID [2018-11-18 23:08:23,629 INFO L273 TraceCheckUtils]: 183: Hoare triple {13636#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13636#false} is VALID [2018-11-18 23:08:23,630 INFO L273 TraceCheckUtils]: 184: Hoare triple {13636#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13636#false} is VALID [2018-11-18 23:08:23,630 INFO L273 TraceCheckUtils]: 185: Hoare triple {13636#false} assume true; {13636#false} is VALID [2018-11-18 23:08:23,630 INFO L273 TraceCheckUtils]: 186: Hoare triple {13636#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13636#false} is VALID [2018-11-18 23:08:23,630 INFO L273 TraceCheckUtils]: 187: Hoare triple {13636#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13636#false} is VALID [2018-11-18 23:08:23,630 INFO L273 TraceCheckUtils]: 188: Hoare triple {13636#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13636#false} is VALID [2018-11-18 23:08:23,630 INFO L273 TraceCheckUtils]: 189: Hoare triple {13636#false} assume true; {13636#false} is VALID [2018-11-18 23:08:23,630 INFO L273 TraceCheckUtils]: 190: Hoare triple {13636#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13636#false} is VALID [2018-11-18 23:08:23,630 INFO L273 TraceCheckUtils]: 191: Hoare triple {13636#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13636#false} is VALID [2018-11-18 23:08:23,630 INFO L273 TraceCheckUtils]: 192: Hoare triple {13636#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13636#false} is VALID [2018-11-18 23:08:23,630 INFO L273 TraceCheckUtils]: 193: Hoare triple {13636#false} assume true; {13636#false} is VALID [2018-11-18 23:08:23,631 INFO L273 TraceCheckUtils]: 194: Hoare triple {13636#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {13636#false} is VALID [2018-11-18 23:08:23,631 INFO L273 TraceCheckUtils]: 195: Hoare triple {13636#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {13636#false} is VALID [2018-11-18 23:08:23,631 INFO L273 TraceCheckUtils]: 196: Hoare triple {13636#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13636#false} is VALID [2018-11-18 23:08:23,631 INFO L273 TraceCheckUtils]: 197: Hoare triple {13636#false} assume true; {13636#false} is VALID [2018-11-18 23:08:23,631 INFO L273 TraceCheckUtils]: 198: Hoare triple {13636#false} assume !(~i~0 < 10); {13636#false} is VALID [2018-11-18 23:08:23,631 INFO L273 TraceCheckUtils]: 199: Hoare triple {13636#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {13636#false} is VALID [2018-11-18 23:08:23,631 INFO L273 TraceCheckUtils]: 200: Hoare triple {13636#false} assume true; {13636#false} is VALID [2018-11-18 23:08:23,631 INFO L268 TraceCheckUtils]: 201: Hoare quadruple {13636#false} {13636#false} #82#return; {13636#false} is VALID [2018-11-18 23:08:23,631 INFO L273 TraceCheckUtils]: 202: Hoare triple {13636#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {13636#false} is VALID [2018-11-18 23:08:23,632 INFO L273 TraceCheckUtils]: 203: Hoare triple {13636#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {13636#false} is VALID [2018-11-18 23:08:23,632 INFO L273 TraceCheckUtils]: 204: Hoare triple {13636#false} assume !false; {13636#false} is VALID [2018-11-18 23:08:23,649 INFO L134 CoverageAnalysis]: Checked inductivity of 2150 backedges. 892 proven. 57 refuted. 0 times theorem prover too weak. 1201 trivial. 0 not checked. [2018-11-18 23:08:23,669 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:23,669 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 10 [2018-11-18 23:08:23,670 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 205 [2018-11-18 23:08:23,670 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:23,670 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-18 23:08:23,730 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-18 23:08:23,730 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-18 23:08:23,730 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-18 23:08:23,731 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-18 23:08:23,731 INFO L87 Difference]: Start difference. First operand 114 states and 128 transitions. Second operand 10 states. [2018-11-18 23:08:24,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:24,044 INFO L93 Difference]: Finished difference Result 170 states and 195 transitions. [2018-11-18 23:08:24,044 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-18 23:08:24,044 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 205 [2018-11-18 23:08:24,044 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:24,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-18 23:08:24,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2018-11-18 23:08:24,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-18 23:08:24,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2018-11-18 23:08:24,046 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2018-11-18 23:08:24,121 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-18 23:08:24,123 INFO L225 Difference]: With dead ends: 170 [2018-11-18 23:08:24,124 INFO L226 Difference]: Without dead ends: 118 [2018-11-18 23:08:24,124 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 213 GetRequests, 205 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-18 23:08:24,125 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2018-11-18 23:08:24,230 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 117. [2018-11-18 23:08:24,230 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:24,230 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand 117 states. [2018-11-18 23:08:24,230 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand 117 states. [2018-11-18 23:08:24,230 INFO L87 Difference]: Start difference. First operand 118 states. Second operand 117 states. [2018-11-18 23:08:24,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:24,232 INFO L93 Difference]: Finished difference Result 118 states and 132 transitions. [2018-11-18 23:08:24,232 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 132 transitions. [2018-11-18 23:08:24,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:24,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:24,233 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 118 states. [2018-11-18 23:08:24,233 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 118 states. [2018-11-18 23:08:24,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:24,235 INFO L93 Difference]: Finished difference Result 118 states and 132 transitions. [2018-11-18 23:08:24,235 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 132 transitions. [2018-11-18 23:08:24,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:24,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:24,235 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:24,236 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:24,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2018-11-18 23:08:24,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 131 transitions. [2018-11-18 23:08:24,238 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 131 transitions. Word has length 205 [2018-11-18 23:08:24,238 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:24,238 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 131 transitions. [2018-11-18 23:08:24,238 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-18 23:08:24,238 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 131 transitions. [2018-11-18 23:08:24,240 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 209 [2018-11-18 23:08:24,240 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:24,240 INFO L375 BasicCegarLoop]: trace histogram [33, 30, 30, 30, 11, 10, 10, 8, 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-18 23:08:24,240 INFO L423 AbstractCegarLoop]: === Iteration 22 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:24,241 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:24,241 INFO L82 PathProgramCache]: Analyzing trace with hash 589052115, now seen corresponding path program 18 times [2018-11-18 23:08:24,241 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:24,241 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:24,242 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:24,242 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:08:24,242 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:24,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:24,583 INFO L256 TraceCheckUtils]: 0: Hoare triple {14871#true} call ULTIMATE.init(); {14871#true} is VALID [2018-11-18 23:08:24,584 INFO L273 TraceCheckUtils]: 1: Hoare triple {14871#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {14871#true} is VALID [2018-11-18 23:08:24,584 INFO L273 TraceCheckUtils]: 2: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,584 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14871#true} {14871#true} #74#return; {14871#true} is VALID [2018-11-18 23:08:24,584 INFO L256 TraceCheckUtils]: 4: Hoare triple {14871#true} call #t~ret14 := main(); {14871#true} is VALID [2018-11-18 23:08:24,585 INFO L273 TraceCheckUtils]: 5: Hoare triple {14871#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {14871#true} is VALID [2018-11-18 23:08:24,585 INFO L273 TraceCheckUtils]: 6: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,585 INFO L273 TraceCheckUtils]: 7: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:24,585 INFO L273 TraceCheckUtils]: 8: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:24,585 INFO L273 TraceCheckUtils]: 9: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,586 INFO L273 TraceCheckUtils]: 10: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:24,586 INFO L273 TraceCheckUtils]: 11: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:24,586 INFO L273 TraceCheckUtils]: 12: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,586 INFO L273 TraceCheckUtils]: 13: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:24,586 INFO L273 TraceCheckUtils]: 14: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:24,587 INFO L273 TraceCheckUtils]: 15: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,587 INFO L273 TraceCheckUtils]: 16: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:24,587 INFO L273 TraceCheckUtils]: 17: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:24,587 INFO L273 TraceCheckUtils]: 18: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,587 INFO L273 TraceCheckUtils]: 19: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:24,587 INFO L273 TraceCheckUtils]: 20: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:24,587 INFO L273 TraceCheckUtils]: 21: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,588 INFO L273 TraceCheckUtils]: 22: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:24,588 INFO L273 TraceCheckUtils]: 23: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:24,588 INFO L273 TraceCheckUtils]: 24: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,588 INFO L273 TraceCheckUtils]: 25: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:24,588 INFO L273 TraceCheckUtils]: 26: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:24,588 INFO L273 TraceCheckUtils]: 27: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,588 INFO L273 TraceCheckUtils]: 28: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:24,589 INFO L273 TraceCheckUtils]: 29: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:24,589 INFO L273 TraceCheckUtils]: 30: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,589 INFO L273 TraceCheckUtils]: 31: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:24,589 INFO L273 TraceCheckUtils]: 32: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:24,589 INFO L273 TraceCheckUtils]: 33: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,589 INFO L273 TraceCheckUtils]: 34: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:24,589 INFO L273 TraceCheckUtils]: 35: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:24,590 INFO L273 TraceCheckUtils]: 36: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,590 INFO L273 TraceCheckUtils]: 37: Hoare triple {14871#true} assume !(~i~1 < 10); {14871#true} is VALID [2018-11-18 23:08:24,590 INFO L256 TraceCheckUtils]: 38: Hoare triple {14871#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {14871#true} is VALID [2018-11-18 23:08:24,590 INFO L273 TraceCheckUtils]: 39: Hoare triple {14871#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {14871#true} is VALID [2018-11-18 23:08:24,590 INFO L273 TraceCheckUtils]: 40: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,590 INFO L273 TraceCheckUtils]: 41: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,590 INFO L273 TraceCheckUtils]: 42: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,590 INFO L273 TraceCheckUtils]: 43: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,591 INFO L273 TraceCheckUtils]: 44: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,591 INFO L273 TraceCheckUtils]: 45: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,591 INFO L273 TraceCheckUtils]: 46: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,591 INFO L273 TraceCheckUtils]: 47: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,591 INFO L273 TraceCheckUtils]: 48: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,591 INFO L273 TraceCheckUtils]: 49: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,591 INFO L273 TraceCheckUtils]: 50: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,592 INFO L273 TraceCheckUtils]: 51: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,592 INFO L273 TraceCheckUtils]: 52: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,592 INFO L273 TraceCheckUtils]: 53: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,592 INFO L273 TraceCheckUtils]: 54: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,592 INFO L273 TraceCheckUtils]: 55: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,592 INFO L273 TraceCheckUtils]: 56: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,593 INFO L273 TraceCheckUtils]: 57: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,593 INFO L273 TraceCheckUtils]: 58: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,593 INFO L273 TraceCheckUtils]: 59: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,593 INFO L273 TraceCheckUtils]: 60: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,593 INFO L273 TraceCheckUtils]: 61: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,593 INFO L273 TraceCheckUtils]: 62: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,594 INFO L273 TraceCheckUtils]: 63: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,594 INFO L273 TraceCheckUtils]: 64: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,594 INFO L273 TraceCheckUtils]: 65: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,594 INFO L273 TraceCheckUtils]: 66: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,594 INFO L273 TraceCheckUtils]: 67: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,594 INFO L273 TraceCheckUtils]: 68: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,594 INFO L273 TraceCheckUtils]: 69: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,595 INFO L273 TraceCheckUtils]: 70: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,595 INFO L273 TraceCheckUtils]: 71: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,595 INFO L273 TraceCheckUtils]: 72: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,595 INFO L273 TraceCheckUtils]: 73: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,595 INFO L273 TraceCheckUtils]: 74: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,595 INFO L273 TraceCheckUtils]: 75: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,595 INFO L273 TraceCheckUtils]: 76: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,596 INFO L273 TraceCheckUtils]: 77: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,596 INFO L273 TraceCheckUtils]: 78: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,596 INFO L273 TraceCheckUtils]: 79: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,596 INFO L273 TraceCheckUtils]: 80: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,596 INFO L273 TraceCheckUtils]: 81: Hoare triple {14871#true} assume !(~i~0 < 10); {14871#true} is VALID [2018-11-18 23:08:24,596 INFO L273 TraceCheckUtils]: 82: Hoare triple {14871#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {14871#true} is VALID [2018-11-18 23:08:24,596 INFO L273 TraceCheckUtils]: 83: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,596 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {14871#true} {14871#true} #78#return; {14871#true} is VALID [2018-11-18 23:08:24,597 INFO L273 TraceCheckUtils]: 85: Hoare triple {14871#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); {14871#true} is VALID [2018-11-18 23:08:24,597 INFO L256 TraceCheckUtils]: 86: Hoare triple {14871#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {14871#true} is VALID [2018-11-18 23:08:24,597 INFO L273 TraceCheckUtils]: 87: Hoare triple {14871#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {14871#true} is VALID [2018-11-18 23:08:24,597 INFO L273 TraceCheckUtils]: 88: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,597 INFO L273 TraceCheckUtils]: 89: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,597 INFO L273 TraceCheckUtils]: 90: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,597 INFO L273 TraceCheckUtils]: 91: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,598 INFO L273 TraceCheckUtils]: 92: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,598 INFO L273 TraceCheckUtils]: 93: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,598 INFO L273 TraceCheckUtils]: 94: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,598 INFO L273 TraceCheckUtils]: 95: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,598 INFO L273 TraceCheckUtils]: 96: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,598 INFO L273 TraceCheckUtils]: 97: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,598 INFO L273 TraceCheckUtils]: 98: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,599 INFO L273 TraceCheckUtils]: 99: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,599 INFO L273 TraceCheckUtils]: 100: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,599 INFO L273 TraceCheckUtils]: 101: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,599 INFO L273 TraceCheckUtils]: 102: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,599 INFO L273 TraceCheckUtils]: 103: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,599 INFO L273 TraceCheckUtils]: 104: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,599 INFO L273 TraceCheckUtils]: 105: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,599 INFO L273 TraceCheckUtils]: 106: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,600 INFO L273 TraceCheckUtils]: 107: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,617 INFO L273 TraceCheckUtils]: 108: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,617 INFO L273 TraceCheckUtils]: 109: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,618 INFO L273 TraceCheckUtils]: 110: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,618 INFO L273 TraceCheckUtils]: 111: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,618 INFO L273 TraceCheckUtils]: 112: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,618 INFO L273 TraceCheckUtils]: 113: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,618 INFO L273 TraceCheckUtils]: 114: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,618 INFO L273 TraceCheckUtils]: 115: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,618 INFO L273 TraceCheckUtils]: 116: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,619 INFO L273 TraceCheckUtils]: 117: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,619 INFO L273 TraceCheckUtils]: 118: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,619 INFO L273 TraceCheckUtils]: 119: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,619 INFO L273 TraceCheckUtils]: 120: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,619 INFO L273 TraceCheckUtils]: 121: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,619 INFO L273 TraceCheckUtils]: 122: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,619 INFO L273 TraceCheckUtils]: 123: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,620 INFO L273 TraceCheckUtils]: 124: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,620 INFO L273 TraceCheckUtils]: 125: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,620 INFO L273 TraceCheckUtils]: 126: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,620 INFO L273 TraceCheckUtils]: 127: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,620 INFO L273 TraceCheckUtils]: 128: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,621 INFO L273 TraceCheckUtils]: 129: Hoare triple {14871#true} assume !(~i~0 < 10); {14871#true} is VALID [2018-11-18 23:08:24,621 INFO L273 TraceCheckUtils]: 130: Hoare triple {14871#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {14871#true} is VALID [2018-11-18 23:08:24,621 INFO L273 TraceCheckUtils]: 131: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,621 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {14871#true} {14871#true} #80#return; {14871#true} is VALID [2018-11-18 23:08:24,622 INFO L273 TraceCheckUtils]: 133: Hoare triple {14871#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; {14873#(= main_~i~2 0)} is VALID [2018-11-18 23:08:24,623 INFO L273 TraceCheckUtils]: 134: Hoare triple {14873#(= main_~i~2 0)} assume true; {14873#(= main_~i~2 0)} is VALID [2018-11-18 23:08:24,623 INFO L273 TraceCheckUtils]: 135: Hoare triple {14873#(= main_~i~2 0)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14873#(= main_~i~2 0)} is VALID [2018-11-18 23:08:24,623 INFO L273 TraceCheckUtils]: 136: Hoare triple {14873#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14874#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:24,624 INFO L273 TraceCheckUtils]: 137: Hoare triple {14874#(<= main_~i~2 1)} assume true; {14874#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:24,624 INFO L273 TraceCheckUtils]: 138: Hoare triple {14874#(<= main_~i~2 1)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14874#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:24,624 INFO L273 TraceCheckUtils]: 139: Hoare triple {14874#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14875#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:24,625 INFO L273 TraceCheckUtils]: 140: Hoare triple {14875#(<= main_~i~2 2)} assume true; {14875#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:24,625 INFO L273 TraceCheckUtils]: 141: Hoare triple {14875#(<= main_~i~2 2)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14875#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:24,625 INFO L273 TraceCheckUtils]: 142: Hoare triple {14875#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14876#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:24,626 INFO L273 TraceCheckUtils]: 143: Hoare triple {14876#(<= main_~i~2 3)} assume true; {14876#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:24,626 INFO L273 TraceCheckUtils]: 144: Hoare triple {14876#(<= main_~i~2 3)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14876#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:24,627 INFO L273 TraceCheckUtils]: 145: Hoare triple {14876#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14877#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:24,627 INFO L273 TraceCheckUtils]: 146: Hoare triple {14877#(<= main_~i~2 4)} assume true; {14877#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:24,628 INFO L273 TraceCheckUtils]: 147: Hoare triple {14877#(<= main_~i~2 4)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14877#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:24,628 INFO L273 TraceCheckUtils]: 148: Hoare triple {14877#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14878#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:24,629 INFO L273 TraceCheckUtils]: 149: Hoare triple {14878#(<= main_~i~2 5)} assume true; {14878#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:24,629 INFO L273 TraceCheckUtils]: 150: Hoare triple {14878#(<= main_~i~2 5)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14878#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:24,630 INFO L273 TraceCheckUtils]: 151: Hoare triple {14878#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14879#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:24,630 INFO L273 TraceCheckUtils]: 152: Hoare triple {14879#(<= main_~i~2 6)} assume true; {14879#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:24,631 INFO L273 TraceCheckUtils]: 153: Hoare triple {14879#(<= main_~i~2 6)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14879#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:24,632 INFO L273 TraceCheckUtils]: 154: Hoare triple {14879#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14880#(<= main_~i~2 7)} is VALID [2018-11-18 23:08:24,632 INFO L273 TraceCheckUtils]: 155: Hoare triple {14880#(<= main_~i~2 7)} assume true; {14880#(<= main_~i~2 7)} is VALID [2018-11-18 23:08:24,633 INFO L273 TraceCheckUtils]: 156: Hoare triple {14880#(<= main_~i~2 7)} assume !(~i~2 < 9); {14872#false} is VALID [2018-11-18 23:08:24,633 INFO L273 TraceCheckUtils]: 157: Hoare triple {14872#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {14872#false} is VALID [2018-11-18 23:08:24,633 INFO L256 TraceCheckUtils]: 158: Hoare triple {14872#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {14871#true} is VALID [2018-11-18 23:08:24,633 INFO L273 TraceCheckUtils]: 159: Hoare triple {14871#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {14871#true} is VALID [2018-11-18 23:08:24,634 INFO L273 TraceCheckUtils]: 160: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,634 INFO L273 TraceCheckUtils]: 161: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,634 INFO L273 TraceCheckUtils]: 162: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,634 INFO L273 TraceCheckUtils]: 163: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,634 INFO L273 TraceCheckUtils]: 164: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,634 INFO L273 TraceCheckUtils]: 165: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,635 INFO L273 TraceCheckUtils]: 166: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,635 INFO L273 TraceCheckUtils]: 167: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,635 INFO L273 TraceCheckUtils]: 168: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,635 INFO L273 TraceCheckUtils]: 169: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,635 INFO L273 TraceCheckUtils]: 170: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,635 INFO L273 TraceCheckUtils]: 171: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,636 INFO L273 TraceCheckUtils]: 172: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,636 INFO L273 TraceCheckUtils]: 173: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,636 INFO L273 TraceCheckUtils]: 174: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,636 INFO L273 TraceCheckUtils]: 175: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,636 INFO L273 TraceCheckUtils]: 176: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,636 INFO L273 TraceCheckUtils]: 177: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,636 INFO L273 TraceCheckUtils]: 178: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,636 INFO L273 TraceCheckUtils]: 179: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,636 INFO L273 TraceCheckUtils]: 180: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,636 INFO L273 TraceCheckUtils]: 181: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,637 INFO L273 TraceCheckUtils]: 182: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,637 INFO L273 TraceCheckUtils]: 183: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,637 INFO L273 TraceCheckUtils]: 184: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,637 INFO L273 TraceCheckUtils]: 185: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,637 INFO L273 TraceCheckUtils]: 186: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,637 INFO L273 TraceCheckUtils]: 187: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,637 INFO L273 TraceCheckUtils]: 188: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,637 INFO L273 TraceCheckUtils]: 189: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,637 INFO L273 TraceCheckUtils]: 190: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,637 INFO L273 TraceCheckUtils]: 191: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,638 INFO L273 TraceCheckUtils]: 192: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,638 INFO L273 TraceCheckUtils]: 193: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,638 INFO L273 TraceCheckUtils]: 194: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,638 INFO L273 TraceCheckUtils]: 195: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,638 INFO L273 TraceCheckUtils]: 196: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,638 INFO L273 TraceCheckUtils]: 197: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:24,638 INFO L273 TraceCheckUtils]: 198: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:24,638 INFO L273 TraceCheckUtils]: 199: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:24,638 INFO L273 TraceCheckUtils]: 200: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,639 INFO L273 TraceCheckUtils]: 201: Hoare triple {14871#true} assume !(~i~0 < 10); {14871#true} is VALID [2018-11-18 23:08:24,639 INFO L273 TraceCheckUtils]: 202: Hoare triple {14871#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {14871#true} is VALID [2018-11-18 23:08:24,639 INFO L273 TraceCheckUtils]: 203: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:24,639 INFO L268 TraceCheckUtils]: 204: Hoare quadruple {14871#true} {14872#false} #82#return; {14872#false} is VALID [2018-11-18 23:08:24,639 INFO L273 TraceCheckUtils]: 205: Hoare triple {14872#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {14872#false} is VALID [2018-11-18 23:08:24,639 INFO L273 TraceCheckUtils]: 206: Hoare triple {14872#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {14872#false} is VALID [2018-11-18 23:08:24,639 INFO L273 TraceCheckUtils]: 207: Hoare triple {14872#false} assume !false; {14872#false} is VALID [2018-11-18 23:08:24,656 INFO L134 CoverageAnalysis]: Checked inductivity of 2170 backedges. 0 proven. 77 refuted. 0 times theorem prover too weak. 2093 trivial. 0 not checked. [2018-11-18 23:08:24,657 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:24,657 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-18 23:08:24,666 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-18 23:08:25,147 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 17 check-sat command(s) [2018-11-18 23:08:25,147 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:08:25,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:25,186 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:25,383 INFO L256 TraceCheckUtils]: 0: Hoare triple {14871#true} call ULTIMATE.init(); {14871#true} is VALID [2018-11-18 23:08:25,383 INFO L273 TraceCheckUtils]: 1: Hoare triple {14871#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {14871#true} is VALID [2018-11-18 23:08:25,384 INFO L273 TraceCheckUtils]: 2: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,384 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14871#true} {14871#true} #74#return; {14871#true} is VALID [2018-11-18 23:08:25,384 INFO L256 TraceCheckUtils]: 4: Hoare triple {14871#true} call #t~ret14 := main(); {14871#true} is VALID [2018-11-18 23:08:25,384 INFO L273 TraceCheckUtils]: 5: Hoare triple {14871#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {14871#true} is VALID [2018-11-18 23:08:25,384 INFO L273 TraceCheckUtils]: 6: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,385 INFO L273 TraceCheckUtils]: 7: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:25,385 INFO L273 TraceCheckUtils]: 8: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:25,385 INFO L273 TraceCheckUtils]: 9: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,385 INFO L273 TraceCheckUtils]: 10: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:25,385 INFO L273 TraceCheckUtils]: 11: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:25,386 INFO L273 TraceCheckUtils]: 12: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,386 INFO L273 TraceCheckUtils]: 13: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:25,386 INFO L273 TraceCheckUtils]: 14: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:25,386 INFO L273 TraceCheckUtils]: 15: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,386 INFO L273 TraceCheckUtils]: 16: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:25,386 INFO L273 TraceCheckUtils]: 17: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:25,387 INFO L273 TraceCheckUtils]: 18: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,387 INFO L273 TraceCheckUtils]: 19: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:25,387 INFO L273 TraceCheckUtils]: 20: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:25,387 INFO L273 TraceCheckUtils]: 21: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,387 INFO L273 TraceCheckUtils]: 22: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:25,387 INFO L273 TraceCheckUtils]: 23: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:25,388 INFO L273 TraceCheckUtils]: 24: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,388 INFO L273 TraceCheckUtils]: 25: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:25,388 INFO L273 TraceCheckUtils]: 26: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:25,388 INFO L273 TraceCheckUtils]: 27: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,388 INFO L273 TraceCheckUtils]: 28: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:25,388 INFO L273 TraceCheckUtils]: 29: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:25,388 INFO L273 TraceCheckUtils]: 30: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,388 INFO L273 TraceCheckUtils]: 31: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:25,388 INFO L273 TraceCheckUtils]: 32: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:25,389 INFO L273 TraceCheckUtils]: 33: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,389 INFO L273 TraceCheckUtils]: 34: Hoare triple {14871#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {14871#true} is VALID [2018-11-18 23:08:25,389 INFO L273 TraceCheckUtils]: 35: Hoare triple {14871#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {14871#true} is VALID [2018-11-18 23:08:25,389 INFO L273 TraceCheckUtils]: 36: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,389 INFO L273 TraceCheckUtils]: 37: Hoare triple {14871#true} assume !(~i~1 < 10); {14871#true} is VALID [2018-11-18 23:08:25,389 INFO L256 TraceCheckUtils]: 38: Hoare triple {14871#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {14871#true} is VALID [2018-11-18 23:08:25,389 INFO L273 TraceCheckUtils]: 39: Hoare triple {14871#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {14871#true} is VALID [2018-11-18 23:08:25,389 INFO L273 TraceCheckUtils]: 40: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,389 INFO L273 TraceCheckUtils]: 41: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,389 INFO L273 TraceCheckUtils]: 42: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,390 INFO L273 TraceCheckUtils]: 43: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,390 INFO L273 TraceCheckUtils]: 44: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,390 INFO L273 TraceCheckUtils]: 45: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,390 INFO L273 TraceCheckUtils]: 46: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,390 INFO L273 TraceCheckUtils]: 47: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,390 INFO L273 TraceCheckUtils]: 48: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,390 INFO L273 TraceCheckUtils]: 49: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,390 INFO L273 TraceCheckUtils]: 50: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,390 INFO L273 TraceCheckUtils]: 51: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,391 INFO L273 TraceCheckUtils]: 52: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,391 INFO L273 TraceCheckUtils]: 53: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,391 INFO L273 TraceCheckUtils]: 54: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,391 INFO L273 TraceCheckUtils]: 55: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,391 INFO L273 TraceCheckUtils]: 56: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,391 INFO L273 TraceCheckUtils]: 57: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,391 INFO L273 TraceCheckUtils]: 58: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,391 INFO L273 TraceCheckUtils]: 59: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,391 INFO L273 TraceCheckUtils]: 60: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,392 INFO L273 TraceCheckUtils]: 61: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,392 INFO L273 TraceCheckUtils]: 62: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,392 INFO L273 TraceCheckUtils]: 63: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,392 INFO L273 TraceCheckUtils]: 64: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,392 INFO L273 TraceCheckUtils]: 65: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,392 INFO L273 TraceCheckUtils]: 66: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,392 INFO L273 TraceCheckUtils]: 67: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,392 INFO L273 TraceCheckUtils]: 68: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,392 INFO L273 TraceCheckUtils]: 69: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,392 INFO L273 TraceCheckUtils]: 70: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,393 INFO L273 TraceCheckUtils]: 71: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,393 INFO L273 TraceCheckUtils]: 72: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,393 INFO L273 TraceCheckUtils]: 73: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,393 INFO L273 TraceCheckUtils]: 74: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,393 INFO L273 TraceCheckUtils]: 75: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,393 INFO L273 TraceCheckUtils]: 76: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,393 INFO L273 TraceCheckUtils]: 77: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,393 INFO L273 TraceCheckUtils]: 78: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,393 INFO L273 TraceCheckUtils]: 79: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,393 INFO L273 TraceCheckUtils]: 80: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,394 INFO L273 TraceCheckUtils]: 81: Hoare triple {14871#true} assume !(~i~0 < 10); {14871#true} is VALID [2018-11-18 23:08:25,394 INFO L273 TraceCheckUtils]: 82: Hoare triple {14871#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {14871#true} is VALID [2018-11-18 23:08:25,394 INFO L273 TraceCheckUtils]: 83: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,394 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {14871#true} {14871#true} #78#return; {14871#true} is VALID [2018-11-18 23:08:25,394 INFO L273 TraceCheckUtils]: 85: Hoare triple {14871#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); {14871#true} is VALID [2018-11-18 23:08:25,394 INFO L256 TraceCheckUtils]: 86: Hoare triple {14871#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {14871#true} is VALID [2018-11-18 23:08:25,394 INFO L273 TraceCheckUtils]: 87: Hoare triple {14871#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {14871#true} is VALID [2018-11-18 23:08:25,394 INFO L273 TraceCheckUtils]: 88: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,394 INFO L273 TraceCheckUtils]: 89: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,395 INFO L273 TraceCheckUtils]: 90: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,395 INFO L273 TraceCheckUtils]: 91: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,395 INFO L273 TraceCheckUtils]: 92: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,395 INFO L273 TraceCheckUtils]: 93: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,395 INFO L273 TraceCheckUtils]: 94: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,395 INFO L273 TraceCheckUtils]: 95: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,395 INFO L273 TraceCheckUtils]: 96: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,395 INFO L273 TraceCheckUtils]: 97: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,395 INFO L273 TraceCheckUtils]: 98: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,395 INFO L273 TraceCheckUtils]: 99: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,396 INFO L273 TraceCheckUtils]: 100: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,396 INFO L273 TraceCheckUtils]: 101: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,396 INFO L273 TraceCheckUtils]: 102: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,396 INFO L273 TraceCheckUtils]: 103: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,396 INFO L273 TraceCheckUtils]: 104: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,396 INFO L273 TraceCheckUtils]: 105: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,396 INFO L273 TraceCheckUtils]: 106: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,396 INFO L273 TraceCheckUtils]: 107: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,396 INFO L273 TraceCheckUtils]: 108: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,396 INFO L273 TraceCheckUtils]: 109: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,397 INFO L273 TraceCheckUtils]: 110: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,397 INFO L273 TraceCheckUtils]: 111: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,397 INFO L273 TraceCheckUtils]: 112: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,397 INFO L273 TraceCheckUtils]: 113: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,397 INFO L273 TraceCheckUtils]: 114: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,397 INFO L273 TraceCheckUtils]: 115: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,397 INFO L273 TraceCheckUtils]: 116: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,397 INFO L273 TraceCheckUtils]: 117: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,397 INFO L273 TraceCheckUtils]: 118: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,397 INFO L273 TraceCheckUtils]: 119: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,398 INFO L273 TraceCheckUtils]: 120: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,398 INFO L273 TraceCheckUtils]: 121: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,398 INFO L273 TraceCheckUtils]: 122: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,398 INFO L273 TraceCheckUtils]: 123: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,398 INFO L273 TraceCheckUtils]: 124: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,398 INFO L273 TraceCheckUtils]: 125: Hoare triple {14871#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14871#true} is VALID [2018-11-18 23:08:25,398 INFO L273 TraceCheckUtils]: 126: Hoare triple {14871#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14871#true} is VALID [2018-11-18 23:08:25,398 INFO L273 TraceCheckUtils]: 127: Hoare triple {14871#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14871#true} is VALID [2018-11-18 23:08:25,398 INFO L273 TraceCheckUtils]: 128: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,399 INFO L273 TraceCheckUtils]: 129: Hoare triple {14871#true} assume !(~i~0 < 10); {14871#true} is VALID [2018-11-18 23:08:25,399 INFO L273 TraceCheckUtils]: 130: Hoare triple {14871#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {14871#true} is VALID [2018-11-18 23:08:25,399 INFO L273 TraceCheckUtils]: 131: Hoare triple {14871#true} assume true; {14871#true} is VALID [2018-11-18 23:08:25,399 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {14871#true} {14871#true} #80#return; {14871#true} is VALID [2018-11-18 23:08:25,399 INFO L273 TraceCheckUtils]: 133: Hoare triple {14871#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; {15283#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:25,401 INFO L273 TraceCheckUtils]: 134: Hoare triple {15283#(<= main_~i~2 0)} assume true; {15283#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:25,401 INFO L273 TraceCheckUtils]: 135: Hoare triple {15283#(<= main_~i~2 0)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {15283#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:25,401 INFO L273 TraceCheckUtils]: 136: Hoare triple {15283#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14874#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:25,402 INFO L273 TraceCheckUtils]: 137: Hoare triple {14874#(<= main_~i~2 1)} assume true; {14874#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:25,403 INFO L273 TraceCheckUtils]: 138: Hoare triple {14874#(<= main_~i~2 1)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14874#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:25,403 INFO L273 TraceCheckUtils]: 139: Hoare triple {14874#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14875#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:25,403 INFO L273 TraceCheckUtils]: 140: Hoare triple {14875#(<= main_~i~2 2)} assume true; {14875#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:25,404 INFO L273 TraceCheckUtils]: 141: Hoare triple {14875#(<= main_~i~2 2)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14875#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:25,404 INFO L273 TraceCheckUtils]: 142: Hoare triple {14875#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14876#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:25,405 INFO L273 TraceCheckUtils]: 143: Hoare triple {14876#(<= main_~i~2 3)} assume true; {14876#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:25,405 INFO L273 TraceCheckUtils]: 144: Hoare triple {14876#(<= main_~i~2 3)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14876#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:25,406 INFO L273 TraceCheckUtils]: 145: Hoare triple {14876#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14877#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:25,407 INFO L273 TraceCheckUtils]: 146: Hoare triple {14877#(<= main_~i~2 4)} assume true; {14877#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:25,407 INFO L273 TraceCheckUtils]: 147: Hoare triple {14877#(<= main_~i~2 4)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14877#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:25,408 INFO L273 TraceCheckUtils]: 148: Hoare triple {14877#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14878#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:25,408 INFO L273 TraceCheckUtils]: 149: Hoare triple {14878#(<= main_~i~2 5)} assume true; {14878#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:25,410 INFO L273 TraceCheckUtils]: 150: Hoare triple {14878#(<= main_~i~2 5)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14878#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:25,410 INFO L273 TraceCheckUtils]: 151: Hoare triple {14878#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14879#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:25,411 INFO L273 TraceCheckUtils]: 152: Hoare triple {14879#(<= main_~i~2 6)} assume true; {14879#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:25,411 INFO L273 TraceCheckUtils]: 153: Hoare triple {14879#(<= main_~i~2 6)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {14879#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:25,412 INFO L273 TraceCheckUtils]: 154: Hoare triple {14879#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {14880#(<= main_~i~2 7)} is VALID [2018-11-18 23:08:25,413 INFO L273 TraceCheckUtils]: 155: Hoare triple {14880#(<= main_~i~2 7)} assume true; {14880#(<= main_~i~2 7)} is VALID [2018-11-18 23:08:25,413 INFO L273 TraceCheckUtils]: 156: Hoare triple {14880#(<= main_~i~2 7)} assume !(~i~2 < 9); {14872#false} is VALID [2018-11-18 23:08:25,413 INFO L273 TraceCheckUtils]: 157: Hoare triple {14872#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {14872#false} is VALID [2018-11-18 23:08:25,414 INFO L256 TraceCheckUtils]: 158: Hoare triple {14872#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {14872#false} is VALID [2018-11-18 23:08:25,414 INFO L273 TraceCheckUtils]: 159: Hoare triple {14872#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {14872#false} is VALID [2018-11-18 23:08:25,414 INFO L273 TraceCheckUtils]: 160: Hoare triple {14872#false} assume true; {14872#false} is VALID [2018-11-18 23:08:25,414 INFO L273 TraceCheckUtils]: 161: Hoare triple {14872#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14872#false} is VALID [2018-11-18 23:08:25,414 INFO L273 TraceCheckUtils]: 162: Hoare triple {14872#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14872#false} is VALID [2018-11-18 23:08:25,414 INFO L273 TraceCheckUtils]: 163: Hoare triple {14872#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14872#false} is VALID [2018-11-18 23:08:25,415 INFO L273 TraceCheckUtils]: 164: Hoare triple {14872#false} assume true; {14872#false} is VALID [2018-11-18 23:08:25,415 INFO L273 TraceCheckUtils]: 165: Hoare triple {14872#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14872#false} is VALID [2018-11-18 23:08:25,415 INFO L273 TraceCheckUtils]: 166: Hoare triple {14872#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14872#false} is VALID [2018-11-18 23:08:25,415 INFO L273 TraceCheckUtils]: 167: Hoare triple {14872#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14872#false} is VALID [2018-11-18 23:08:25,415 INFO L273 TraceCheckUtils]: 168: Hoare triple {14872#false} assume true; {14872#false} is VALID [2018-11-18 23:08:25,416 INFO L273 TraceCheckUtils]: 169: Hoare triple {14872#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14872#false} is VALID [2018-11-18 23:08:25,416 INFO L273 TraceCheckUtils]: 170: Hoare triple {14872#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14872#false} is VALID [2018-11-18 23:08:25,416 INFO L273 TraceCheckUtils]: 171: Hoare triple {14872#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14872#false} is VALID [2018-11-18 23:08:25,416 INFO L273 TraceCheckUtils]: 172: Hoare triple {14872#false} assume true; {14872#false} is VALID [2018-11-18 23:08:25,416 INFO L273 TraceCheckUtils]: 173: Hoare triple {14872#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14872#false} is VALID [2018-11-18 23:08:25,416 INFO L273 TraceCheckUtils]: 174: Hoare triple {14872#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14872#false} is VALID [2018-11-18 23:08:25,416 INFO L273 TraceCheckUtils]: 175: Hoare triple {14872#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14872#false} is VALID [2018-11-18 23:08:25,416 INFO L273 TraceCheckUtils]: 176: Hoare triple {14872#false} assume true; {14872#false} is VALID [2018-11-18 23:08:25,416 INFO L273 TraceCheckUtils]: 177: Hoare triple {14872#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14872#false} is VALID [2018-11-18 23:08:25,417 INFO L273 TraceCheckUtils]: 178: Hoare triple {14872#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14872#false} is VALID [2018-11-18 23:08:25,417 INFO L273 TraceCheckUtils]: 179: Hoare triple {14872#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14872#false} is VALID [2018-11-18 23:08:25,417 INFO L273 TraceCheckUtils]: 180: Hoare triple {14872#false} assume true; {14872#false} is VALID [2018-11-18 23:08:25,417 INFO L273 TraceCheckUtils]: 181: Hoare triple {14872#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14872#false} is VALID [2018-11-18 23:08:25,417 INFO L273 TraceCheckUtils]: 182: Hoare triple {14872#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14872#false} is VALID [2018-11-18 23:08:25,417 INFO L273 TraceCheckUtils]: 183: Hoare triple {14872#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14872#false} is VALID [2018-11-18 23:08:25,417 INFO L273 TraceCheckUtils]: 184: Hoare triple {14872#false} assume true; {14872#false} is VALID [2018-11-18 23:08:25,417 INFO L273 TraceCheckUtils]: 185: Hoare triple {14872#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14872#false} is VALID [2018-11-18 23:08:25,417 INFO L273 TraceCheckUtils]: 186: Hoare triple {14872#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14872#false} is VALID [2018-11-18 23:08:25,417 INFO L273 TraceCheckUtils]: 187: Hoare triple {14872#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14872#false} is VALID [2018-11-18 23:08:25,418 INFO L273 TraceCheckUtils]: 188: Hoare triple {14872#false} assume true; {14872#false} is VALID [2018-11-18 23:08:25,418 INFO L273 TraceCheckUtils]: 189: Hoare triple {14872#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14872#false} is VALID [2018-11-18 23:08:25,418 INFO L273 TraceCheckUtils]: 190: Hoare triple {14872#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14872#false} is VALID [2018-11-18 23:08:25,418 INFO L273 TraceCheckUtils]: 191: Hoare triple {14872#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14872#false} is VALID [2018-11-18 23:08:25,418 INFO L273 TraceCheckUtils]: 192: Hoare triple {14872#false} assume true; {14872#false} is VALID [2018-11-18 23:08:25,418 INFO L273 TraceCheckUtils]: 193: Hoare triple {14872#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14872#false} is VALID [2018-11-18 23:08:25,418 INFO L273 TraceCheckUtils]: 194: Hoare triple {14872#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14872#false} is VALID [2018-11-18 23:08:25,418 INFO L273 TraceCheckUtils]: 195: Hoare triple {14872#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14872#false} is VALID [2018-11-18 23:08:25,418 INFO L273 TraceCheckUtils]: 196: Hoare triple {14872#false} assume true; {14872#false} is VALID [2018-11-18 23:08:25,418 INFO L273 TraceCheckUtils]: 197: Hoare triple {14872#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {14872#false} is VALID [2018-11-18 23:08:25,419 INFO L273 TraceCheckUtils]: 198: Hoare triple {14872#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {14872#false} is VALID [2018-11-18 23:08:25,419 INFO L273 TraceCheckUtils]: 199: Hoare triple {14872#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14872#false} is VALID [2018-11-18 23:08:25,419 INFO L273 TraceCheckUtils]: 200: Hoare triple {14872#false} assume true; {14872#false} is VALID [2018-11-18 23:08:25,419 INFO L273 TraceCheckUtils]: 201: Hoare triple {14872#false} assume !(~i~0 < 10); {14872#false} is VALID [2018-11-18 23:08:25,419 INFO L273 TraceCheckUtils]: 202: Hoare triple {14872#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {14872#false} is VALID [2018-11-18 23:08:25,419 INFO L273 TraceCheckUtils]: 203: Hoare triple {14872#false} assume true; {14872#false} is VALID [2018-11-18 23:08:25,419 INFO L268 TraceCheckUtils]: 204: Hoare quadruple {14872#false} {14872#false} #82#return; {14872#false} is VALID [2018-11-18 23:08:25,419 INFO L273 TraceCheckUtils]: 205: Hoare triple {14872#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {14872#false} is VALID [2018-11-18 23:08:25,419 INFO L273 TraceCheckUtils]: 206: Hoare triple {14872#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {14872#false} is VALID [2018-11-18 23:08:25,420 INFO L273 TraceCheckUtils]: 207: Hoare triple {14872#false} assume !false; {14872#false} is VALID [2018-11-18 23:08:25,437 INFO L134 CoverageAnalysis]: Checked inductivity of 2170 backedges. 892 proven. 77 refuted. 0 times theorem prover too weak. 1201 trivial. 0 not checked. [2018-11-18 23:08:25,457 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:25,458 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2018-11-18 23:08:25,458 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 208 [2018-11-18 23:08:25,458 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:25,458 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-18 23:08:25,523 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:25,524 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-18 23:08:25,524 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-18 23:08:25,524 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-18 23:08:25,525 INFO L87 Difference]: Start difference. First operand 117 states and 131 transitions. Second operand 11 states. [2018-11-18 23:08:25,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:25,668 INFO L93 Difference]: Finished difference Result 173 states and 198 transitions. [2018-11-18 23:08:25,668 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-18 23:08:25,669 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 208 [2018-11-18 23:08:25,669 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:25,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-18 23:08:25,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2018-11-18 23:08:25,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-18 23:08:25,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2018-11-18 23:08:25,671 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 75 transitions. [2018-11-18 23:08:25,765 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-18 23:08:25,767 INFO L225 Difference]: With dead ends: 173 [2018-11-18 23:08:25,771 INFO L226 Difference]: Without dead ends: 121 [2018-11-18 23:08:25,771 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 217 GetRequests, 208 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-18 23:08:25,771 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2018-11-18 23:08:25,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 120. [2018-11-18 23:08:25,809 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:25,810 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand 120 states. [2018-11-18 23:08:25,810 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 120 states. [2018-11-18 23:08:25,810 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 120 states. [2018-11-18 23:08:25,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:25,812 INFO L93 Difference]: Finished difference Result 121 states and 135 transitions. [2018-11-18 23:08:25,812 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 135 transitions. [2018-11-18 23:08:25,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:25,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:25,813 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand 121 states. [2018-11-18 23:08:25,813 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 121 states. [2018-11-18 23:08:25,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:25,815 INFO L93 Difference]: Finished difference Result 121 states and 135 transitions. [2018-11-18 23:08:25,815 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 135 transitions. [2018-11-18 23:08:25,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:25,816 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:25,816 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:25,816 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:25,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 120 states. [2018-11-18 23:08:25,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 134 transitions. [2018-11-18 23:08:25,819 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 134 transitions. Word has length 208 [2018-11-18 23:08:25,819 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:25,819 INFO L480 AbstractCegarLoop]: Abstraction has 120 states and 134 transitions. [2018-11-18 23:08:25,819 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-18 23:08:25,819 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 134 transitions. [2018-11-18 23:08:25,820 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 212 [2018-11-18 23:08:25,820 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:25,821 INFO L375 BasicCegarLoop]: trace histogram [33, 30, 30, 30, 11, 10, 10, 9, 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-18 23:08:25,821 INFO L423 AbstractCegarLoop]: === Iteration 23 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:25,821 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:25,821 INFO L82 PathProgramCache]: Analyzing trace with hash 649156124, now seen corresponding path program 19 times [2018-11-18 23:08:25,821 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:25,822 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:25,822 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:25,822 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:08:25,823 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:25,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:26,158 INFO L256 TraceCheckUtils]: 0: Hoare triple {16131#true} call ULTIMATE.init(); {16131#true} is VALID [2018-11-18 23:08:26,158 INFO L273 TraceCheckUtils]: 1: Hoare triple {16131#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {16131#true} is VALID [2018-11-18 23:08:26,158 INFO L273 TraceCheckUtils]: 2: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,158 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16131#true} {16131#true} #74#return; {16131#true} is VALID [2018-11-18 23:08:26,159 INFO L256 TraceCheckUtils]: 4: Hoare triple {16131#true} call #t~ret14 := main(); {16131#true} is VALID [2018-11-18 23:08:26,159 INFO L273 TraceCheckUtils]: 5: Hoare triple {16131#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {16131#true} is VALID [2018-11-18 23:08:26,159 INFO L273 TraceCheckUtils]: 6: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,159 INFO L273 TraceCheckUtils]: 7: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,159 INFO L273 TraceCheckUtils]: 8: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,159 INFO L273 TraceCheckUtils]: 9: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,159 INFO L273 TraceCheckUtils]: 10: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,160 INFO L273 TraceCheckUtils]: 11: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,160 INFO L273 TraceCheckUtils]: 12: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,160 INFO L273 TraceCheckUtils]: 13: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,160 INFO L273 TraceCheckUtils]: 14: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,160 INFO L273 TraceCheckUtils]: 15: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,160 INFO L273 TraceCheckUtils]: 16: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,160 INFO L273 TraceCheckUtils]: 17: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,160 INFO L273 TraceCheckUtils]: 18: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,160 INFO L273 TraceCheckUtils]: 19: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,161 INFO L273 TraceCheckUtils]: 20: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,161 INFO L273 TraceCheckUtils]: 21: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,161 INFO L273 TraceCheckUtils]: 22: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,161 INFO L273 TraceCheckUtils]: 23: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,161 INFO L273 TraceCheckUtils]: 24: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,161 INFO L273 TraceCheckUtils]: 25: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,161 INFO L273 TraceCheckUtils]: 26: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,161 INFO L273 TraceCheckUtils]: 27: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,161 INFO L273 TraceCheckUtils]: 28: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,161 INFO L273 TraceCheckUtils]: 29: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,162 INFO L273 TraceCheckUtils]: 30: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,162 INFO L273 TraceCheckUtils]: 31: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,162 INFO L273 TraceCheckUtils]: 32: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,162 INFO L273 TraceCheckUtils]: 33: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,162 INFO L273 TraceCheckUtils]: 34: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,162 INFO L273 TraceCheckUtils]: 35: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,162 INFO L273 TraceCheckUtils]: 36: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,162 INFO L273 TraceCheckUtils]: 37: Hoare triple {16131#true} assume !(~i~1 < 10); {16131#true} is VALID [2018-11-18 23:08:26,162 INFO L256 TraceCheckUtils]: 38: Hoare triple {16131#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {16131#true} is VALID [2018-11-18 23:08:26,162 INFO L273 TraceCheckUtils]: 39: Hoare triple {16131#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16131#true} is VALID [2018-11-18 23:08:26,163 INFO L273 TraceCheckUtils]: 40: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,163 INFO L273 TraceCheckUtils]: 41: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,163 INFO L273 TraceCheckUtils]: 42: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,163 INFO L273 TraceCheckUtils]: 43: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,163 INFO L273 TraceCheckUtils]: 44: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,163 INFO L273 TraceCheckUtils]: 45: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,163 INFO L273 TraceCheckUtils]: 46: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,163 INFO L273 TraceCheckUtils]: 47: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,163 INFO L273 TraceCheckUtils]: 48: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,164 INFO L273 TraceCheckUtils]: 49: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,164 INFO L273 TraceCheckUtils]: 50: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,164 INFO L273 TraceCheckUtils]: 51: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,164 INFO L273 TraceCheckUtils]: 52: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,164 INFO L273 TraceCheckUtils]: 53: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,164 INFO L273 TraceCheckUtils]: 54: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,164 INFO L273 TraceCheckUtils]: 55: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,164 INFO L273 TraceCheckUtils]: 56: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,164 INFO L273 TraceCheckUtils]: 57: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,165 INFO L273 TraceCheckUtils]: 58: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,165 INFO L273 TraceCheckUtils]: 59: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,165 INFO L273 TraceCheckUtils]: 60: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,165 INFO L273 TraceCheckUtils]: 61: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,165 INFO L273 TraceCheckUtils]: 62: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,165 INFO L273 TraceCheckUtils]: 63: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,166 INFO L273 TraceCheckUtils]: 64: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,166 INFO L273 TraceCheckUtils]: 65: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,166 INFO L273 TraceCheckUtils]: 66: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,166 INFO L273 TraceCheckUtils]: 67: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,166 INFO L273 TraceCheckUtils]: 68: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,166 INFO L273 TraceCheckUtils]: 69: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,167 INFO L273 TraceCheckUtils]: 70: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,167 INFO L273 TraceCheckUtils]: 71: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,167 INFO L273 TraceCheckUtils]: 72: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,167 INFO L273 TraceCheckUtils]: 73: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,167 INFO L273 TraceCheckUtils]: 74: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,167 INFO L273 TraceCheckUtils]: 75: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,168 INFO L273 TraceCheckUtils]: 76: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,168 INFO L273 TraceCheckUtils]: 77: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,168 INFO L273 TraceCheckUtils]: 78: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,168 INFO L273 TraceCheckUtils]: 79: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,168 INFO L273 TraceCheckUtils]: 80: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,168 INFO L273 TraceCheckUtils]: 81: Hoare triple {16131#true} assume !(~i~0 < 10); {16131#true} is VALID [2018-11-18 23:08:26,169 INFO L273 TraceCheckUtils]: 82: Hoare triple {16131#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {16131#true} is VALID [2018-11-18 23:08:26,169 INFO L273 TraceCheckUtils]: 83: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,169 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {16131#true} {16131#true} #78#return; {16131#true} is VALID [2018-11-18 23:08:26,169 INFO L273 TraceCheckUtils]: 85: Hoare triple {16131#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); {16131#true} is VALID [2018-11-18 23:08:26,169 INFO L256 TraceCheckUtils]: 86: Hoare triple {16131#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {16131#true} is VALID [2018-11-18 23:08:26,169 INFO L273 TraceCheckUtils]: 87: Hoare triple {16131#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16131#true} is VALID [2018-11-18 23:08:26,169 INFO L273 TraceCheckUtils]: 88: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,170 INFO L273 TraceCheckUtils]: 89: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,170 INFO L273 TraceCheckUtils]: 90: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,170 INFO L273 TraceCheckUtils]: 91: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,170 INFO L273 TraceCheckUtils]: 92: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,170 INFO L273 TraceCheckUtils]: 93: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,170 INFO L273 TraceCheckUtils]: 94: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,171 INFO L273 TraceCheckUtils]: 95: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,171 INFO L273 TraceCheckUtils]: 96: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,171 INFO L273 TraceCheckUtils]: 97: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,171 INFO L273 TraceCheckUtils]: 98: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,171 INFO L273 TraceCheckUtils]: 99: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,171 INFO L273 TraceCheckUtils]: 100: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,171 INFO L273 TraceCheckUtils]: 101: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,172 INFO L273 TraceCheckUtils]: 102: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,172 INFO L273 TraceCheckUtils]: 103: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,172 INFO L273 TraceCheckUtils]: 104: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,172 INFO L273 TraceCheckUtils]: 105: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,172 INFO L273 TraceCheckUtils]: 106: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,172 INFO L273 TraceCheckUtils]: 107: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,173 INFO L273 TraceCheckUtils]: 108: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,173 INFO L273 TraceCheckUtils]: 109: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,173 INFO L273 TraceCheckUtils]: 110: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,173 INFO L273 TraceCheckUtils]: 111: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,173 INFO L273 TraceCheckUtils]: 112: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,173 INFO L273 TraceCheckUtils]: 113: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,173 INFO L273 TraceCheckUtils]: 114: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,174 INFO L273 TraceCheckUtils]: 115: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,174 INFO L273 TraceCheckUtils]: 116: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,174 INFO L273 TraceCheckUtils]: 117: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,174 INFO L273 TraceCheckUtils]: 118: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,174 INFO L273 TraceCheckUtils]: 119: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,174 INFO L273 TraceCheckUtils]: 120: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,174 INFO L273 TraceCheckUtils]: 121: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,175 INFO L273 TraceCheckUtils]: 122: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,175 INFO L273 TraceCheckUtils]: 123: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,175 INFO L273 TraceCheckUtils]: 124: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,175 INFO L273 TraceCheckUtils]: 125: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,175 INFO L273 TraceCheckUtils]: 126: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,175 INFO L273 TraceCheckUtils]: 127: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,176 INFO L273 TraceCheckUtils]: 128: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,176 INFO L273 TraceCheckUtils]: 129: Hoare triple {16131#true} assume !(~i~0 < 10); {16131#true} is VALID [2018-11-18 23:08:26,176 INFO L273 TraceCheckUtils]: 130: Hoare triple {16131#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {16131#true} is VALID [2018-11-18 23:08:26,176 INFO L273 TraceCheckUtils]: 131: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,176 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {16131#true} {16131#true} #80#return; {16131#true} is VALID [2018-11-18 23:08:26,190 INFO L273 TraceCheckUtils]: 133: Hoare triple {16131#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; {16133#(= main_~i~2 0)} is VALID [2018-11-18 23:08:26,198 INFO L273 TraceCheckUtils]: 134: Hoare triple {16133#(= main_~i~2 0)} assume true; {16133#(= main_~i~2 0)} is VALID [2018-11-18 23:08:26,213 INFO L273 TraceCheckUtils]: 135: Hoare triple {16133#(= main_~i~2 0)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16133#(= main_~i~2 0)} is VALID [2018-11-18 23:08:26,222 INFO L273 TraceCheckUtils]: 136: Hoare triple {16133#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16134#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:26,236 INFO L273 TraceCheckUtils]: 137: Hoare triple {16134#(<= main_~i~2 1)} assume true; {16134#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:26,244 INFO L273 TraceCheckUtils]: 138: Hoare triple {16134#(<= main_~i~2 1)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16134#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:26,245 INFO L273 TraceCheckUtils]: 139: Hoare triple {16134#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16135#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:26,249 INFO L273 TraceCheckUtils]: 140: Hoare triple {16135#(<= main_~i~2 2)} assume true; {16135#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:26,249 INFO L273 TraceCheckUtils]: 141: Hoare triple {16135#(<= main_~i~2 2)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16135#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:26,250 INFO L273 TraceCheckUtils]: 142: Hoare triple {16135#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16136#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:26,251 INFO L273 TraceCheckUtils]: 143: Hoare triple {16136#(<= main_~i~2 3)} assume true; {16136#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:26,251 INFO L273 TraceCheckUtils]: 144: Hoare triple {16136#(<= main_~i~2 3)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16136#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:26,251 INFO L273 TraceCheckUtils]: 145: Hoare triple {16136#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16137#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:26,252 INFO L273 TraceCheckUtils]: 146: Hoare triple {16137#(<= main_~i~2 4)} assume true; {16137#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:26,252 INFO L273 TraceCheckUtils]: 147: Hoare triple {16137#(<= main_~i~2 4)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16137#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:26,252 INFO L273 TraceCheckUtils]: 148: Hoare triple {16137#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16138#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:26,253 INFO L273 TraceCheckUtils]: 149: Hoare triple {16138#(<= main_~i~2 5)} assume true; {16138#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:26,253 INFO L273 TraceCheckUtils]: 150: Hoare triple {16138#(<= main_~i~2 5)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16138#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:26,254 INFO L273 TraceCheckUtils]: 151: Hoare triple {16138#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16139#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:26,254 INFO L273 TraceCheckUtils]: 152: Hoare triple {16139#(<= main_~i~2 6)} assume true; {16139#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:26,254 INFO L273 TraceCheckUtils]: 153: Hoare triple {16139#(<= main_~i~2 6)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16139#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:26,255 INFO L273 TraceCheckUtils]: 154: Hoare triple {16139#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16140#(<= main_~i~2 7)} is VALID [2018-11-18 23:08:26,255 INFO L273 TraceCheckUtils]: 155: Hoare triple {16140#(<= main_~i~2 7)} assume true; {16140#(<= main_~i~2 7)} is VALID [2018-11-18 23:08:26,256 INFO L273 TraceCheckUtils]: 156: Hoare triple {16140#(<= main_~i~2 7)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16140#(<= main_~i~2 7)} is VALID [2018-11-18 23:08:26,256 INFO L273 TraceCheckUtils]: 157: Hoare triple {16140#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16141#(<= main_~i~2 8)} is VALID [2018-11-18 23:08:26,257 INFO L273 TraceCheckUtils]: 158: Hoare triple {16141#(<= main_~i~2 8)} assume true; {16141#(<= main_~i~2 8)} is VALID [2018-11-18 23:08:26,258 INFO L273 TraceCheckUtils]: 159: Hoare triple {16141#(<= main_~i~2 8)} assume !(~i~2 < 9); {16132#false} is VALID [2018-11-18 23:08:26,258 INFO L273 TraceCheckUtils]: 160: Hoare triple {16132#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {16132#false} is VALID [2018-11-18 23:08:26,258 INFO L256 TraceCheckUtils]: 161: Hoare triple {16132#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {16131#true} is VALID [2018-11-18 23:08:26,258 INFO L273 TraceCheckUtils]: 162: Hoare triple {16131#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16131#true} is VALID [2018-11-18 23:08:26,258 INFO L273 TraceCheckUtils]: 163: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,259 INFO L273 TraceCheckUtils]: 164: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,259 INFO L273 TraceCheckUtils]: 165: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,259 INFO L273 TraceCheckUtils]: 166: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,259 INFO L273 TraceCheckUtils]: 167: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,259 INFO L273 TraceCheckUtils]: 168: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,260 INFO L273 TraceCheckUtils]: 169: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,260 INFO L273 TraceCheckUtils]: 170: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,260 INFO L273 TraceCheckUtils]: 171: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,260 INFO L273 TraceCheckUtils]: 172: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,260 INFO L273 TraceCheckUtils]: 173: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,260 INFO L273 TraceCheckUtils]: 174: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,261 INFO L273 TraceCheckUtils]: 175: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,261 INFO L273 TraceCheckUtils]: 176: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,261 INFO L273 TraceCheckUtils]: 177: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,261 INFO L273 TraceCheckUtils]: 178: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,261 INFO L273 TraceCheckUtils]: 179: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,261 INFO L273 TraceCheckUtils]: 180: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,262 INFO L273 TraceCheckUtils]: 181: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,262 INFO L273 TraceCheckUtils]: 182: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,262 INFO L273 TraceCheckUtils]: 183: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,262 INFO L273 TraceCheckUtils]: 184: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,262 INFO L273 TraceCheckUtils]: 185: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,262 INFO L273 TraceCheckUtils]: 186: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,263 INFO L273 TraceCheckUtils]: 187: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,263 INFO L273 TraceCheckUtils]: 188: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,263 INFO L273 TraceCheckUtils]: 189: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,263 INFO L273 TraceCheckUtils]: 190: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,263 INFO L273 TraceCheckUtils]: 191: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,263 INFO L273 TraceCheckUtils]: 192: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,263 INFO L273 TraceCheckUtils]: 193: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,263 INFO L273 TraceCheckUtils]: 194: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,263 INFO L273 TraceCheckUtils]: 195: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,263 INFO L273 TraceCheckUtils]: 196: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,264 INFO L273 TraceCheckUtils]: 197: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,264 INFO L273 TraceCheckUtils]: 198: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,264 INFO L273 TraceCheckUtils]: 199: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,264 INFO L273 TraceCheckUtils]: 200: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,264 INFO L273 TraceCheckUtils]: 201: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,264 INFO L273 TraceCheckUtils]: 202: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,264 INFO L273 TraceCheckUtils]: 203: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,264 INFO L273 TraceCheckUtils]: 204: Hoare triple {16131#true} assume !(~i~0 < 10); {16131#true} is VALID [2018-11-18 23:08:26,264 INFO L273 TraceCheckUtils]: 205: Hoare triple {16131#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {16131#true} is VALID [2018-11-18 23:08:26,264 INFO L273 TraceCheckUtils]: 206: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,265 INFO L268 TraceCheckUtils]: 207: Hoare quadruple {16131#true} {16132#false} #82#return; {16132#false} is VALID [2018-11-18 23:08:26,265 INFO L273 TraceCheckUtils]: 208: Hoare triple {16132#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {16132#false} is VALID [2018-11-18 23:08:26,265 INFO L273 TraceCheckUtils]: 209: Hoare triple {16132#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {16132#false} is VALID [2018-11-18 23:08:26,265 INFO L273 TraceCheckUtils]: 210: Hoare triple {16132#false} assume !false; {16132#false} is VALID [2018-11-18 23:08:26,283 INFO L134 CoverageAnalysis]: Checked inductivity of 2193 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 2093 trivial. 0 not checked. [2018-11-18 23:08:26,284 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:26,284 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-18 23:08:26,292 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:08:26,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:26,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:26,407 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:26,646 INFO L256 TraceCheckUtils]: 0: Hoare triple {16131#true} call ULTIMATE.init(); {16131#true} is VALID [2018-11-18 23:08:26,646 INFO L273 TraceCheckUtils]: 1: Hoare triple {16131#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {16131#true} is VALID [2018-11-18 23:08:26,646 INFO L273 TraceCheckUtils]: 2: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,646 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16131#true} {16131#true} #74#return; {16131#true} is VALID [2018-11-18 23:08:26,646 INFO L256 TraceCheckUtils]: 4: Hoare triple {16131#true} call #t~ret14 := main(); {16131#true} is VALID [2018-11-18 23:08:26,647 INFO L273 TraceCheckUtils]: 5: Hoare triple {16131#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {16131#true} is VALID [2018-11-18 23:08:26,647 INFO L273 TraceCheckUtils]: 6: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,647 INFO L273 TraceCheckUtils]: 7: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,647 INFO L273 TraceCheckUtils]: 8: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,647 INFO L273 TraceCheckUtils]: 9: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,647 INFO L273 TraceCheckUtils]: 10: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,647 INFO L273 TraceCheckUtils]: 11: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,647 INFO L273 TraceCheckUtils]: 12: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,647 INFO L273 TraceCheckUtils]: 13: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,647 INFO L273 TraceCheckUtils]: 14: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,648 INFO L273 TraceCheckUtils]: 15: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,648 INFO L273 TraceCheckUtils]: 16: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,648 INFO L273 TraceCheckUtils]: 17: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,648 INFO L273 TraceCheckUtils]: 18: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,648 INFO L273 TraceCheckUtils]: 19: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,648 INFO L273 TraceCheckUtils]: 20: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,648 INFO L273 TraceCheckUtils]: 21: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,648 INFO L273 TraceCheckUtils]: 22: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,648 INFO L273 TraceCheckUtils]: 23: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,649 INFO L273 TraceCheckUtils]: 24: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,649 INFO L273 TraceCheckUtils]: 25: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,649 INFO L273 TraceCheckUtils]: 26: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,649 INFO L273 TraceCheckUtils]: 27: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,649 INFO L273 TraceCheckUtils]: 28: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,649 INFO L273 TraceCheckUtils]: 29: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,649 INFO L273 TraceCheckUtils]: 30: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,649 INFO L273 TraceCheckUtils]: 31: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,649 INFO L273 TraceCheckUtils]: 32: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,649 INFO L273 TraceCheckUtils]: 33: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,650 INFO L273 TraceCheckUtils]: 34: Hoare triple {16131#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {16131#true} is VALID [2018-11-18 23:08:26,650 INFO L273 TraceCheckUtils]: 35: Hoare triple {16131#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {16131#true} is VALID [2018-11-18 23:08:26,650 INFO L273 TraceCheckUtils]: 36: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,650 INFO L273 TraceCheckUtils]: 37: Hoare triple {16131#true} assume !(~i~1 < 10); {16131#true} is VALID [2018-11-18 23:08:26,650 INFO L256 TraceCheckUtils]: 38: Hoare triple {16131#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {16131#true} is VALID [2018-11-18 23:08:26,650 INFO L273 TraceCheckUtils]: 39: Hoare triple {16131#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16131#true} is VALID [2018-11-18 23:08:26,650 INFO L273 TraceCheckUtils]: 40: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,650 INFO L273 TraceCheckUtils]: 41: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,650 INFO L273 TraceCheckUtils]: 42: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,650 INFO L273 TraceCheckUtils]: 43: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,651 INFO L273 TraceCheckUtils]: 44: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,651 INFO L273 TraceCheckUtils]: 45: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,651 INFO L273 TraceCheckUtils]: 46: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,651 INFO L273 TraceCheckUtils]: 47: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,651 INFO L273 TraceCheckUtils]: 48: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,651 INFO L273 TraceCheckUtils]: 49: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,651 INFO L273 TraceCheckUtils]: 50: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,651 INFO L273 TraceCheckUtils]: 51: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,651 INFO L273 TraceCheckUtils]: 52: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,652 INFO L273 TraceCheckUtils]: 53: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,652 INFO L273 TraceCheckUtils]: 54: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,652 INFO L273 TraceCheckUtils]: 55: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,652 INFO L273 TraceCheckUtils]: 56: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,652 INFO L273 TraceCheckUtils]: 57: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,652 INFO L273 TraceCheckUtils]: 58: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,652 INFO L273 TraceCheckUtils]: 59: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,652 INFO L273 TraceCheckUtils]: 60: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,652 INFO L273 TraceCheckUtils]: 61: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,653 INFO L273 TraceCheckUtils]: 62: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,653 INFO L273 TraceCheckUtils]: 63: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,653 INFO L273 TraceCheckUtils]: 64: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,653 INFO L273 TraceCheckUtils]: 65: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,653 INFO L273 TraceCheckUtils]: 66: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,653 INFO L273 TraceCheckUtils]: 67: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,653 INFO L273 TraceCheckUtils]: 68: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,653 INFO L273 TraceCheckUtils]: 69: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,653 INFO L273 TraceCheckUtils]: 70: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,653 INFO L273 TraceCheckUtils]: 71: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,654 INFO L273 TraceCheckUtils]: 72: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,654 INFO L273 TraceCheckUtils]: 73: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,654 INFO L273 TraceCheckUtils]: 74: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,654 INFO L273 TraceCheckUtils]: 75: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,654 INFO L273 TraceCheckUtils]: 76: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,654 INFO L273 TraceCheckUtils]: 77: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,654 INFO L273 TraceCheckUtils]: 78: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,654 INFO L273 TraceCheckUtils]: 79: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,654 INFO L273 TraceCheckUtils]: 80: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,654 INFO L273 TraceCheckUtils]: 81: Hoare triple {16131#true} assume !(~i~0 < 10); {16131#true} is VALID [2018-11-18 23:08:26,655 INFO L273 TraceCheckUtils]: 82: Hoare triple {16131#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {16131#true} is VALID [2018-11-18 23:08:26,655 INFO L273 TraceCheckUtils]: 83: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,655 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {16131#true} {16131#true} #78#return; {16131#true} is VALID [2018-11-18 23:08:26,655 INFO L273 TraceCheckUtils]: 85: Hoare triple {16131#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); {16131#true} is VALID [2018-11-18 23:08:26,655 INFO L256 TraceCheckUtils]: 86: Hoare triple {16131#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {16131#true} is VALID [2018-11-18 23:08:26,655 INFO L273 TraceCheckUtils]: 87: Hoare triple {16131#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16131#true} is VALID [2018-11-18 23:08:26,655 INFO L273 TraceCheckUtils]: 88: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,655 INFO L273 TraceCheckUtils]: 89: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,655 INFO L273 TraceCheckUtils]: 90: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,655 INFO L273 TraceCheckUtils]: 91: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,656 INFO L273 TraceCheckUtils]: 92: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,656 INFO L273 TraceCheckUtils]: 93: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,656 INFO L273 TraceCheckUtils]: 94: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,656 INFO L273 TraceCheckUtils]: 95: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,656 INFO L273 TraceCheckUtils]: 96: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,656 INFO L273 TraceCheckUtils]: 97: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,656 INFO L273 TraceCheckUtils]: 98: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,656 INFO L273 TraceCheckUtils]: 99: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,656 INFO L273 TraceCheckUtils]: 100: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,657 INFO L273 TraceCheckUtils]: 101: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,657 INFO L273 TraceCheckUtils]: 102: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,657 INFO L273 TraceCheckUtils]: 103: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,657 INFO L273 TraceCheckUtils]: 104: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,657 INFO L273 TraceCheckUtils]: 105: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,657 INFO L273 TraceCheckUtils]: 106: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,657 INFO L273 TraceCheckUtils]: 107: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,657 INFO L273 TraceCheckUtils]: 108: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,657 INFO L273 TraceCheckUtils]: 109: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,657 INFO L273 TraceCheckUtils]: 110: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,658 INFO L273 TraceCheckUtils]: 111: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,658 INFO L273 TraceCheckUtils]: 112: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,658 INFO L273 TraceCheckUtils]: 113: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,658 INFO L273 TraceCheckUtils]: 114: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,658 INFO L273 TraceCheckUtils]: 115: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,658 INFO L273 TraceCheckUtils]: 116: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,658 INFO L273 TraceCheckUtils]: 117: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,658 INFO L273 TraceCheckUtils]: 118: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,658 INFO L273 TraceCheckUtils]: 119: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,658 INFO L273 TraceCheckUtils]: 120: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,659 INFO L273 TraceCheckUtils]: 121: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,659 INFO L273 TraceCheckUtils]: 122: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,659 INFO L273 TraceCheckUtils]: 123: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,659 INFO L273 TraceCheckUtils]: 124: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,659 INFO L273 TraceCheckUtils]: 125: Hoare triple {16131#true} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16131#true} is VALID [2018-11-18 23:08:26,659 INFO L273 TraceCheckUtils]: 126: Hoare triple {16131#true} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16131#true} is VALID [2018-11-18 23:08:26,659 INFO L273 TraceCheckUtils]: 127: Hoare triple {16131#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16131#true} is VALID [2018-11-18 23:08:26,659 INFO L273 TraceCheckUtils]: 128: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,659 INFO L273 TraceCheckUtils]: 129: Hoare triple {16131#true} assume !(~i~0 < 10); {16131#true} is VALID [2018-11-18 23:08:26,659 INFO L273 TraceCheckUtils]: 130: Hoare triple {16131#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {16131#true} is VALID [2018-11-18 23:08:26,660 INFO L273 TraceCheckUtils]: 131: Hoare triple {16131#true} assume true; {16131#true} is VALID [2018-11-18 23:08:26,660 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {16131#true} {16131#true} #80#return; {16131#true} is VALID [2018-11-18 23:08:26,661 INFO L273 TraceCheckUtils]: 133: Hoare triple {16131#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; {16544#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:26,661 INFO L273 TraceCheckUtils]: 134: Hoare triple {16544#(<= main_~i~2 0)} assume true; {16544#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:26,663 INFO L273 TraceCheckUtils]: 135: Hoare triple {16544#(<= main_~i~2 0)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16544#(<= main_~i~2 0)} is VALID [2018-11-18 23:08:26,663 INFO L273 TraceCheckUtils]: 136: Hoare triple {16544#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16134#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:26,665 INFO L273 TraceCheckUtils]: 137: Hoare triple {16134#(<= main_~i~2 1)} assume true; {16134#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:26,665 INFO L273 TraceCheckUtils]: 138: Hoare triple {16134#(<= main_~i~2 1)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16134#(<= main_~i~2 1)} is VALID [2018-11-18 23:08:26,667 INFO L273 TraceCheckUtils]: 139: Hoare triple {16134#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16135#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:26,667 INFO L273 TraceCheckUtils]: 140: Hoare triple {16135#(<= main_~i~2 2)} assume true; {16135#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:26,669 INFO L273 TraceCheckUtils]: 141: Hoare triple {16135#(<= main_~i~2 2)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16135#(<= main_~i~2 2)} is VALID [2018-11-18 23:08:26,669 INFO L273 TraceCheckUtils]: 142: Hoare triple {16135#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16136#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:26,671 INFO L273 TraceCheckUtils]: 143: Hoare triple {16136#(<= main_~i~2 3)} assume true; {16136#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:26,671 INFO L273 TraceCheckUtils]: 144: Hoare triple {16136#(<= main_~i~2 3)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16136#(<= main_~i~2 3)} is VALID [2018-11-18 23:08:26,674 INFO L273 TraceCheckUtils]: 145: Hoare triple {16136#(<= main_~i~2 3)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16137#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:26,674 INFO L273 TraceCheckUtils]: 146: Hoare triple {16137#(<= main_~i~2 4)} assume true; {16137#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:26,677 INFO L273 TraceCheckUtils]: 147: Hoare triple {16137#(<= main_~i~2 4)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16137#(<= main_~i~2 4)} is VALID [2018-11-18 23:08:26,677 INFO L273 TraceCheckUtils]: 148: Hoare triple {16137#(<= main_~i~2 4)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16138#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:26,679 INFO L273 TraceCheckUtils]: 149: Hoare triple {16138#(<= main_~i~2 5)} assume true; {16138#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:26,679 INFO L273 TraceCheckUtils]: 150: Hoare triple {16138#(<= main_~i~2 5)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16138#(<= main_~i~2 5)} is VALID [2018-11-18 23:08:26,681 INFO L273 TraceCheckUtils]: 151: Hoare triple {16138#(<= main_~i~2 5)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16139#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:26,681 INFO L273 TraceCheckUtils]: 152: Hoare triple {16139#(<= main_~i~2 6)} assume true; {16139#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:26,683 INFO L273 TraceCheckUtils]: 153: Hoare triple {16139#(<= main_~i~2 6)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16139#(<= main_~i~2 6)} is VALID [2018-11-18 23:08:26,683 INFO L273 TraceCheckUtils]: 154: Hoare triple {16139#(<= main_~i~2 6)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16140#(<= main_~i~2 7)} is VALID [2018-11-18 23:08:26,685 INFO L273 TraceCheckUtils]: 155: Hoare triple {16140#(<= main_~i~2 7)} assume true; {16140#(<= main_~i~2 7)} is VALID [2018-11-18 23:08:26,685 INFO L273 TraceCheckUtils]: 156: Hoare triple {16140#(<= main_~i~2 7)} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {16140#(<= main_~i~2 7)} is VALID [2018-11-18 23:08:26,687 INFO L273 TraceCheckUtils]: 157: Hoare triple {16140#(<= main_~i~2 7)} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {16141#(<= main_~i~2 8)} is VALID [2018-11-18 23:08:26,687 INFO L273 TraceCheckUtils]: 158: Hoare triple {16141#(<= main_~i~2 8)} assume true; {16141#(<= main_~i~2 8)} is VALID [2018-11-18 23:08:26,689 INFO L273 TraceCheckUtils]: 159: Hoare triple {16141#(<= main_~i~2 8)} assume !(~i~2 < 9); {16132#false} is VALID [2018-11-18 23:08:26,689 INFO L273 TraceCheckUtils]: 160: Hoare triple {16132#false} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {16132#false} is VALID [2018-11-18 23:08:26,689 INFO L256 TraceCheckUtils]: 161: Hoare triple {16132#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {16132#false} is VALID [2018-11-18 23:08:26,689 INFO L273 TraceCheckUtils]: 162: Hoare triple {16132#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {16132#false} is VALID [2018-11-18 23:08:26,689 INFO L273 TraceCheckUtils]: 163: Hoare triple {16132#false} assume true; {16132#false} is VALID [2018-11-18 23:08:26,689 INFO L273 TraceCheckUtils]: 164: Hoare triple {16132#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16132#false} is VALID [2018-11-18 23:08:26,689 INFO L273 TraceCheckUtils]: 165: Hoare triple {16132#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16132#false} is VALID [2018-11-18 23:08:26,689 INFO L273 TraceCheckUtils]: 166: Hoare triple {16132#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16132#false} is VALID [2018-11-18 23:08:26,690 INFO L273 TraceCheckUtils]: 167: Hoare triple {16132#false} assume true; {16132#false} is VALID [2018-11-18 23:08:26,690 INFO L273 TraceCheckUtils]: 168: Hoare triple {16132#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16132#false} is VALID [2018-11-18 23:08:26,690 INFO L273 TraceCheckUtils]: 169: Hoare triple {16132#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16132#false} is VALID [2018-11-18 23:08:26,690 INFO L273 TraceCheckUtils]: 170: Hoare triple {16132#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16132#false} is VALID [2018-11-18 23:08:26,690 INFO L273 TraceCheckUtils]: 171: Hoare triple {16132#false} assume true; {16132#false} is VALID [2018-11-18 23:08:26,690 INFO L273 TraceCheckUtils]: 172: Hoare triple {16132#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16132#false} is VALID [2018-11-18 23:08:26,690 INFO L273 TraceCheckUtils]: 173: Hoare triple {16132#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16132#false} is VALID [2018-11-18 23:08:26,690 INFO L273 TraceCheckUtils]: 174: Hoare triple {16132#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16132#false} is VALID [2018-11-18 23:08:26,690 INFO L273 TraceCheckUtils]: 175: Hoare triple {16132#false} assume true; {16132#false} is VALID [2018-11-18 23:08:26,690 INFO L273 TraceCheckUtils]: 176: Hoare triple {16132#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16132#false} is VALID [2018-11-18 23:08:26,691 INFO L273 TraceCheckUtils]: 177: Hoare triple {16132#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16132#false} is VALID [2018-11-18 23:08:26,691 INFO L273 TraceCheckUtils]: 178: Hoare triple {16132#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16132#false} is VALID [2018-11-18 23:08:26,691 INFO L273 TraceCheckUtils]: 179: Hoare triple {16132#false} assume true; {16132#false} is VALID [2018-11-18 23:08:26,691 INFO L273 TraceCheckUtils]: 180: Hoare triple {16132#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16132#false} is VALID [2018-11-18 23:08:26,691 INFO L273 TraceCheckUtils]: 181: Hoare triple {16132#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16132#false} is VALID [2018-11-18 23:08:26,691 INFO L273 TraceCheckUtils]: 182: Hoare triple {16132#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16132#false} is VALID [2018-11-18 23:08:26,691 INFO L273 TraceCheckUtils]: 183: Hoare triple {16132#false} assume true; {16132#false} is VALID [2018-11-18 23:08:26,691 INFO L273 TraceCheckUtils]: 184: Hoare triple {16132#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16132#false} is VALID [2018-11-18 23:08:26,691 INFO L273 TraceCheckUtils]: 185: Hoare triple {16132#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16132#false} is VALID [2018-11-18 23:08:26,691 INFO L273 TraceCheckUtils]: 186: Hoare triple {16132#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16132#false} is VALID [2018-11-18 23:08:26,692 INFO L273 TraceCheckUtils]: 187: Hoare triple {16132#false} assume true; {16132#false} is VALID [2018-11-18 23:08:26,692 INFO L273 TraceCheckUtils]: 188: Hoare triple {16132#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16132#false} is VALID [2018-11-18 23:08:26,692 INFO L273 TraceCheckUtils]: 189: Hoare triple {16132#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16132#false} is VALID [2018-11-18 23:08:26,692 INFO L273 TraceCheckUtils]: 190: Hoare triple {16132#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16132#false} is VALID [2018-11-18 23:08:26,692 INFO L273 TraceCheckUtils]: 191: Hoare triple {16132#false} assume true; {16132#false} is VALID [2018-11-18 23:08:26,692 INFO L273 TraceCheckUtils]: 192: Hoare triple {16132#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16132#false} is VALID [2018-11-18 23:08:26,692 INFO L273 TraceCheckUtils]: 193: Hoare triple {16132#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16132#false} is VALID [2018-11-18 23:08:26,692 INFO L273 TraceCheckUtils]: 194: Hoare triple {16132#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16132#false} is VALID [2018-11-18 23:08:26,692 INFO L273 TraceCheckUtils]: 195: Hoare triple {16132#false} assume true; {16132#false} is VALID [2018-11-18 23:08:26,693 INFO L273 TraceCheckUtils]: 196: Hoare triple {16132#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16132#false} is VALID [2018-11-18 23:08:26,693 INFO L273 TraceCheckUtils]: 197: Hoare triple {16132#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16132#false} is VALID [2018-11-18 23:08:26,693 INFO L273 TraceCheckUtils]: 198: Hoare triple {16132#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16132#false} is VALID [2018-11-18 23:08:26,693 INFO L273 TraceCheckUtils]: 199: Hoare triple {16132#false} assume true; {16132#false} is VALID [2018-11-18 23:08:26,693 INFO L273 TraceCheckUtils]: 200: Hoare triple {16132#false} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {16132#false} is VALID [2018-11-18 23:08:26,693 INFO L273 TraceCheckUtils]: 201: Hoare triple {16132#false} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {16132#false} is VALID [2018-11-18 23:08:26,693 INFO L273 TraceCheckUtils]: 202: Hoare triple {16132#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16132#false} is VALID [2018-11-18 23:08:26,693 INFO L273 TraceCheckUtils]: 203: Hoare triple {16132#false} assume true; {16132#false} is VALID [2018-11-18 23:08:26,693 INFO L273 TraceCheckUtils]: 204: Hoare triple {16132#false} assume !(~i~0 < 10); {16132#false} is VALID [2018-11-18 23:08:26,693 INFO L273 TraceCheckUtils]: 205: Hoare triple {16132#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {16132#false} is VALID [2018-11-18 23:08:26,694 INFO L273 TraceCheckUtils]: 206: Hoare triple {16132#false} assume true; {16132#false} is VALID [2018-11-18 23:08:26,694 INFO L268 TraceCheckUtils]: 207: Hoare quadruple {16132#false} {16132#false} #82#return; {16132#false} is VALID [2018-11-18 23:08:26,694 INFO L273 TraceCheckUtils]: 208: Hoare triple {16132#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {16132#false} is VALID [2018-11-18 23:08:26,694 INFO L273 TraceCheckUtils]: 209: Hoare triple {16132#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {16132#false} is VALID [2018-11-18 23:08:26,694 INFO L273 TraceCheckUtils]: 210: Hoare triple {16132#false} assume !false; {16132#false} is VALID [2018-11-18 23:08:26,712 INFO L134 CoverageAnalysis]: Checked inductivity of 2193 backedges. 892 proven. 100 refuted. 0 times theorem prover too weak. 1201 trivial. 0 not checked. [2018-11-18 23:08:26,732 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:26,732 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 12 [2018-11-18 23:08:26,732 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 211 [2018-11-18 23:08:26,733 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:26,733 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-18 23:08:26,822 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:26,822 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-18 23:08:26,823 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-18 23:08:26,823 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-18 23:08:26,823 INFO L87 Difference]: Start difference. First operand 120 states and 134 transitions. Second operand 12 states. [2018-11-18 23:08:27,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:27,299 INFO L93 Difference]: Finished difference Result 175 states and 200 transitions. [2018-11-18 23:08:27,299 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-18 23:08:27,299 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 211 [2018-11-18 23:08:27,299 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:27,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-18 23:08:27,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2018-11-18 23:08:27,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-18 23:08:27,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2018-11-18 23:08:27,301 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 77 transitions. [2018-11-18 23:08:27,374 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-18 23:08:27,377 INFO L225 Difference]: With dead ends: 175 [2018-11-18 23:08:27,377 INFO L226 Difference]: Without dead ends: 123 [2018-11-18 23:08:27,377 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 221 GetRequests, 211 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-18 23:08:27,378 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2018-11-18 23:08:27,418 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 123. [2018-11-18 23:08:27,419 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:27,419 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand 123 states. [2018-11-18 23:08:27,419 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 123 states. [2018-11-18 23:08:27,419 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 123 states. [2018-11-18 23:08:27,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:27,421 INFO L93 Difference]: Finished difference Result 123 states and 137 transitions. [2018-11-18 23:08:27,421 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 137 transitions. [2018-11-18 23:08:27,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:27,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:27,422 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 123 states. [2018-11-18 23:08:27,422 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 123 states. [2018-11-18 23:08:27,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:27,425 INFO L93 Difference]: Finished difference Result 123 states and 137 transitions. [2018-11-18 23:08:27,425 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 137 transitions. [2018-11-18 23:08:27,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:27,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:27,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:27,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:27,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 123 states. [2018-11-18 23:08:27,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 137 transitions. [2018-11-18 23:08:27,428 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 137 transitions. Word has length 211 [2018-11-18 23:08:27,428 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:27,429 INFO L480 AbstractCegarLoop]: Abstraction has 123 states and 137 transitions. [2018-11-18 23:08:27,429 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-18 23:08:27,429 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 137 transitions. [2018-11-18 23:08:27,430 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 215 [2018-11-18 23:08:27,430 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:27,430 INFO L375 BasicCegarLoop]: trace histogram [33, 30, 30, 30, 11, 10, 10, 10, 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-18 23:08:27,431 INFO L423 AbstractCegarLoop]: === Iteration 24 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:27,431 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:27,431 INFO L82 PathProgramCache]: Analyzing trace with hash 206325811, now seen corresponding path program 20 times [2018-11-18 23:08:27,431 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:27,431 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:27,432 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:27,432 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:08:27,432 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:27,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:29,287 INFO L256 TraceCheckUtils]: 0: Hoare triple {17412#true} call ULTIMATE.init(); {17412#true} is VALID [2018-11-18 23:08:29,288 INFO L273 TraceCheckUtils]: 1: Hoare triple {17412#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {17412#true} is VALID [2018-11-18 23:08:29,288 INFO L273 TraceCheckUtils]: 2: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:29,288 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17412#true} {17412#true} #74#return; {17412#true} is VALID [2018-11-18 23:08:29,288 INFO L256 TraceCheckUtils]: 4: Hoare triple {17412#true} call #t~ret14 := main(); {17412#true} is VALID [2018-11-18 23:08:29,288 INFO L273 TraceCheckUtils]: 5: Hoare triple {17412#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {17412#true} is VALID [2018-11-18 23:08:29,288 INFO L273 TraceCheckUtils]: 6: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:29,289 INFO L273 TraceCheckUtils]: 7: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:29,289 INFO L273 TraceCheckUtils]: 8: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:29,289 INFO L273 TraceCheckUtils]: 9: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:29,289 INFO L273 TraceCheckUtils]: 10: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:29,289 INFO L273 TraceCheckUtils]: 11: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:29,289 INFO L273 TraceCheckUtils]: 12: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:29,290 INFO L273 TraceCheckUtils]: 13: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:29,290 INFO L273 TraceCheckUtils]: 14: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:29,290 INFO L273 TraceCheckUtils]: 15: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:29,290 INFO L273 TraceCheckUtils]: 16: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:29,290 INFO L273 TraceCheckUtils]: 17: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:29,291 INFO L273 TraceCheckUtils]: 18: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:29,291 INFO L273 TraceCheckUtils]: 19: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:29,291 INFO L273 TraceCheckUtils]: 20: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:29,291 INFO L273 TraceCheckUtils]: 21: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:29,291 INFO L273 TraceCheckUtils]: 22: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:29,291 INFO L273 TraceCheckUtils]: 23: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:29,291 INFO L273 TraceCheckUtils]: 24: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:29,291 INFO L273 TraceCheckUtils]: 25: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:29,292 INFO L273 TraceCheckUtils]: 26: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:29,292 INFO L273 TraceCheckUtils]: 27: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:29,292 INFO L273 TraceCheckUtils]: 28: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:29,292 INFO L273 TraceCheckUtils]: 29: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:29,292 INFO L273 TraceCheckUtils]: 30: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:29,292 INFO L273 TraceCheckUtils]: 31: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:29,292 INFO L273 TraceCheckUtils]: 32: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:29,292 INFO L273 TraceCheckUtils]: 33: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:29,292 INFO L273 TraceCheckUtils]: 34: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:29,292 INFO L273 TraceCheckUtils]: 35: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:29,293 INFO L273 TraceCheckUtils]: 36: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:29,293 INFO L273 TraceCheckUtils]: 37: Hoare triple {17412#true} assume !(~i~1 < 10); {17412#true} is VALID [2018-11-18 23:08:29,293 INFO L256 TraceCheckUtils]: 38: Hoare triple {17412#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {17412#true} is VALID [2018-11-18 23:08:29,293 INFO L273 TraceCheckUtils]: 39: Hoare triple {17412#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:29,293 INFO L273 TraceCheckUtils]: 40: Hoare triple {17414#(= 0 sep_~ret~0)} assume true; {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:29,294 INFO L273 TraceCheckUtils]: 41: Hoare triple {17414#(= 0 sep_~ret~0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:29,294 INFO L273 TraceCheckUtils]: 42: Hoare triple {17414#(= 0 sep_~ret~0)} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:29,295 INFO L273 TraceCheckUtils]: 43: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:29,295 INFO L273 TraceCheckUtils]: 44: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume true; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:29,295 INFO L273 TraceCheckUtils]: 45: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:29,296 INFO L273 TraceCheckUtils]: 46: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:29,296 INFO L273 TraceCheckUtils]: 47: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:29,297 INFO L273 TraceCheckUtils]: 48: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume true; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:29,297 INFO L273 TraceCheckUtils]: 49: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:29,298 INFO L273 TraceCheckUtils]: 50: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:29,299 INFO L273 TraceCheckUtils]: 51: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:29,299 INFO L273 TraceCheckUtils]: 52: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume true; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:29,300 INFO L273 TraceCheckUtils]: 53: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:29,301 INFO L273 TraceCheckUtils]: 54: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:29,302 INFO L273 TraceCheckUtils]: 55: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:29,302 INFO L273 TraceCheckUtils]: 56: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume true; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:29,303 INFO L273 TraceCheckUtils]: 57: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:29,304 INFO L273 TraceCheckUtils]: 58: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:29,305 INFO L273 TraceCheckUtils]: 59: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:29,305 INFO L273 TraceCheckUtils]: 60: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume true; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:29,306 INFO L273 TraceCheckUtils]: 61: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:29,307 INFO L273 TraceCheckUtils]: 62: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:29,308 INFO L273 TraceCheckUtils]: 63: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:29,308 INFO L273 TraceCheckUtils]: 64: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} assume true; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:29,309 INFO L273 TraceCheckUtils]: 65: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:29,310 INFO L273 TraceCheckUtils]: 66: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:29,311 INFO L273 TraceCheckUtils]: 67: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:29,311 INFO L273 TraceCheckUtils]: 68: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume true; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:29,312 INFO L273 TraceCheckUtils]: 69: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:29,313 INFO L273 TraceCheckUtils]: 70: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:29,314 INFO L273 TraceCheckUtils]: 71: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:29,314 INFO L273 TraceCheckUtils]: 72: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume true; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:29,315 INFO L273 TraceCheckUtils]: 73: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:29,316 INFO L273 TraceCheckUtils]: 74: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:29,317 INFO L273 TraceCheckUtils]: 75: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:29,317 INFO L273 TraceCheckUtils]: 76: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} assume true; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:29,318 INFO L273 TraceCheckUtils]: 77: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:29,319 INFO L273 TraceCheckUtils]: 78: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:29,319 INFO L273 TraceCheckUtils]: 79: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:29,320 INFO L273 TraceCheckUtils]: 80: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} assume true; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:29,321 INFO L273 TraceCheckUtils]: 81: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} assume !(~i~0 < 10); {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:29,322 INFO L273 TraceCheckUtils]: 82: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {17425#(= (+ |sep_#res| 10) 0)} is VALID [2018-11-18 23:08:29,323 INFO L273 TraceCheckUtils]: 83: Hoare triple {17425#(= (+ |sep_#res| 10) 0)} assume true; {17425#(= (+ |sep_#res| 10) 0)} is VALID [2018-11-18 23:08:29,324 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {17425#(= (+ |sep_#res| 10) 0)} {17412#true} #78#return; {17426#(= (+ |main_#t~ret6| 10) 0)} is VALID [2018-11-18 23:08:29,325 INFO L273 TraceCheckUtils]: 85: Hoare triple {17426#(= (+ |main_#t~ret6| 10) 0)} 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); {17427#(= (+ main_~ret~1 10) 0)} is VALID [2018-11-18 23:08:29,325 INFO L256 TraceCheckUtils]: 86: Hoare triple {17427#(= (+ main_~ret~1 10) 0)} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {17412#true} is VALID [2018-11-18 23:08:29,325 INFO L273 TraceCheckUtils]: 87: Hoare triple {17412#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:29,326 INFO L273 TraceCheckUtils]: 88: Hoare triple {17414#(= 0 sep_~ret~0)} assume true; {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:29,326 INFO L273 TraceCheckUtils]: 89: Hoare triple {17414#(= 0 sep_~ret~0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:29,326 INFO L273 TraceCheckUtils]: 90: Hoare triple {17414#(= 0 sep_~ret~0)} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:29,327 INFO L273 TraceCheckUtils]: 91: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:29,327 INFO L273 TraceCheckUtils]: 92: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume true; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:29,328 INFO L273 TraceCheckUtils]: 93: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:29,329 INFO L273 TraceCheckUtils]: 94: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:29,329 INFO L273 TraceCheckUtils]: 95: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:29,330 INFO L273 TraceCheckUtils]: 96: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume true; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:29,331 INFO L273 TraceCheckUtils]: 97: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:29,332 INFO L273 TraceCheckUtils]: 98: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:29,332 INFO L273 TraceCheckUtils]: 99: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:29,333 INFO L273 TraceCheckUtils]: 100: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume true; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:29,334 INFO L273 TraceCheckUtils]: 101: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:29,335 INFO L273 TraceCheckUtils]: 102: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:29,336 INFO L273 TraceCheckUtils]: 103: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:29,336 INFO L273 TraceCheckUtils]: 104: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume true; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:29,337 INFO L273 TraceCheckUtils]: 105: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:29,338 INFO L273 TraceCheckUtils]: 106: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:29,339 INFO L273 TraceCheckUtils]: 107: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:29,339 INFO L273 TraceCheckUtils]: 108: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume true; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:29,340 INFO L273 TraceCheckUtils]: 109: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:29,341 INFO L273 TraceCheckUtils]: 110: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:29,342 INFO L273 TraceCheckUtils]: 111: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:29,342 INFO L273 TraceCheckUtils]: 112: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} assume true; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:29,343 INFO L273 TraceCheckUtils]: 113: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:29,346 INFO L273 TraceCheckUtils]: 114: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:29,346 INFO L273 TraceCheckUtils]: 115: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:29,347 INFO L273 TraceCheckUtils]: 116: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume true; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:29,348 INFO L273 TraceCheckUtils]: 117: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:29,349 INFO L273 TraceCheckUtils]: 118: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:29,350 INFO L273 TraceCheckUtils]: 119: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:29,350 INFO L273 TraceCheckUtils]: 120: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume true; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:29,351 INFO L273 TraceCheckUtils]: 121: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:29,352 INFO L273 TraceCheckUtils]: 122: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:29,353 INFO L273 TraceCheckUtils]: 123: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:29,353 INFO L273 TraceCheckUtils]: 124: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} assume true; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:29,354 INFO L273 TraceCheckUtils]: 125: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:29,355 INFO L273 TraceCheckUtils]: 126: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:29,356 INFO L273 TraceCheckUtils]: 127: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:29,356 INFO L273 TraceCheckUtils]: 128: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} assume true; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:29,357 INFO L273 TraceCheckUtils]: 129: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} assume !(~i~0 < 10); {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:29,359 INFO L273 TraceCheckUtils]: 130: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {17425#(= (+ |sep_#res| 10) 0)} is VALID [2018-11-18 23:08:29,359 INFO L273 TraceCheckUtils]: 131: Hoare triple {17425#(= (+ |sep_#res| 10) 0)} assume true; {17425#(= (+ |sep_#res| 10) 0)} is VALID [2018-11-18 23:08:29,361 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {17425#(= (+ |sep_#res| 10) 0)} {17427#(= (+ main_~ret~1 10) 0)} #80#return; {17428#(and (= main_~ret~1 |main_#t~ret9|) (= (+ main_~ret~1 10) 0))} is VALID [2018-11-18 23:08:29,361 INFO L273 TraceCheckUtils]: 133: Hoare triple {17428#(and (= main_~ret~1 |main_#t~ret9|) (= (+ main_~ret~1 10) 0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,362 INFO L273 TraceCheckUtils]: 134: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,362 INFO L273 TraceCheckUtils]: 135: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,363 INFO L273 TraceCheckUtils]: 136: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,363 INFO L273 TraceCheckUtils]: 137: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,364 INFO L273 TraceCheckUtils]: 138: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,364 INFO L273 TraceCheckUtils]: 139: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,365 INFO L273 TraceCheckUtils]: 140: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,366 INFO L273 TraceCheckUtils]: 141: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,367 INFO L273 TraceCheckUtils]: 142: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,367 INFO L273 TraceCheckUtils]: 143: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,368 INFO L273 TraceCheckUtils]: 144: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,369 INFO L273 TraceCheckUtils]: 145: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,369 INFO L273 TraceCheckUtils]: 146: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,370 INFO L273 TraceCheckUtils]: 147: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,371 INFO L273 TraceCheckUtils]: 148: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,371 INFO L273 TraceCheckUtils]: 149: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,372 INFO L273 TraceCheckUtils]: 150: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,373 INFO L273 TraceCheckUtils]: 151: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,373 INFO L273 TraceCheckUtils]: 152: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,374 INFO L273 TraceCheckUtils]: 153: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,375 INFO L273 TraceCheckUtils]: 154: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,375 INFO L273 TraceCheckUtils]: 155: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,376 INFO L273 TraceCheckUtils]: 156: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,377 INFO L273 TraceCheckUtils]: 157: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,377 INFO L273 TraceCheckUtils]: 158: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,378 INFO L273 TraceCheckUtils]: 159: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,379 INFO L273 TraceCheckUtils]: 160: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,379 INFO L273 TraceCheckUtils]: 161: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,380 INFO L273 TraceCheckUtils]: 162: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !(~i~2 < 9); {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,381 INFO L273 TraceCheckUtils]: 163: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,381 INFO L256 TraceCheckUtils]: 164: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {17412#true} is VALID [2018-11-18 23:08:29,382 INFO L273 TraceCheckUtils]: 165: Hoare triple {17412#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:29,382 INFO L273 TraceCheckUtils]: 166: Hoare triple {17414#(= 0 sep_~ret~0)} assume true; {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:29,383 INFO L273 TraceCheckUtils]: 167: Hoare triple {17414#(= 0 sep_~ret~0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:29,384 INFO L273 TraceCheckUtils]: 168: Hoare triple {17414#(= 0 sep_~ret~0)} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:29,384 INFO L273 TraceCheckUtils]: 169: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:29,385 INFO L273 TraceCheckUtils]: 170: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume true; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:29,385 INFO L273 TraceCheckUtils]: 171: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:29,386 INFO L273 TraceCheckUtils]: 172: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:29,387 INFO L273 TraceCheckUtils]: 173: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:29,387 INFO L273 TraceCheckUtils]: 174: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume true; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:29,388 INFO L273 TraceCheckUtils]: 175: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:29,389 INFO L273 TraceCheckUtils]: 176: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:29,390 INFO L273 TraceCheckUtils]: 177: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:29,391 INFO L273 TraceCheckUtils]: 178: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume true; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:29,391 INFO L273 TraceCheckUtils]: 179: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:29,392 INFO L273 TraceCheckUtils]: 180: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:29,393 INFO L273 TraceCheckUtils]: 181: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:29,394 INFO L273 TraceCheckUtils]: 182: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume true; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:29,394 INFO L273 TraceCheckUtils]: 183: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:29,396 INFO L273 TraceCheckUtils]: 184: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:29,396 INFO L273 TraceCheckUtils]: 185: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:29,397 INFO L273 TraceCheckUtils]: 186: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume true; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:29,398 INFO L273 TraceCheckUtils]: 187: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:29,399 INFO L273 TraceCheckUtils]: 188: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:29,399 INFO L273 TraceCheckUtils]: 189: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:29,400 INFO L273 TraceCheckUtils]: 190: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} assume true; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:29,401 INFO L273 TraceCheckUtils]: 191: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:29,402 INFO L273 TraceCheckUtils]: 192: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:29,402 INFO L273 TraceCheckUtils]: 193: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:29,403 INFO L273 TraceCheckUtils]: 194: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume true; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:29,404 INFO L273 TraceCheckUtils]: 195: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:29,405 INFO L273 TraceCheckUtils]: 196: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:29,406 INFO L273 TraceCheckUtils]: 197: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:29,406 INFO L273 TraceCheckUtils]: 198: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume true; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:29,407 INFO L273 TraceCheckUtils]: 199: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:29,430 INFO L273 TraceCheckUtils]: 200: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:29,441 INFO L273 TraceCheckUtils]: 201: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:29,443 INFO L273 TraceCheckUtils]: 202: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} assume true; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:29,443 INFO L273 TraceCheckUtils]: 203: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:29,444 INFO L273 TraceCheckUtils]: 204: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:29,444 INFO L273 TraceCheckUtils]: 205: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:29,445 INFO L273 TraceCheckUtils]: 206: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} assume true; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:29,445 INFO L273 TraceCheckUtils]: 207: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} assume !(~i~0 < 10); {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:29,447 INFO L273 TraceCheckUtils]: 208: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {17425#(= (+ |sep_#res| 10) 0)} is VALID [2018-11-18 23:08:29,447 INFO L273 TraceCheckUtils]: 209: Hoare triple {17425#(= (+ |sep_#res| 10) 0)} assume true; {17425#(= (+ |sep_#res| 10) 0)} is VALID [2018-11-18 23:08:29,448 INFO L268 TraceCheckUtils]: 210: Hoare quadruple {17425#(= (+ |sep_#res| 10) 0)} {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #82#return; {17430#(and (= main_~ret2~0 main_~ret~1) (= main_~ret~1 |main_#t~ret13|))} is VALID [2018-11-18 23:08:29,449 INFO L273 TraceCheckUtils]: 211: Hoare triple {17430#(and (= main_~ret2~0 main_~ret~1) (= main_~ret~1 |main_#t~ret13|))} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {17431#(and (= main_~ret5~0 main_~ret~1) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:29,449 INFO L273 TraceCheckUtils]: 212: Hoare triple {17431#(and (= main_~ret5~0 main_~ret~1) (= main_~ret2~0 main_~ret~1))} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {17413#false} is VALID [2018-11-18 23:08:29,449 INFO L273 TraceCheckUtils]: 213: Hoare triple {17413#false} assume !false; {17413#false} is VALID [2018-11-18 23:08:29,530 INFO L134 CoverageAnalysis]: Checked inductivity of 2219 backedges. 0 proven. 1800 refuted. 0 times theorem prover too weak. 419 trivial. 0 not checked. [2018-11-18 23:08:29,530 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:08:29,531 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-18 23:08:29,540 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:08:29,628 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-18 23:08:29,628 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:08:29,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:29,693 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:08:31,523 INFO L256 TraceCheckUtils]: 0: Hoare triple {17412#true} call ULTIMATE.init(); {17412#true} is VALID [2018-11-18 23:08:31,523 INFO L273 TraceCheckUtils]: 1: Hoare triple {17412#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {17412#true} is VALID [2018-11-18 23:08:31,523 INFO L273 TraceCheckUtils]: 2: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:31,524 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17412#true} {17412#true} #74#return; {17412#true} is VALID [2018-11-18 23:08:31,524 INFO L256 TraceCheckUtils]: 4: Hoare triple {17412#true} call #t~ret14 := main(); {17412#true} is VALID [2018-11-18 23:08:31,524 INFO L273 TraceCheckUtils]: 5: Hoare triple {17412#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {17412#true} is VALID [2018-11-18 23:08:31,524 INFO L273 TraceCheckUtils]: 6: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:31,524 INFO L273 TraceCheckUtils]: 7: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:31,525 INFO L273 TraceCheckUtils]: 8: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:31,525 INFO L273 TraceCheckUtils]: 9: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:31,525 INFO L273 TraceCheckUtils]: 10: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:31,525 INFO L273 TraceCheckUtils]: 11: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:31,525 INFO L273 TraceCheckUtils]: 12: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:31,525 INFO L273 TraceCheckUtils]: 13: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:31,526 INFO L273 TraceCheckUtils]: 14: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:31,526 INFO L273 TraceCheckUtils]: 15: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:31,526 INFO L273 TraceCheckUtils]: 16: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:31,526 INFO L273 TraceCheckUtils]: 17: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:31,526 INFO L273 TraceCheckUtils]: 18: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:31,527 INFO L273 TraceCheckUtils]: 19: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:31,527 INFO L273 TraceCheckUtils]: 20: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:31,527 INFO L273 TraceCheckUtils]: 21: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:31,527 INFO L273 TraceCheckUtils]: 22: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:31,527 INFO L273 TraceCheckUtils]: 23: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:31,527 INFO L273 TraceCheckUtils]: 24: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:31,527 INFO L273 TraceCheckUtils]: 25: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:31,528 INFO L273 TraceCheckUtils]: 26: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:31,528 INFO L273 TraceCheckUtils]: 27: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:31,528 INFO L273 TraceCheckUtils]: 28: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:31,528 INFO L273 TraceCheckUtils]: 29: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:31,528 INFO L273 TraceCheckUtils]: 30: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:31,528 INFO L273 TraceCheckUtils]: 31: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:31,528 INFO L273 TraceCheckUtils]: 32: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:31,528 INFO L273 TraceCheckUtils]: 33: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:31,528 INFO L273 TraceCheckUtils]: 34: Hoare triple {17412#true} assume !!(~i~1 < 10);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet5; {17412#true} is VALID [2018-11-18 23:08:31,528 INFO L273 TraceCheckUtils]: 35: Hoare triple {17412#true} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {17412#true} is VALID [2018-11-18 23:08:31,529 INFO L273 TraceCheckUtils]: 36: Hoare triple {17412#true} assume true; {17412#true} is VALID [2018-11-18 23:08:31,529 INFO L273 TraceCheckUtils]: 37: Hoare triple {17412#true} assume !(~i~1 < 10); {17412#true} is VALID [2018-11-18 23:08:31,529 INFO L256 TraceCheckUtils]: 38: Hoare triple {17412#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {17412#true} is VALID [2018-11-18 23:08:31,529 INFO L273 TraceCheckUtils]: 39: Hoare triple {17412#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:31,530 INFO L273 TraceCheckUtils]: 40: Hoare triple {17414#(= 0 sep_~ret~0)} assume true; {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:31,530 INFO L273 TraceCheckUtils]: 41: Hoare triple {17414#(= 0 sep_~ret~0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:31,530 INFO L273 TraceCheckUtils]: 42: Hoare triple {17414#(= 0 sep_~ret~0)} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:31,531 INFO L273 TraceCheckUtils]: 43: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:31,531 INFO L273 TraceCheckUtils]: 44: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume true; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:31,531 INFO L273 TraceCheckUtils]: 45: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:31,532 INFO L273 TraceCheckUtils]: 46: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:31,532 INFO L273 TraceCheckUtils]: 47: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:31,533 INFO L273 TraceCheckUtils]: 48: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume true; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:31,533 INFO L273 TraceCheckUtils]: 49: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:31,534 INFO L273 TraceCheckUtils]: 50: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:31,535 INFO L273 TraceCheckUtils]: 51: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:31,536 INFO L273 TraceCheckUtils]: 52: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume true; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:31,536 INFO L273 TraceCheckUtils]: 53: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:31,537 INFO L273 TraceCheckUtils]: 54: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:31,538 INFO L273 TraceCheckUtils]: 55: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:31,539 INFO L273 TraceCheckUtils]: 56: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume true; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:31,539 INFO L273 TraceCheckUtils]: 57: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:31,540 INFO L273 TraceCheckUtils]: 58: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:31,541 INFO L273 TraceCheckUtils]: 59: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:31,542 INFO L273 TraceCheckUtils]: 60: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume true; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:31,542 INFO L273 TraceCheckUtils]: 61: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:31,543 INFO L273 TraceCheckUtils]: 62: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:31,544 INFO L273 TraceCheckUtils]: 63: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:31,545 INFO L273 TraceCheckUtils]: 64: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} assume true; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:31,546 INFO L273 TraceCheckUtils]: 65: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:31,547 INFO L273 TraceCheckUtils]: 66: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:31,547 INFO L273 TraceCheckUtils]: 67: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:31,548 INFO L273 TraceCheckUtils]: 68: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume true; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:31,549 INFO L273 TraceCheckUtils]: 69: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:31,550 INFO L273 TraceCheckUtils]: 70: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:31,550 INFO L273 TraceCheckUtils]: 71: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:31,551 INFO L273 TraceCheckUtils]: 72: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume true; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:31,552 INFO L273 TraceCheckUtils]: 73: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:31,553 INFO L273 TraceCheckUtils]: 74: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:31,553 INFO L273 TraceCheckUtils]: 75: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:31,554 INFO L273 TraceCheckUtils]: 76: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} assume true; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:31,555 INFO L273 TraceCheckUtils]: 77: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:31,556 INFO L273 TraceCheckUtils]: 78: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:31,556 INFO L273 TraceCheckUtils]: 79: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:31,557 INFO L273 TraceCheckUtils]: 80: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} assume true; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:31,558 INFO L273 TraceCheckUtils]: 81: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} assume !(~i~0 < 10); {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:31,559 INFO L273 TraceCheckUtils]: 82: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {17425#(= (+ |sep_#res| 10) 0)} is VALID [2018-11-18 23:08:31,560 INFO L273 TraceCheckUtils]: 83: Hoare triple {17425#(= (+ |sep_#res| 10) 0)} assume true; {17425#(= (+ |sep_#res| 10) 0)} is VALID [2018-11-18 23:08:31,561 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {17425#(= (+ |sep_#res| 10) 0)} {17412#true} #78#return; {17426#(= (+ |main_#t~ret6| 10) 0)} is VALID [2018-11-18 23:08:31,562 INFO L273 TraceCheckUtils]: 85: Hoare triple {17426#(= (+ |main_#t~ret6| 10) 0)} 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); {17427#(= (+ main_~ret~1 10) 0)} is VALID [2018-11-18 23:08:31,562 INFO L256 TraceCheckUtils]: 86: Hoare triple {17427#(= (+ main_~ret~1 10) 0)} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {17412#true} is VALID [2018-11-18 23:08:31,562 INFO L273 TraceCheckUtils]: 87: Hoare triple {17412#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:31,563 INFO L273 TraceCheckUtils]: 88: Hoare triple {17414#(= 0 sep_~ret~0)} assume true; {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:31,563 INFO L273 TraceCheckUtils]: 89: Hoare triple {17414#(= 0 sep_~ret~0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:31,563 INFO L273 TraceCheckUtils]: 90: Hoare triple {17414#(= 0 sep_~ret~0)} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:31,564 INFO L273 TraceCheckUtils]: 91: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:31,565 INFO L273 TraceCheckUtils]: 92: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume true; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:31,565 INFO L273 TraceCheckUtils]: 93: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:31,566 INFO L273 TraceCheckUtils]: 94: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:31,567 INFO L273 TraceCheckUtils]: 95: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:31,567 INFO L273 TraceCheckUtils]: 96: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume true; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:31,568 INFO L273 TraceCheckUtils]: 97: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:31,569 INFO L273 TraceCheckUtils]: 98: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:31,570 INFO L273 TraceCheckUtils]: 99: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:31,570 INFO L273 TraceCheckUtils]: 100: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume true; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:31,571 INFO L273 TraceCheckUtils]: 101: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:31,572 INFO L273 TraceCheckUtils]: 102: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:31,573 INFO L273 TraceCheckUtils]: 103: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:31,574 INFO L273 TraceCheckUtils]: 104: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume true; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:31,574 INFO L273 TraceCheckUtils]: 105: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:31,575 INFO L273 TraceCheckUtils]: 106: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:31,576 INFO L273 TraceCheckUtils]: 107: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:31,577 INFO L273 TraceCheckUtils]: 108: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume true; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:31,577 INFO L273 TraceCheckUtils]: 109: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:31,578 INFO L273 TraceCheckUtils]: 110: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:31,579 INFO L273 TraceCheckUtils]: 111: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:31,580 INFO L273 TraceCheckUtils]: 112: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} assume true; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:31,580 INFO L273 TraceCheckUtils]: 113: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:31,581 INFO L273 TraceCheckUtils]: 114: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:31,584 INFO L273 TraceCheckUtils]: 115: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:31,585 INFO L273 TraceCheckUtils]: 116: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume true; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:31,585 INFO L273 TraceCheckUtils]: 117: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:31,586 INFO L273 TraceCheckUtils]: 118: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:31,587 INFO L273 TraceCheckUtils]: 119: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:31,587 INFO L273 TraceCheckUtils]: 120: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume true; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:31,587 INFO L273 TraceCheckUtils]: 121: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:31,588 INFO L273 TraceCheckUtils]: 122: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:31,589 INFO L273 TraceCheckUtils]: 123: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:31,590 INFO L273 TraceCheckUtils]: 124: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} assume true; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:31,590 INFO L273 TraceCheckUtils]: 125: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:31,591 INFO L273 TraceCheckUtils]: 126: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:31,592 INFO L273 TraceCheckUtils]: 127: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:31,593 INFO L273 TraceCheckUtils]: 128: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} assume true; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:31,593 INFO L273 TraceCheckUtils]: 129: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} assume !(~i~0 < 10); {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:31,595 INFO L273 TraceCheckUtils]: 130: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {17425#(= (+ |sep_#res| 10) 0)} is VALID [2018-11-18 23:08:31,596 INFO L273 TraceCheckUtils]: 131: Hoare triple {17425#(= (+ |sep_#res| 10) 0)} assume true; {17425#(= (+ |sep_#res| 10) 0)} is VALID [2018-11-18 23:08:31,597 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {17425#(= (+ |sep_#res| 10) 0)} {17427#(= (+ main_~ret~1 10) 0)} #80#return; {17428#(and (= main_~ret~1 |main_#t~ret9|) (= (+ main_~ret~1 10) 0))} is VALID [2018-11-18 23:08:31,597 INFO L273 TraceCheckUtils]: 133: Hoare triple {17428#(and (= main_~ret~1 |main_#t~ret9|) (= (+ main_~ret~1 10) 0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,597 INFO L273 TraceCheckUtils]: 134: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,598 INFO L273 TraceCheckUtils]: 135: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,598 INFO L273 TraceCheckUtils]: 136: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,599 INFO L273 TraceCheckUtils]: 137: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,600 INFO L273 TraceCheckUtils]: 138: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,600 INFO L273 TraceCheckUtils]: 139: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,601 INFO L273 TraceCheckUtils]: 140: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,602 INFO L273 TraceCheckUtils]: 141: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,603 INFO L273 TraceCheckUtils]: 142: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,603 INFO L273 TraceCheckUtils]: 143: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,604 INFO L273 TraceCheckUtils]: 144: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,605 INFO L273 TraceCheckUtils]: 145: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,605 INFO L273 TraceCheckUtils]: 146: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,606 INFO L273 TraceCheckUtils]: 147: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,607 INFO L273 TraceCheckUtils]: 148: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,607 INFO L273 TraceCheckUtils]: 149: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,608 INFO L273 TraceCheckUtils]: 150: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,609 INFO L273 TraceCheckUtils]: 151: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,610 INFO L273 TraceCheckUtils]: 152: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,610 INFO L273 TraceCheckUtils]: 153: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,611 INFO L273 TraceCheckUtils]: 154: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,612 INFO L273 TraceCheckUtils]: 155: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,612 INFO L273 TraceCheckUtils]: 156: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,613 INFO L273 TraceCheckUtils]: 157: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,614 INFO L273 TraceCheckUtils]: 158: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,615 INFO L273 TraceCheckUtils]: 159: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 9);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem12; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,615 INFO L273 TraceCheckUtils]: 160: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := 1 + #t~post11;havoc #t~post11; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,616 INFO L273 TraceCheckUtils]: 161: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume true; {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,616 INFO L273 TraceCheckUtils]: 162: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume !(~i~2 < 9); {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,617 INFO L273 TraceCheckUtils]: 163: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,617 INFO L256 TraceCheckUtils]: 164: Hoare triple {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {17412#true} is VALID [2018-11-18 23:08:31,618 INFO L273 TraceCheckUtils]: 165: Hoare triple {17412#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:31,619 INFO L273 TraceCheckUtils]: 166: Hoare triple {17414#(= 0 sep_~ret~0)} assume true; {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:31,619 INFO L273 TraceCheckUtils]: 167: Hoare triple {17414#(= 0 sep_~ret~0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17414#(= 0 sep_~ret~0)} is VALID [2018-11-18 23:08:31,620 INFO L273 TraceCheckUtils]: 168: Hoare triple {17414#(= 0 sep_~ret~0)} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:31,620 INFO L273 TraceCheckUtils]: 169: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:31,621 INFO L273 TraceCheckUtils]: 170: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume true; {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:31,621 INFO L273 TraceCheckUtils]: 171: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17415#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-18 23:08:31,622 INFO L273 TraceCheckUtils]: 172: Hoare triple {17415#(= (+ sep_~ret~0 1) 0)} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:31,623 INFO L273 TraceCheckUtils]: 173: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:31,624 INFO L273 TraceCheckUtils]: 174: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume true; {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:31,625 INFO L273 TraceCheckUtils]: 175: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-18 23:08:31,626 INFO L273 TraceCheckUtils]: 176: Hoare triple {17416#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:31,626 INFO L273 TraceCheckUtils]: 177: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:31,627 INFO L273 TraceCheckUtils]: 178: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume true; {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:31,628 INFO L273 TraceCheckUtils]: 179: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-18 23:08:31,629 INFO L273 TraceCheckUtils]: 180: Hoare triple {17417#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:31,629 INFO L273 TraceCheckUtils]: 181: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:31,630 INFO L273 TraceCheckUtils]: 182: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume true; {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:31,631 INFO L273 TraceCheckUtils]: 183: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-18 23:08:31,632 INFO L273 TraceCheckUtils]: 184: Hoare triple {17418#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:31,632 INFO L273 TraceCheckUtils]: 185: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:31,633 INFO L273 TraceCheckUtils]: 186: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume true; {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:31,634 INFO L273 TraceCheckUtils]: 187: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-18 23:08:31,635 INFO L273 TraceCheckUtils]: 188: Hoare triple {17419#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:31,636 INFO L273 TraceCheckUtils]: 189: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:31,636 INFO L273 TraceCheckUtils]: 190: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} assume true; {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:31,637 INFO L273 TraceCheckUtils]: 191: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~0 6)))} is VALID [2018-11-18 23:08:31,638 INFO L273 TraceCheckUtils]: 192: Hoare triple {17420#(and (<= (+ sep_~ret~0 6) 0) (<= 0 (+ sep_~ret~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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:31,639 INFO L273 TraceCheckUtils]: 193: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:31,639 INFO L273 TraceCheckUtils]: 194: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume true; {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:31,640 INFO L273 TraceCheckUtils]: 195: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} is VALID [2018-11-18 23:08:31,641 INFO L273 TraceCheckUtils]: 196: Hoare triple {17421#(and (<= 0 (+ sep_~ret~0 7)) (<= (+ sep_~ret~0 7) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:31,642 INFO L273 TraceCheckUtils]: 197: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:31,642 INFO L273 TraceCheckUtils]: 198: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume true; {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:31,643 INFO L273 TraceCheckUtils]: 199: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} is VALID [2018-11-18 23:08:31,644 INFO L273 TraceCheckUtils]: 200: Hoare triple {17422#(and (<= 0 (+ sep_~ret~0 8)) (<= (+ sep_~ret~0 8) 0))} assume !(0 == (if #t~mem1 < 0 && 0 != #t~mem1 % 2 then #t~mem1 % 2 - 2 else #t~mem1 % 2));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:31,645 INFO L273 TraceCheckUtils]: 201: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:31,645 INFO L273 TraceCheckUtils]: 202: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} assume true; {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:31,646 INFO L273 TraceCheckUtils]: 203: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} assume !!(~i~0 < 10);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4); {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~0 9)))} is VALID [2018-11-18 23:08:31,647 INFO L273 TraceCheckUtils]: 204: Hoare triple {17423#(and (<= (+ sep_~ret~0 9) 0) (<= 0 (+ sep_~ret~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~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:31,648 INFO L273 TraceCheckUtils]: 205: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:31,648 INFO L273 TraceCheckUtils]: 206: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} assume true; {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:31,649 INFO L273 TraceCheckUtils]: 207: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} assume !(~i~0 < 10); {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} is VALID [2018-11-18 23:08:31,651 INFO L273 TraceCheckUtils]: 208: Hoare triple {17424#(and (<= (+ sep_~ret~0 10) 0) (<= 0 (+ sep_~ret~0 10)))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {17425#(= (+ |sep_#res| 10) 0)} is VALID [2018-11-18 23:08:31,651 INFO L273 TraceCheckUtils]: 209: Hoare triple {17425#(= (+ |sep_#res| 10) 0)} assume true; {17425#(= (+ |sep_#res| 10) 0)} is VALID [2018-11-18 23:08:31,653 INFO L268 TraceCheckUtils]: 210: Hoare quadruple {17425#(= (+ |sep_#res| 10) 0)} {17429#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} #82#return; {18065#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1) (= 0 (+ |main_#t~ret13| 10)))} is VALID [2018-11-18 23:08:31,653 INFO L273 TraceCheckUtils]: 211: Hoare triple {18065#(and (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1) (= 0 (+ |main_#t~ret13| 10)))} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {18069#(and (= (+ main_~ret5~0 10) 0) (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-18 23:08:31,654 INFO L273 TraceCheckUtils]: 212: Hoare triple {18069#(and (= (+ main_~ret5~0 10) 0) (= (+ main_~ret~1 10) 0) (= main_~ret2~0 main_~ret~1))} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {17413#false} is VALID [2018-11-18 23:08:31,654 INFO L273 TraceCheckUtils]: 213: Hoare triple {17413#false} assume !false; {17413#false} is VALID [2018-11-18 23:08:31,729 INFO L134 CoverageAnalysis]: Checked inductivity of 2219 backedges. 0 proven. 1800 refuted. 0 times theorem prover too weak. 419 trivial. 0 not checked. [2018-11-18 23:08:31,749 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:08:31,749 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 22 [2018-11-18 23:08:31,750 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 214 [2018-11-18 23:08:31,750 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:08:31,750 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-18 23:08:32,053 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-18 23:08:32,053 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-18 23:08:32,053 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-18 23:08:32,054 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=413, Unknown=0, NotChecked=0, Total=462 [2018-11-18 23:08:32,054 INFO L87 Difference]: Start difference. First operand 123 states and 137 transitions. Second operand 22 states. [2018-11-18 23:08:41,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:41,406 INFO L93 Difference]: Finished difference Result 389 states and 506 transitions. [2018-11-18 23:08:41,406 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-11-18 23:08:41,407 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 214 [2018-11-18 23:08:41,407 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:08:41,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-18 23:08:41,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 217 transitions. [2018-11-18 23:08:41,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-18 23:08:41,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 217 transitions. [2018-11-18 23:08:41,417 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 217 transitions. [2018-11-18 23:08:43,163 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 217 edges. 217 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:08:43,184 INFO L225 Difference]: With dead ends: 389 [2018-11-18 23:08:43,184 INFO L226 Difference]: Without dead ends: 385 [2018-11-18 23:08:43,185 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 258 GetRequests, 223 SyntacticMatches, 14 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=53, Invalid=453, Unknown=0, NotChecked=0, Total=506 [2018-11-18 23:08:43,186 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 385 states. [2018-11-18 23:08:43,394 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 385 to 315. [2018-11-18 23:08:43,394 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:08:43,395 INFO L82 GeneralOperation]: Start isEquivalent. First operand 385 states. Second operand 315 states. [2018-11-18 23:08:43,395 INFO L74 IsIncluded]: Start isIncluded. First operand 385 states. Second operand 315 states. [2018-11-18 23:08:43,395 INFO L87 Difference]: Start difference. First operand 385 states. Second operand 315 states. [2018-11-18 23:08:43,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:43,419 INFO L93 Difference]: Finished difference Result 385 states and 502 transitions. [2018-11-18 23:08:43,420 INFO L276 IsEmpty]: Start isEmpty. Operand 385 states and 502 transitions. [2018-11-18 23:08:43,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:43,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:43,423 INFO L74 IsIncluded]: Start isIncluded. First operand 315 states. Second operand 385 states. [2018-11-18 23:08:43,423 INFO L87 Difference]: Start difference. First operand 315 states. Second operand 385 states. [2018-11-18 23:08:43,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:08:43,446 INFO L93 Difference]: Finished difference Result 385 states and 502 transitions. [2018-11-18 23:08:43,446 INFO L276 IsEmpty]: Start isEmpty. Operand 385 states and 502 transitions. [2018-11-18 23:08:43,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:08:43,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:08:43,450 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:08:43,450 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:08:43,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 315 states. [2018-11-18 23:08:43,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 315 states to 315 states and 381 transitions. [2018-11-18 23:08:43,464 INFO L78 Accepts]: Start accepts. Automaton has 315 states and 381 transitions. Word has length 214 [2018-11-18 23:08:43,465 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:08:43,465 INFO L480 AbstractCegarLoop]: Abstraction has 315 states and 381 transitions. [2018-11-18 23:08:43,465 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-18 23:08:43,465 INFO L276 IsEmpty]: Start isEmpty. Operand 315 states and 381 transitions. [2018-11-18 23:08:43,468 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 215 [2018-11-18 23:08:43,468 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:08:43,468 INFO L375 BasicCegarLoop]: trace histogram [33, 30, 30, 29, 11, 10, 10, 10, 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, 1] [2018-11-18 23:08:43,469 INFO L423 AbstractCegarLoop]: === Iteration 25 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:08:43,469 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:08:43,469 INFO L82 PathProgramCache]: Analyzing trace with hash 599352821, now seen corresponding path program 1 times [2018-11-18 23:08:43,469 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:08:43,469 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:08:43,470 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:43,470 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:08:43,470 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:08:44,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:08:44,935 WARN L180 SmtUtils]: Spent 125.00 ms on a formula simplification. DAG size of input: 12 DAG size of output: 3 [2018-11-18 23:08:47,329 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: must not be argument of unary minus + at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:115) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:131) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.lambda$0(UltimateNormalFormUtils.java:154) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SubtermPropertyChecker$MyWalker.walk(SubtermPropertyChecker.java:63) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SubtermPropertyChecker.isPropertySatisfied(SubtermPropertyChecker.java:121) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.respectsUltimateNormalForm(UltimateNormalFormUtils.java:155) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.BasicPredicateFactory.newPredicate(BasicPredicateFactory.java:103) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.constructNewPredicate(PredicateUnifier.java:375) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:361) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:299) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.NestedInterpolantsBuilder.computePredicates(NestedInterpolantsBuilder.java:592) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.NestedInterpolantsBuilder.(NestedInterpolantsBuilder.java:170) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolantsTree(InterpolatingTraceCheckCraig.java:271) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolants(InterpolatingTraceCheckCraig.java:207) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.(InterpolatingTraceCheckCraig.java:109) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructCraig(TraceCheckConstructor.java:211) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:183) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:429) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:312) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:154) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:123) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-18 23:08:47,334 INFO L168 Benchmark]: Toolchain (without parser) took 60176.67 ms. Allocated memory was 1.5 GB in the beginning and 2.8 GB in the end (delta: 1.2 GB). Free memory was 1.4 GB in the beginning and 2.5 GB in the end (delta: -1.1 GB). Peak memory consumption was 120.7 MB. Max. memory is 7.1 GB. [2018-11-18 23:08:47,335 INFO L168 Benchmark]: CDTParser took 0.18 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-18 23:08:47,335 INFO L168 Benchmark]: CACSL2BoogieTranslator took 413.73 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. [2018-11-18 23:08:47,336 INFO L168 Benchmark]: Boogie Preprocessor took 55.27 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-18 23:08:47,336 INFO L168 Benchmark]: RCFGBuilder took 991.58 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 734.0 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -765.6 MB). Peak memory consumption was 14.5 MB. Max. memory is 7.1 GB. [2018-11-18 23:08:47,337 INFO L168 Benchmark]: TraceAbstraction took 58710.84 ms. Allocated memory was 2.3 GB in the beginning and 2.8 GB in the end (delta: 496.5 MB). Free memory was 2.2 GB in the beginning and 2.5 GB in the end (delta: -354.8 MB). Peak memory consumption was 141.7 MB. Max. memory is 7.1 GB. [2018-11-18 23:08:47,339 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.18 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 413.73 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 55.27 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 991.58 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 734.0 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -765.6 MB). Peak memory consumption was 14.5 MB. Max. memory is 7.1 GB. * TraceAbstraction took 58710.84 ms. Allocated memory was 2.3 GB in the beginning and 2.8 GB in the end (delta: 496.5 MB). Free memory was 2.2 GB in the beginning and 2.5 GB in the end (delta: -354.8 MB). Peak memory consumption was 141.7 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: must not be argument of unary minus + de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: must not be argument of unary minus +: de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:115) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...