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/sep05_true-unreach-call_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-370d6ab [2018-11-14 17:03:11,748 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-14 17:03:11,752 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-14 17:03:11,764 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-14 17:03:11,764 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-14 17:03:11,765 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-14 17:03:11,766 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-14 17:03:11,768 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-14 17:03:11,770 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-14 17:03:11,771 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-14 17:03:11,772 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-14 17:03:11,772 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-14 17:03:11,773 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-14 17:03:11,774 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-14 17:03:11,776 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-14 17:03:11,776 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-14 17:03:11,777 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-14 17:03:11,779 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-14 17:03:11,781 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-14 17:03:11,783 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-14 17:03:11,784 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-14 17:03:11,785 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-14 17:03:11,788 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-14 17:03:11,788 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-14 17:03:11,788 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-14 17:03:11,789 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-14 17:03:11,790 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-14 17:03:11,791 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-14 17:03:11,792 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-14 17:03:11,793 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-14 17:03:11,794 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-14 17:03:11,794 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-14 17:03:11,795 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-14 17:03:11,795 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-14 17:03:11,796 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-14 17:03:11,797 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-14 17:03:11,797 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-14 17:03:11,812 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-14 17:03:11,813 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-14 17:03:11,814 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-14 17:03:11,814 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-14 17:03:11,814 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-14 17:03:11,815 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-14 17:03:11,815 INFO L133 SettingsManager]: * Use SBE=true [2018-11-14 17:03:11,815 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-14 17:03:11,815 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-14 17:03:11,815 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-14 17:03:11,816 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-14 17:03:11,816 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-14 17:03:11,816 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-14 17:03:11,816 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-14 17:03:11,816 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-14 17:03:11,817 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-14 17:03:11,817 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-14 17:03:11,817 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-14 17:03:11,817 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-14 17:03:11,817 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-14 17:03:11,818 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-14 17:03:11,818 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-14 17:03:11,818 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 17:03:11,818 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-14 17:03:11,818 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-14 17:03:11,819 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-14 17:03:11,819 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-14 17:03:11,819 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-14 17:03:11,819 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-14 17:03:11,819 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-14 17:03:11,862 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-14 17:03:11,875 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-14 17:03:11,879 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-14 17:03:11,881 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-14 17:03:11,881 INFO L276 PluginConnector]: CDTParser initialized [2018-11-14 17:03:11,882 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/reducercommutativity/sep05_true-unreach-call_true-termination.i [2018-11-14 17:03:11,944 INFO L218 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/aa8f54ee8/111a274fde4848b4b909058897d71963/FLAG261efc6ef [2018-11-14 17:03:12,355 INFO L298 CDTParser]: Found 1 translation units. [2018-11-14 17:03:12,355 INFO L158 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/reducercommutativity/sep05_true-unreach-call_true-termination.i [2018-11-14 17:03:12,362 INFO L346 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/aa8f54ee8/111a274fde4848b4b909058897d71963/FLAG261efc6ef [2018-11-14 17:03:12,377 INFO L354 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/aa8f54ee8/111a274fde4848b4b909058897d71963 [2018-11-14 17:03:12,388 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-14 17:03:12,390 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-14 17:03:12,392 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-14 17:03:12,392 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-14 17:03:12,399 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-14 17:03:12,401 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 05:03:12" (1/1) ... [2018-11-14 17:03:12,404 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@78f7d1f6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:03:12, skipping insertion in model container [2018-11-14 17:03:12,404 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 05:03:12" (1/1) ... [2018-11-14 17:03:12,415 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-14 17:03:12,443 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-14 17:03:12,719 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 17:03:12,730 INFO L191 MainTranslator]: Completed pre-run [2018-11-14 17:03:12,763 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 17:03:12,782 INFO L195 MainTranslator]: Completed translation [2018-11-14 17:03:12,782 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:03:12 WrapperNode [2018-11-14 17:03:12,783 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-14 17:03:12,784 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-14 17:03:12,784 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-14 17:03:12,784 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-14 17:03:12,800 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:03:12" (1/1) ... [2018-11-14 17:03:12,800 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:03:12" (1/1) ... [2018-11-14 17:03:12,812 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:03:12" (1/1) ... [2018-11-14 17:03:12,812 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:03:12" (1/1) ... [2018-11-14 17:03:12,825 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:03:12" (1/1) ... [2018-11-14 17:03:12,832 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:03:12" (1/1) ... [2018-11-14 17:03:12,834 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:03:12" (1/1) ... [2018-11-14 17:03:12,836 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-14 17:03:12,837 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-14 17:03:12,837 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-14 17:03:12,837 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-14 17:03:12,838 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:03:12" (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-14 17:03:12,979 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-14 17:03:12,979 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-14 17:03:12,979 INFO L138 BoogieDeclarations]: Found implementation of procedure sep [2018-11-14 17:03:12,979 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-14 17:03:12,980 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-14 17:03:12,980 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-11-14 17:03:12,980 INFO L130 BoogieDeclarations]: Found specification of procedure sep [2018-11-14 17:03:12,980 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-14 17:03:12,980 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-14 17:03:12,980 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-14 17:03:12,981 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-14 17:03:12,981 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-14 17:03:12,981 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-14 17:03:12,981 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-14 17:03:12,981 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-14 17:03:13,764 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-14 17:03:13,765 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 05:03:13 BoogieIcfgContainer [2018-11-14 17:03:13,765 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-14 17:03:13,766 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-14 17:03:13,767 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-14 17:03:13,770 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-14 17:03:13,770 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.11 05:03:12" (1/3) ... [2018-11-14 17:03:13,771 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@42904a6e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 05:03:13, skipping insertion in model container [2018-11-14 17:03:13,771 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:03:12" (2/3) ... [2018-11-14 17:03:13,772 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@42904a6e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 05:03:13, skipping insertion in model container [2018-11-14 17:03:13,772 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 05:03:13" (3/3) ... [2018-11-14 17:03:13,774 INFO L112 eAbstractionObserver]: Analyzing ICFG sep05_true-unreach-call_true-termination.i [2018-11-14 17:03:13,784 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-14 17:03:13,793 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-14 17:03:13,809 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-14 17:03:13,841 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-14 17:03:13,842 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-14 17:03:13,842 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-14 17:03:13,843 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-14 17:03:13,843 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-14 17:03:13,843 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-14 17:03:13,843 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-14 17:03:13,843 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-14 17:03:13,844 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-14 17:03:13,864 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states. [2018-11-14 17:03:13,872 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-14 17:03:13,872 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:13,873 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-14 17:03:13,876 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:13,882 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:13,882 INFO L82 PathProgramCache]: Analyzing trace with hash 373848704, now seen corresponding path program 1 times [2018-11-14 17:03:13,884 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:13,885 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:13,942 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:13,942 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:03:13,943 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:13,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:14,069 INFO L256 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {38#true} is VALID [2018-11-14 17:03:14,073 INFO L273 TraceCheckUtils]: 1: Hoare triple {38#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {38#true} is VALID [2018-11-14 17:03:14,074 INFO L273 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2018-11-14 17:03:14,075 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #74#return; {38#true} is VALID [2018-11-14 17:03:14,076 INFO L256 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret14 := main(); {38#true} is VALID [2018-11-14 17:03:14,076 INFO L273 TraceCheckUtils]: 5: Hoare triple {38#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {38#true} is VALID [2018-11-14 17:03:14,079 INFO L273 TraceCheckUtils]: 6: Hoare triple {38#true} assume !true; {39#false} is VALID [2018-11-14 17:03:14,079 INFO L256 TraceCheckUtils]: 7: Hoare triple {39#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {38#true} is VALID [2018-11-14 17:03:14,080 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-14 17:03:14,080 INFO L273 TraceCheckUtils]: 9: Hoare triple {38#true} assume !true; {38#true} is VALID [2018-11-14 17:03:14,080 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-14 17:03:14,081 INFO L273 TraceCheckUtils]: 11: Hoare triple {38#true} assume true; {38#true} is VALID [2018-11-14 17:03:14,081 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {38#true} {39#false} #78#return; {39#false} is VALID [2018-11-14 17:03:14,081 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {39#false} is VALID [2018-11-14 17:03:14,082 INFO L256 TraceCheckUtils]: 14: Hoare triple {39#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {38#true} is VALID [2018-11-14 17:03:14,083 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-14 17:03:14,084 INFO L273 TraceCheckUtils]: 16: Hoare triple {38#true} assume !true; {38#true} is VALID [2018-11-14 17:03:14,084 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-14 17:03:14,084 INFO L273 TraceCheckUtils]: 18: Hoare triple {38#true} assume true; {38#true} is VALID [2018-11-14 17:03:14,084 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {38#true} {39#false} #80#return; {39#false} is VALID [2018-11-14 17:03:14,085 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {39#false} is VALID [2018-11-14 17:03:14,085 INFO L273 TraceCheckUtils]: 21: Hoare triple {39#false} assume !true; {39#false} is VALID [2018-11-14 17:03:14,085 INFO L273 TraceCheckUtils]: 22: Hoare triple {39#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {39#false} is VALID [2018-11-14 17:03:14,086 INFO L256 TraceCheckUtils]: 23: Hoare triple {39#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {38#true} is VALID [2018-11-14 17:03:14,086 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-14 17:03:14,087 INFO L273 TraceCheckUtils]: 25: Hoare triple {38#true} assume !true; {38#true} is VALID [2018-11-14 17:03:14,087 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-14 17:03:14,087 INFO L273 TraceCheckUtils]: 27: Hoare triple {38#true} assume true; {38#true} is VALID [2018-11-14 17:03:14,088 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {38#true} {39#false} #82#return; {39#false} is VALID [2018-11-14 17:03:14,088 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-14 17:03:14,088 INFO L273 TraceCheckUtils]: 30: Hoare triple {39#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {39#false} is VALID [2018-11-14 17:03:14,089 INFO L273 TraceCheckUtils]: 31: Hoare triple {39#false} assume !false; {39#false} is VALID [2018-11-14 17:03:14,095 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-14 17:03:14,098 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:03:14,098 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-14 17:03:14,104 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-14 17:03:14,107 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:03:14,111 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-14 17:03:14,387 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-14 17:03:14,387 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-14 17:03:14,396 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-14 17:03:14,397 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 17:03:14,400 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 2 states. [2018-11-14 17:03:14,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:14,565 INFO L93 Difference]: Finished difference Result 61 states and 80 transitions. [2018-11-14 17:03:14,565 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-14 17:03:14,565 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-14 17:03:14,566 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:03:14,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 17:03:14,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 80 transitions. [2018-11-14 17:03:14,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 17:03:14,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 80 transitions. [2018-11-14 17:03:14,585 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 80 transitions. [2018-11-14 17:03:14,898 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-14 17:03:14,910 INFO L225 Difference]: With dead ends: 61 [2018-11-14 17:03:14,911 INFO L226 Difference]: Without dead ends: 30 [2018-11-14 17:03:14,915 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-14 17:03:14,936 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-14 17:03:15,093 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2018-11-14 17:03:15,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:03:15,094 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 30 states. [2018-11-14 17:03:15,095 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 30 states. [2018-11-14 17:03:15,095 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 30 states. [2018-11-14 17:03:15,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:15,102 INFO L93 Difference]: Finished difference Result 30 states and 35 transitions. [2018-11-14 17:03:15,102 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-14 17:03:15,103 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:15,103 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:15,103 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 30 states. [2018-11-14 17:03:15,104 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 30 states. [2018-11-14 17:03:15,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:15,109 INFO L93 Difference]: Finished difference Result 30 states and 35 transitions. [2018-11-14 17:03:15,110 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-14 17:03:15,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:15,111 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:15,111 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:03:15,111 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:03:15,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-14 17:03:15,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 35 transitions. [2018-11-14 17:03:15,118 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 35 transitions. Word has length 32 [2018-11-14 17:03:15,118 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:03:15,118 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 35 transitions. [2018-11-14 17:03:15,118 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-14 17:03:15,119 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-14 17:03:15,120 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-14 17:03:15,121 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:15,121 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-14 17:03:15,121 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:15,122 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:15,122 INFO L82 PathProgramCache]: Analyzing trace with hash 1658721474, now seen corresponding path program 1 times [2018-11-14 17:03:15,122 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:15,122 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:15,124 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:15,124 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:03:15,124 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:15,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:15,359 INFO L256 TraceCheckUtils]: 0: Hoare triple {221#true} call ULTIMATE.init(); {221#true} is VALID [2018-11-14 17:03:15,359 INFO L273 TraceCheckUtils]: 1: Hoare triple {221#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {221#true} is VALID [2018-11-14 17:03:15,360 INFO L273 TraceCheckUtils]: 2: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-14 17:03:15,360 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {221#true} {221#true} #74#return; {221#true} is VALID [2018-11-14 17:03:15,360 INFO L256 TraceCheckUtils]: 4: Hoare triple {221#true} call #t~ret14 := main(); {221#true} is VALID [2018-11-14 17:03:15,362 INFO L273 TraceCheckUtils]: 5: Hoare triple {221#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {223#(= main_~i~1 0)} is VALID [2018-11-14 17:03:15,364 INFO L273 TraceCheckUtils]: 6: Hoare triple {223#(= main_~i~1 0)} assume true; {223#(= main_~i~1 0)} is VALID [2018-11-14 17:03:15,364 INFO L273 TraceCheckUtils]: 7: Hoare triple {223#(= main_~i~1 0)} assume !(~i~1 < 5); {222#false} is VALID [2018-11-14 17:03:15,365 INFO L256 TraceCheckUtils]: 8: Hoare triple {222#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {221#true} is VALID [2018-11-14 17:03:15,365 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-14 17:03:15,365 INFO L273 TraceCheckUtils]: 10: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-14 17:03:15,366 INFO L273 TraceCheckUtils]: 11: Hoare triple {221#true} assume !(~i~0 < 5); {221#true} is VALID [2018-11-14 17:03:15,366 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-14 17:03:15,366 INFO L273 TraceCheckUtils]: 13: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-14 17:03:15,366 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {221#true} {222#false} #78#return; {222#false} is VALID [2018-11-14 17:03:15,367 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {222#false} is VALID [2018-11-14 17:03:15,367 INFO L256 TraceCheckUtils]: 16: Hoare triple {222#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {221#true} is VALID [2018-11-14 17:03:15,367 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-14 17:03:15,367 INFO L273 TraceCheckUtils]: 18: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-14 17:03:15,368 INFO L273 TraceCheckUtils]: 19: Hoare triple {221#true} assume !(~i~0 < 5); {221#true} is VALID [2018-11-14 17:03:15,368 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-14 17:03:15,369 INFO L273 TraceCheckUtils]: 21: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-14 17:03:15,369 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {221#true} {222#false} #80#return; {222#false} is VALID [2018-11-14 17:03:15,369 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {222#false} is VALID [2018-11-14 17:03:15,370 INFO L273 TraceCheckUtils]: 24: Hoare triple {222#false} assume true; {222#false} is VALID [2018-11-14 17:03:15,370 INFO L273 TraceCheckUtils]: 25: Hoare triple {222#false} assume !(~i~2 < 4); {222#false} is VALID [2018-11-14 17:03:15,370 INFO L273 TraceCheckUtils]: 26: Hoare triple {222#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {222#false} is VALID [2018-11-14 17:03:15,371 INFO L256 TraceCheckUtils]: 27: Hoare triple {222#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {221#true} is VALID [2018-11-14 17:03:15,371 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-14 17:03:15,371 INFO L273 TraceCheckUtils]: 29: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-14 17:03:15,372 INFO L273 TraceCheckUtils]: 30: Hoare triple {221#true} assume !(~i~0 < 5); {221#true} is VALID [2018-11-14 17:03:15,372 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-14 17:03:15,372 INFO L273 TraceCheckUtils]: 32: Hoare triple {221#true} assume true; {221#true} is VALID [2018-11-14 17:03:15,373 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {221#true} {222#false} #82#return; {222#false} is VALID [2018-11-14 17:03:15,373 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-14 17:03:15,373 INFO L273 TraceCheckUtils]: 35: Hoare triple {222#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {222#false} is VALID [2018-11-14 17:03:15,374 INFO L273 TraceCheckUtils]: 36: Hoare triple {222#false} assume !false; {222#false} is VALID [2018-11-14 17:03:15,377 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-14 17:03:15,377 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:03:15,377 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 17:03:15,379 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 37 [2018-11-14 17:03:15,380 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:03:15,380 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 17:03:15,680 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-14 17:03:15,681 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 17:03:15,681 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 17:03:15,681 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:03:15,682 INFO L87 Difference]: Start difference. First operand 30 states and 35 transitions. Second operand 3 states. [2018-11-14 17:03:16,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:16,090 INFO L93 Difference]: Finished difference Result 54 states and 64 transitions. [2018-11-14 17:03:16,090 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 17:03:16,090 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 37 [2018-11-14 17:03:16,090 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:03:16,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:03:16,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2018-11-14 17:03:16,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:03:16,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2018-11-14 17:03:16,099 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 64 transitions. [2018-11-14 17:03:16,246 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-14 17:03:16,249 INFO L225 Difference]: With dead ends: 54 [2018-11-14 17:03:16,250 INFO L226 Difference]: Without dead ends: 33 [2018-11-14 17:03:16,251 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-14 17:03:16,251 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2018-11-14 17:03:16,268 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2018-11-14 17:03:16,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:03:16,268 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 32 states. [2018-11-14 17:03:16,269 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 32 states. [2018-11-14 17:03:16,269 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 32 states. [2018-11-14 17:03:16,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:16,274 INFO L93 Difference]: Finished difference Result 33 states and 38 transitions. [2018-11-14 17:03:16,274 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2018-11-14 17:03:16,275 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:16,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:16,276 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 33 states. [2018-11-14 17:03:16,276 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 33 states. [2018-11-14 17:03:16,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:16,280 INFO L93 Difference]: Finished difference Result 33 states and 38 transitions. [2018-11-14 17:03:16,280 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2018-11-14 17:03:16,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:16,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:16,282 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:03:16,282 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:03:16,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-14 17:03:16,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 37 transitions. [2018-11-14 17:03:16,285 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 37 transitions. Word has length 37 [2018-11-14 17:03:16,285 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:03:16,285 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 37 transitions. [2018-11-14 17:03:16,286 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 17:03:16,286 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2018-11-14 17:03:16,287 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-14 17:03:16,288 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:16,288 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-14 17:03:16,288 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:16,288 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:16,289 INFO L82 PathProgramCache]: Analyzing trace with hash -583898067, now seen corresponding path program 1 times [2018-11-14 17:03:16,289 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:16,289 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:16,290 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:16,291 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:03:16,291 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:16,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:16,377 INFO L256 TraceCheckUtils]: 0: Hoare triple {408#true} call ULTIMATE.init(); {408#true} is VALID [2018-11-14 17:03:16,377 INFO L273 TraceCheckUtils]: 1: Hoare triple {408#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {408#true} is VALID [2018-11-14 17:03:16,378 INFO L273 TraceCheckUtils]: 2: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-14 17:03:16,378 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {408#true} {408#true} #74#return; {408#true} is VALID [2018-11-14 17:03:16,378 INFO L256 TraceCheckUtils]: 4: Hoare triple {408#true} call #t~ret14 := main(); {408#true} is VALID [2018-11-14 17:03:16,379 INFO L273 TraceCheckUtils]: 5: Hoare triple {408#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {408#true} is VALID [2018-11-14 17:03:16,379 INFO L273 TraceCheckUtils]: 6: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-14 17:03:16,379 INFO L273 TraceCheckUtils]: 7: Hoare triple {408#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {408#true} is VALID [2018-11-14 17:03:16,380 INFO L273 TraceCheckUtils]: 8: Hoare triple {408#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {408#true} is VALID [2018-11-14 17:03:16,381 INFO L273 TraceCheckUtils]: 9: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-14 17:03:16,381 INFO L273 TraceCheckUtils]: 10: Hoare triple {408#true} assume !(~i~1 < 5); {408#true} is VALID [2018-11-14 17:03:16,381 INFO L256 TraceCheckUtils]: 11: Hoare triple {408#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {408#true} is VALID [2018-11-14 17:03:16,385 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-14 17:03:16,387 INFO L273 TraceCheckUtils]: 13: Hoare triple {410#(= sep_~i~0 0)} assume true; {410#(= sep_~i~0 0)} is VALID [2018-11-14 17:03:16,388 INFO L273 TraceCheckUtils]: 14: Hoare triple {410#(= sep_~i~0 0)} assume !(~i~0 < 5); {409#false} is VALID [2018-11-14 17:03:16,388 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-14 17:03:16,388 INFO L273 TraceCheckUtils]: 16: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-14 17:03:16,388 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {409#false} {408#true} #78#return; {409#false} is VALID [2018-11-14 17:03:16,389 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {409#false} is VALID [2018-11-14 17:03:16,389 INFO L256 TraceCheckUtils]: 19: Hoare triple {409#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {408#true} is VALID [2018-11-14 17:03:16,389 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-14 17:03:16,389 INFO L273 TraceCheckUtils]: 21: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-14 17:03:16,390 INFO L273 TraceCheckUtils]: 22: Hoare triple {408#true} assume !(~i~0 < 5); {408#true} is VALID [2018-11-14 17:03:16,390 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-14 17:03:16,390 INFO L273 TraceCheckUtils]: 24: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-14 17:03:16,391 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {408#true} {409#false} #80#return; {409#false} is VALID [2018-11-14 17:03:16,391 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {409#false} is VALID [2018-11-14 17:03:16,391 INFO L273 TraceCheckUtils]: 27: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-14 17:03:16,392 INFO L273 TraceCheckUtils]: 28: Hoare triple {409#false} assume !(~i~2 < 4); {409#false} is VALID [2018-11-14 17:03:16,392 INFO L273 TraceCheckUtils]: 29: Hoare triple {409#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {409#false} is VALID [2018-11-14 17:03:16,392 INFO L256 TraceCheckUtils]: 30: Hoare triple {409#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {408#true} is VALID [2018-11-14 17:03:16,393 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-14 17:03:16,393 INFO L273 TraceCheckUtils]: 32: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-14 17:03:16,393 INFO L273 TraceCheckUtils]: 33: Hoare triple {408#true} assume !(~i~0 < 5); {408#true} is VALID [2018-11-14 17:03:16,394 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-14 17:03:16,394 INFO L273 TraceCheckUtils]: 35: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-14 17:03:16,394 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {408#true} {409#false} #82#return; {409#false} is VALID [2018-11-14 17:03:16,395 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-14 17:03:16,395 INFO L273 TraceCheckUtils]: 38: Hoare triple {409#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {409#false} is VALID [2018-11-14 17:03:16,395 INFO L273 TraceCheckUtils]: 39: Hoare triple {409#false} assume !false; {409#false} is VALID [2018-11-14 17:03:16,398 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-14 17:03:16,398 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:03:16,399 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-14 17:03:16,411 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:03:16,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:16,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:16,488 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:03:16,679 INFO L256 TraceCheckUtils]: 0: Hoare triple {408#true} call ULTIMATE.init(); {408#true} is VALID [2018-11-14 17:03:16,680 INFO L273 TraceCheckUtils]: 1: Hoare triple {408#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {408#true} is VALID [2018-11-14 17:03:16,680 INFO L273 TraceCheckUtils]: 2: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-14 17:03:16,680 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {408#true} {408#true} #74#return; {408#true} is VALID [2018-11-14 17:03:16,681 INFO L256 TraceCheckUtils]: 4: Hoare triple {408#true} call #t~ret14 := main(); {408#true} is VALID [2018-11-14 17:03:16,681 INFO L273 TraceCheckUtils]: 5: Hoare triple {408#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {408#true} is VALID [2018-11-14 17:03:16,681 INFO L273 TraceCheckUtils]: 6: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-14 17:03:16,681 INFO L273 TraceCheckUtils]: 7: Hoare triple {408#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {408#true} is VALID [2018-11-14 17:03:16,682 INFO L273 TraceCheckUtils]: 8: Hoare triple {408#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {408#true} is VALID [2018-11-14 17:03:16,682 INFO L273 TraceCheckUtils]: 9: Hoare triple {408#true} assume true; {408#true} is VALID [2018-11-14 17:03:16,682 INFO L273 TraceCheckUtils]: 10: Hoare triple {408#true} assume !(~i~1 < 5); {408#true} is VALID [2018-11-14 17:03:16,683 INFO L256 TraceCheckUtils]: 11: Hoare triple {408#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {408#true} is VALID [2018-11-14 17:03:16,699 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-14 17:03:16,704 INFO L273 TraceCheckUtils]: 13: Hoare triple {450#(<= sep_~i~0 0)} assume true; {450#(<= sep_~i~0 0)} is VALID [2018-11-14 17:03:16,708 INFO L273 TraceCheckUtils]: 14: Hoare triple {450#(<= sep_~i~0 0)} assume !(~i~0 < 5); {409#false} is VALID [2018-11-14 17:03:16,708 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-14 17:03:16,708 INFO L273 TraceCheckUtils]: 16: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-14 17:03:16,708 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {409#false} {408#true} #78#return; {409#false} is VALID [2018-11-14 17:03:16,709 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {409#false} is VALID [2018-11-14 17:03:16,709 INFO L256 TraceCheckUtils]: 19: Hoare triple {409#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {409#false} is VALID [2018-11-14 17:03:16,709 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-14 17:03:16,710 INFO L273 TraceCheckUtils]: 21: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-14 17:03:16,710 INFO L273 TraceCheckUtils]: 22: Hoare triple {409#false} assume !(~i~0 < 5); {409#false} is VALID [2018-11-14 17:03:16,710 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-14 17:03:16,711 INFO L273 TraceCheckUtils]: 24: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-14 17:03:16,711 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {409#false} {409#false} #80#return; {409#false} is VALID [2018-11-14 17:03:16,711 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {409#false} is VALID [2018-11-14 17:03:16,711 INFO L273 TraceCheckUtils]: 27: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-14 17:03:16,712 INFO L273 TraceCheckUtils]: 28: Hoare triple {409#false} assume !(~i~2 < 4); {409#false} is VALID [2018-11-14 17:03:16,712 INFO L273 TraceCheckUtils]: 29: Hoare triple {409#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {409#false} is VALID [2018-11-14 17:03:16,712 INFO L256 TraceCheckUtils]: 30: Hoare triple {409#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {409#false} is VALID [2018-11-14 17:03:16,713 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-14 17:03:16,713 INFO L273 TraceCheckUtils]: 32: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-14 17:03:16,713 INFO L273 TraceCheckUtils]: 33: Hoare triple {409#false} assume !(~i~0 < 5); {409#false} is VALID [2018-11-14 17:03:16,714 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-14 17:03:16,714 INFO L273 TraceCheckUtils]: 35: Hoare triple {409#false} assume true; {409#false} is VALID [2018-11-14 17:03:16,714 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {409#false} {409#false} #82#return; {409#false} is VALID [2018-11-14 17:03:16,714 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-14 17:03:16,715 INFO L273 TraceCheckUtils]: 38: Hoare triple {409#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {409#false} is VALID [2018-11-14 17:03:16,715 INFO L273 TraceCheckUtils]: 39: Hoare triple {409#false} assume !false; {409#false} is VALID [2018-11-14 17:03:16,718 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-14 17:03:16,744 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-14 17:03:16,744 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [3] total 4 [2018-11-14 17:03:16,745 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 40 [2018-11-14 17:03:16,748 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:03:16,748 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-14 17:03:16,959 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-14 17:03:16,959 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-14 17:03:16,960 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-14 17:03:16,960 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-14 17:03:16,960 INFO L87 Difference]: Start difference. First operand 32 states and 37 transitions. Second operand 4 states. [2018-11-14 17:03:17,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:17,202 INFO L93 Difference]: Finished difference Result 56 states and 69 transitions. [2018-11-14 17:03:17,203 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 17:03:17,203 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 40 [2018-11-14 17:03:17,203 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:03:17,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 17:03:17,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 67 transitions. [2018-11-14 17:03:17,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 17:03:17,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 67 transitions. [2018-11-14 17:03:17,210 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 67 transitions. [2018-11-14 17:03:17,359 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-14 17:03:17,362 INFO L225 Difference]: With dead ends: 56 [2018-11-14 17:03:17,363 INFO L226 Difference]: Without dead ends: 36 [2018-11-14 17:03:17,363 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-14 17:03:17,364 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2018-11-14 17:03:17,385 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2018-11-14 17:03:17,386 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:03:17,386 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 34 states. [2018-11-14 17:03:17,386 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 34 states. [2018-11-14 17:03:17,386 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 34 states. [2018-11-14 17:03:17,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:17,390 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2018-11-14 17:03:17,390 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2018-11-14 17:03:17,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:17,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:17,391 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 36 states. [2018-11-14 17:03:17,391 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 36 states. [2018-11-14 17:03:17,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:17,394 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2018-11-14 17:03:17,394 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2018-11-14 17:03:17,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:17,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:17,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:03:17,396 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:03:17,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-14 17:03:17,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 39 transitions. [2018-11-14 17:03:17,399 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 39 transitions. Word has length 40 [2018-11-14 17:03:17,399 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:03:17,399 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 39 transitions. [2018-11-14 17:03:17,399 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-14 17:03:17,399 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2018-11-14 17:03:17,401 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-14 17:03:17,401 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:17,401 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-14 17:03:17,402 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:17,402 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:17,402 INFO L82 PathProgramCache]: Analyzing trace with hash 1185758630, now seen corresponding path program 1 times [2018-11-14 17:03:17,402 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:17,403 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:17,404 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:17,404 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:03:17,404 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:17,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:17,524 INFO L256 TraceCheckUtils]: 0: Hoare triple {724#true} call ULTIMATE.init(); {724#true} is VALID [2018-11-14 17:03:17,524 INFO L273 TraceCheckUtils]: 1: Hoare triple {724#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {724#true} is VALID [2018-11-14 17:03:17,524 INFO L273 TraceCheckUtils]: 2: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-14 17:03:17,525 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {724#true} {724#true} #74#return; {724#true} is VALID [2018-11-14 17:03:17,525 INFO L256 TraceCheckUtils]: 4: Hoare triple {724#true} call #t~ret14 := main(); {724#true} is VALID [2018-11-14 17:03:17,526 INFO L273 TraceCheckUtils]: 5: Hoare triple {724#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {724#true} is VALID [2018-11-14 17:03:17,526 INFO L273 TraceCheckUtils]: 6: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-14 17:03:17,527 INFO L273 TraceCheckUtils]: 7: Hoare triple {724#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {724#true} is VALID [2018-11-14 17:03:17,527 INFO L273 TraceCheckUtils]: 8: Hoare triple {724#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {724#true} is VALID [2018-11-14 17:03:17,527 INFO L273 TraceCheckUtils]: 9: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-14 17:03:17,528 INFO L273 TraceCheckUtils]: 10: Hoare triple {724#true} assume !(~i~1 < 5); {724#true} is VALID [2018-11-14 17:03:17,528 INFO L256 TraceCheckUtils]: 11: Hoare triple {724#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {724#true} is VALID [2018-11-14 17:03:17,528 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-14 17:03:17,529 INFO L273 TraceCheckUtils]: 13: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-14 17:03:17,529 INFO L273 TraceCheckUtils]: 14: Hoare triple {724#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {724#true} is VALID [2018-11-14 17:03:17,529 INFO L273 TraceCheckUtils]: 15: Hoare triple {724#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {724#true} is VALID [2018-11-14 17:03:17,529 INFO L273 TraceCheckUtils]: 16: Hoare triple {724#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {724#true} is VALID [2018-11-14 17:03:17,530 INFO L273 TraceCheckUtils]: 17: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-14 17:03:17,530 INFO L273 TraceCheckUtils]: 18: Hoare triple {724#true} assume !(~i~0 < 5); {724#true} is VALID [2018-11-14 17:03:17,530 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-14 17:03:17,531 INFO L273 TraceCheckUtils]: 20: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-14 17:03:17,531 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {724#true} {724#true} #78#return; {724#true} is VALID [2018-11-14 17:03:17,531 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {724#true} is VALID [2018-11-14 17:03:17,532 INFO L256 TraceCheckUtils]: 23: Hoare triple {724#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {724#true} is VALID [2018-11-14 17:03:17,532 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-14 17:03:17,532 INFO L273 TraceCheckUtils]: 25: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-14 17:03:17,532 INFO L273 TraceCheckUtils]: 26: Hoare triple {724#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {724#true} is VALID [2018-11-14 17:03:17,533 INFO L273 TraceCheckUtils]: 27: Hoare triple {724#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {724#true} is VALID [2018-11-14 17:03:17,533 INFO L273 TraceCheckUtils]: 28: Hoare triple {724#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {724#true} is VALID [2018-11-14 17:03:17,533 INFO L273 TraceCheckUtils]: 29: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-14 17:03:17,533 INFO L273 TraceCheckUtils]: 30: Hoare triple {724#true} assume !(~i~0 < 5); {724#true} is VALID [2018-11-14 17:03:17,534 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-14 17:03:17,534 INFO L273 TraceCheckUtils]: 32: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-14 17:03:17,534 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {724#true} {724#true} #80#return; {724#true} is VALID [2018-11-14 17:03:17,537 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {726#(= main_~i~2 0)} is VALID [2018-11-14 17:03:17,537 INFO L273 TraceCheckUtils]: 35: Hoare triple {726#(= main_~i~2 0)} assume true; {726#(= main_~i~2 0)} is VALID [2018-11-14 17:03:17,539 INFO L273 TraceCheckUtils]: 36: Hoare triple {726#(= main_~i~2 0)} assume !(~i~2 < 4); {725#false} is VALID [2018-11-14 17:03:17,539 INFO L273 TraceCheckUtils]: 37: Hoare triple {725#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {725#false} is VALID [2018-11-14 17:03:17,539 INFO L256 TraceCheckUtils]: 38: Hoare triple {725#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {724#true} is VALID [2018-11-14 17:03:17,539 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-14 17:03:17,540 INFO L273 TraceCheckUtils]: 40: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-14 17:03:17,540 INFO L273 TraceCheckUtils]: 41: Hoare triple {724#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {724#true} is VALID [2018-11-14 17:03:17,540 INFO L273 TraceCheckUtils]: 42: Hoare triple {724#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {724#true} is VALID [2018-11-14 17:03:17,540 INFO L273 TraceCheckUtils]: 43: Hoare triple {724#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {724#true} is VALID [2018-11-14 17:03:17,541 INFO L273 TraceCheckUtils]: 44: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-14 17:03:17,541 INFO L273 TraceCheckUtils]: 45: Hoare triple {724#true} assume !(~i~0 < 5); {724#true} is VALID [2018-11-14 17:03:17,541 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-14 17:03:17,541 INFO L273 TraceCheckUtils]: 47: Hoare triple {724#true} assume true; {724#true} is VALID [2018-11-14 17:03:17,542 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {724#true} {725#false} #82#return; {725#false} is VALID [2018-11-14 17:03:17,542 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-14 17:03:17,542 INFO L273 TraceCheckUtils]: 50: Hoare triple {725#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {725#false} is VALID [2018-11-14 17:03:17,542 INFO L273 TraceCheckUtils]: 51: Hoare triple {725#false} assume !false; {725#false} is VALID [2018-11-14 17:03:17,546 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-14 17:03:17,547 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:03:17,547 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 17:03:17,547 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 52 [2018-11-14 17:03:17,548 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:03:17,548 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 17:03:17,624 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-14 17:03:17,624 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 17:03:17,624 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 17:03:17,624 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:03:17,625 INFO L87 Difference]: Start difference. First operand 34 states and 39 transitions. Second operand 3 states. [2018-11-14 17:03:17,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:17,754 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2018-11-14 17:03:17,754 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 17:03:17,755 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 52 [2018-11-14 17:03:17,755 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:03:17,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:03:17,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2018-11-14 17:03:17,758 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:03:17,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2018-11-14 17:03:17,760 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 54 transitions. [2018-11-14 17:03:17,867 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-14 17:03:17,868 INFO L225 Difference]: With dead ends: 53 [2018-11-14 17:03:17,868 INFO L226 Difference]: Without dead ends: 37 [2018-11-14 17:03:17,869 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-14 17:03:17,869 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-14 17:03:17,886 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 36. [2018-11-14 17:03:17,886 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:03:17,887 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 36 states. [2018-11-14 17:03:17,887 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 36 states. [2018-11-14 17:03:17,887 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 36 states. [2018-11-14 17:03:17,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:17,890 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2018-11-14 17:03:17,890 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2018-11-14 17:03:17,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:17,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:17,891 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 37 states. [2018-11-14 17:03:17,891 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 37 states. [2018-11-14 17:03:17,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:17,895 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2018-11-14 17:03:17,895 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2018-11-14 17:03:17,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:17,896 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:17,897 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:03:17,897 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:03:17,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-14 17:03:17,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 41 transitions. [2018-11-14 17:03:17,900 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 41 transitions. Word has length 52 [2018-11-14 17:03:17,900 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:03:17,900 INFO L480 AbstractCegarLoop]: Abstraction has 36 states and 41 transitions. [2018-11-14 17:03:17,900 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 17:03:17,900 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2018-11-14 17:03:17,902 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2018-11-14 17:03:17,902 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:17,902 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-14 17:03:17,903 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:17,903 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:17,903 INFO L82 PathProgramCache]: Analyzing trace with hash -2029337717, now seen corresponding path program 1 times [2018-11-14 17:03:17,903 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:17,903 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:17,904 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:17,904 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:03:17,905 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:17,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:18,050 INFO L256 TraceCheckUtils]: 0: Hoare triple {924#true} call ULTIMATE.init(); {924#true} is VALID [2018-11-14 17:03:18,051 INFO L273 TraceCheckUtils]: 1: Hoare triple {924#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {924#true} is VALID [2018-11-14 17:03:18,051 INFO L273 TraceCheckUtils]: 2: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-14 17:03:18,052 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {924#true} {924#true} #74#return; {924#true} is VALID [2018-11-14 17:03:18,052 INFO L256 TraceCheckUtils]: 4: Hoare triple {924#true} call #t~ret14 := main(); {924#true} is VALID [2018-11-14 17:03:18,052 INFO L273 TraceCheckUtils]: 5: Hoare triple {924#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {926#(= main_~i~1 0)} is VALID [2018-11-14 17:03:18,057 INFO L273 TraceCheckUtils]: 6: Hoare triple {926#(= main_~i~1 0)} assume true; {926#(= main_~i~1 0)} is VALID [2018-11-14 17:03:18,058 INFO L273 TraceCheckUtils]: 7: Hoare triple {926#(= main_~i~1 0)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {926#(= main_~i~1 0)} is VALID [2018-11-14 17:03:18,058 INFO L273 TraceCheckUtils]: 8: Hoare triple {926#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {927#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:18,061 INFO L273 TraceCheckUtils]: 9: Hoare triple {927#(<= main_~i~1 1)} assume true; {927#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:18,061 INFO L273 TraceCheckUtils]: 10: Hoare triple {927#(<= main_~i~1 1)} assume !(~i~1 < 5); {925#false} is VALID [2018-11-14 17:03:18,062 INFO L256 TraceCheckUtils]: 11: Hoare triple {925#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {924#true} is VALID [2018-11-14 17:03:18,062 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-14 17:03:18,062 INFO L273 TraceCheckUtils]: 13: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-14 17:03:18,063 INFO L273 TraceCheckUtils]: 14: Hoare triple {924#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {924#true} is VALID [2018-11-14 17:03:18,063 INFO L273 TraceCheckUtils]: 15: Hoare triple {924#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {924#true} is VALID [2018-11-14 17:03:18,064 INFO L273 TraceCheckUtils]: 16: Hoare triple {924#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {924#true} is VALID [2018-11-14 17:03:18,064 INFO L273 TraceCheckUtils]: 17: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-14 17:03:18,069 INFO L273 TraceCheckUtils]: 18: Hoare triple {924#true} assume !(~i~0 < 5); {924#true} is VALID [2018-11-14 17:03:18,069 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-14 17:03:18,069 INFO L273 TraceCheckUtils]: 20: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-14 17:03:18,069 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {924#true} {925#false} #78#return; {925#false} is VALID [2018-11-14 17:03:18,070 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {925#false} is VALID [2018-11-14 17:03:18,070 INFO L256 TraceCheckUtils]: 23: Hoare triple {925#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {924#true} is VALID [2018-11-14 17:03:18,070 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-14 17:03:18,070 INFO L273 TraceCheckUtils]: 25: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-14 17:03:18,071 INFO L273 TraceCheckUtils]: 26: Hoare triple {924#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {924#true} is VALID [2018-11-14 17:03:18,071 INFO L273 TraceCheckUtils]: 27: Hoare triple {924#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {924#true} is VALID [2018-11-14 17:03:18,071 INFO L273 TraceCheckUtils]: 28: Hoare triple {924#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {924#true} is VALID [2018-11-14 17:03:18,072 INFO L273 TraceCheckUtils]: 29: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-14 17:03:18,072 INFO L273 TraceCheckUtils]: 30: Hoare triple {924#true} assume !(~i~0 < 5); {924#true} is VALID [2018-11-14 17:03:18,072 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-14 17:03:18,072 INFO L273 TraceCheckUtils]: 32: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-14 17:03:18,073 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {924#true} {925#false} #80#return; {925#false} is VALID [2018-11-14 17:03:18,073 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {925#false} is VALID [2018-11-14 17:03:18,073 INFO L273 TraceCheckUtils]: 35: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-14 17:03:18,074 INFO L273 TraceCheckUtils]: 36: Hoare triple {925#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {925#false} is VALID [2018-11-14 17:03:18,074 INFO L273 TraceCheckUtils]: 37: Hoare triple {925#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {925#false} is VALID [2018-11-14 17:03:18,074 INFO L273 TraceCheckUtils]: 38: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-14 17:03:18,075 INFO L273 TraceCheckUtils]: 39: Hoare triple {925#false} assume !(~i~2 < 4); {925#false} is VALID [2018-11-14 17:03:18,075 INFO L273 TraceCheckUtils]: 40: Hoare triple {925#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {925#false} is VALID [2018-11-14 17:03:18,075 INFO L256 TraceCheckUtils]: 41: Hoare triple {925#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {924#true} is VALID [2018-11-14 17:03:18,076 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-14 17:03:18,076 INFO L273 TraceCheckUtils]: 43: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-14 17:03:18,076 INFO L273 TraceCheckUtils]: 44: Hoare triple {924#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {924#true} is VALID [2018-11-14 17:03:18,077 INFO L273 TraceCheckUtils]: 45: Hoare triple {924#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {924#true} is VALID [2018-11-14 17:03:18,077 INFO L273 TraceCheckUtils]: 46: Hoare triple {924#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {924#true} is VALID [2018-11-14 17:03:18,077 INFO L273 TraceCheckUtils]: 47: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-14 17:03:18,078 INFO L273 TraceCheckUtils]: 48: Hoare triple {924#true} assume !(~i~0 < 5); {924#true} is VALID [2018-11-14 17:03:18,078 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-14 17:03:18,078 INFO L273 TraceCheckUtils]: 50: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-14 17:03:18,079 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {924#true} {925#false} #82#return; {925#false} is VALID [2018-11-14 17:03:18,079 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-14 17:03:18,079 INFO L273 TraceCheckUtils]: 53: Hoare triple {925#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {925#false} is VALID [2018-11-14 17:03:18,080 INFO L273 TraceCheckUtils]: 54: Hoare triple {925#false} assume !false; {925#false} is VALID [2018-11-14 17:03:18,084 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-14 17:03:18,084 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:03:18,085 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-14 17:03:18,097 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:03:18,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:18,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:18,175 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:03:18,494 INFO L256 TraceCheckUtils]: 0: Hoare triple {924#true} call ULTIMATE.init(); {924#true} is VALID [2018-11-14 17:03:18,494 INFO L273 TraceCheckUtils]: 1: Hoare triple {924#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {924#true} is VALID [2018-11-14 17:03:18,495 INFO L273 TraceCheckUtils]: 2: Hoare triple {924#true} assume true; {924#true} is VALID [2018-11-14 17:03:18,495 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {924#true} {924#true} #74#return; {924#true} is VALID [2018-11-14 17:03:18,495 INFO L256 TraceCheckUtils]: 4: Hoare triple {924#true} call #t~ret14 := main(); {924#true} is VALID [2018-11-14 17:03:18,496 INFO L273 TraceCheckUtils]: 5: Hoare triple {924#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {946#(<= main_~i~1 0)} is VALID [2018-11-14 17:03:18,497 INFO L273 TraceCheckUtils]: 6: Hoare triple {946#(<= main_~i~1 0)} assume true; {946#(<= main_~i~1 0)} is VALID [2018-11-14 17:03:18,497 INFO L273 TraceCheckUtils]: 7: Hoare triple {946#(<= main_~i~1 0)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {946#(<= main_~i~1 0)} is VALID [2018-11-14 17:03:18,498 INFO L273 TraceCheckUtils]: 8: Hoare triple {946#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {927#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:18,517 INFO L273 TraceCheckUtils]: 9: Hoare triple {927#(<= main_~i~1 1)} assume true; {927#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:18,532 INFO L273 TraceCheckUtils]: 10: Hoare triple {927#(<= main_~i~1 1)} assume !(~i~1 < 5); {925#false} is VALID [2018-11-14 17:03:18,532 INFO L256 TraceCheckUtils]: 11: Hoare triple {925#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {925#false} is VALID [2018-11-14 17:03:18,533 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-14 17:03:18,533 INFO L273 TraceCheckUtils]: 13: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-14 17:03:18,533 INFO L273 TraceCheckUtils]: 14: Hoare triple {925#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {925#false} is VALID [2018-11-14 17:03:18,533 INFO L273 TraceCheckUtils]: 15: Hoare triple {925#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {925#false} is VALID [2018-11-14 17:03:18,534 INFO L273 TraceCheckUtils]: 16: Hoare triple {925#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {925#false} is VALID [2018-11-14 17:03:18,534 INFO L273 TraceCheckUtils]: 17: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-14 17:03:18,534 INFO L273 TraceCheckUtils]: 18: Hoare triple {925#false} assume !(~i~0 < 5); {925#false} is VALID [2018-11-14 17:03:18,534 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-14 17:03:18,535 INFO L273 TraceCheckUtils]: 20: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-14 17:03:18,535 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {925#false} {925#false} #78#return; {925#false} is VALID [2018-11-14 17:03:18,535 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {925#false} is VALID [2018-11-14 17:03:18,535 INFO L256 TraceCheckUtils]: 23: Hoare triple {925#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {925#false} is VALID [2018-11-14 17:03:18,536 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-14 17:03:18,536 INFO L273 TraceCheckUtils]: 25: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-14 17:03:18,536 INFO L273 TraceCheckUtils]: 26: Hoare triple {925#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {925#false} is VALID [2018-11-14 17:03:18,536 INFO L273 TraceCheckUtils]: 27: Hoare triple {925#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {925#false} is VALID [2018-11-14 17:03:18,537 INFO L273 TraceCheckUtils]: 28: Hoare triple {925#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {925#false} is VALID [2018-11-14 17:03:18,537 INFO L273 TraceCheckUtils]: 29: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-14 17:03:18,537 INFO L273 TraceCheckUtils]: 30: Hoare triple {925#false} assume !(~i~0 < 5); {925#false} is VALID [2018-11-14 17:03:18,538 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-14 17:03:18,538 INFO L273 TraceCheckUtils]: 32: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-14 17:03:18,538 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {925#false} {925#false} #80#return; {925#false} is VALID [2018-11-14 17:03:18,538 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {925#false} is VALID [2018-11-14 17:03:18,539 INFO L273 TraceCheckUtils]: 35: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-14 17:03:18,539 INFO L273 TraceCheckUtils]: 36: Hoare triple {925#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {925#false} is VALID [2018-11-14 17:03:18,539 INFO L273 TraceCheckUtils]: 37: Hoare triple {925#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {925#false} is VALID [2018-11-14 17:03:18,539 INFO L273 TraceCheckUtils]: 38: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-14 17:03:18,539 INFO L273 TraceCheckUtils]: 39: Hoare triple {925#false} assume !(~i~2 < 4); {925#false} is VALID [2018-11-14 17:03:18,540 INFO L273 TraceCheckUtils]: 40: Hoare triple {925#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {925#false} is VALID [2018-11-14 17:03:18,540 INFO L256 TraceCheckUtils]: 41: Hoare triple {925#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {925#false} is VALID [2018-11-14 17:03:18,540 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-14 17:03:18,540 INFO L273 TraceCheckUtils]: 43: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-14 17:03:18,541 INFO L273 TraceCheckUtils]: 44: Hoare triple {925#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {925#false} is VALID [2018-11-14 17:03:18,541 INFO L273 TraceCheckUtils]: 45: Hoare triple {925#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {925#false} is VALID [2018-11-14 17:03:18,541 INFO L273 TraceCheckUtils]: 46: Hoare triple {925#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {925#false} is VALID [2018-11-14 17:03:18,541 INFO L273 TraceCheckUtils]: 47: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-14 17:03:18,541 INFO L273 TraceCheckUtils]: 48: Hoare triple {925#false} assume !(~i~0 < 5); {925#false} is VALID [2018-11-14 17:03:18,541 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-14 17:03:18,542 INFO L273 TraceCheckUtils]: 50: Hoare triple {925#false} assume true; {925#false} is VALID [2018-11-14 17:03:18,542 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {925#false} {925#false} #82#return; {925#false} is VALID [2018-11-14 17:03:18,542 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-14 17:03:18,542 INFO L273 TraceCheckUtils]: 53: Hoare triple {925#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {925#false} is VALID [2018-11-14 17:03:18,543 INFO L273 TraceCheckUtils]: 54: Hoare triple {925#false} assume !false; {925#false} is VALID [2018-11-14 17:03:18,546 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-14 17:03:18,567 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:03:18,567 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2018-11-14 17:03:18,567 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 55 [2018-11-14 17:03:18,569 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:03:18,569 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-14 17:03:18,646 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-14 17:03:18,646 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-14 17:03:18,646 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-14 17:03:18,646 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-14 17:03:18,647 INFO L87 Difference]: Start difference. First operand 36 states and 41 transitions. Second operand 5 states. [2018-11-14 17:03:18,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:18,925 INFO L93 Difference]: Finished difference Result 65 states and 75 transitions. [2018-11-14 17:03:18,925 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-14 17:03:18,925 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 55 [2018-11-14 17:03:18,926 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:03:18,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 17:03:18,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 67 transitions. [2018-11-14 17:03:18,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 17:03:18,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 67 transitions. [2018-11-14 17:03:18,931 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 67 transitions. [2018-11-14 17:03:19,112 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-14 17:03:19,114 INFO L225 Difference]: With dead ends: 65 [2018-11-14 17:03:19,115 INFO L226 Difference]: Without dead ends: 40 [2018-11-14 17:03:19,115 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-14 17:03:19,116 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-14 17:03:19,143 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 39. [2018-11-14 17:03:19,143 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:03:19,143 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 39 states. [2018-11-14 17:03:19,143 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 39 states. [2018-11-14 17:03:19,143 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 39 states. [2018-11-14 17:03:19,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:19,146 INFO L93 Difference]: Finished difference Result 40 states and 45 transitions. [2018-11-14 17:03:19,146 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2018-11-14 17:03:19,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:19,147 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:19,147 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 40 states. [2018-11-14 17:03:19,147 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 40 states. [2018-11-14 17:03:19,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:19,150 INFO L93 Difference]: Finished difference Result 40 states and 45 transitions. [2018-11-14 17:03:19,150 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2018-11-14 17:03:19,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:19,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:19,151 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:03:19,151 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:03:19,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-14 17:03:19,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 44 transitions. [2018-11-14 17:03:19,154 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 44 transitions. Word has length 55 [2018-11-14 17:03:19,154 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:03:19,154 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 44 transitions. [2018-11-14 17:03:19,154 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-14 17:03:19,154 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2018-11-14 17:03:19,155 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2018-11-14 17:03:19,156 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:19,156 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-14 17:03:19,156 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:19,156 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:19,157 INFO L82 PathProgramCache]: Analyzing trace with hash 1909339702, now seen corresponding path program 2 times [2018-11-14 17:03:19,157 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:19,157 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:19,158 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:19,158 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:03:19,158 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:19,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:19,283 INFO L256 TraceCheckUtils]: 0: Hoare triple {1315#true} call ULTIMATE.init(); {1315#true} is VALID [2018-11-14 17:03:19,284 INFO L273 TraceCheckUtils]: 1: Hoare triple {1315#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1315#true} is VALID [2018-11-14 17:03:19,284 INFO L273 TraceCheckUtils]: 2: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-14 17:03:19,284 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1315#true} {1315#true} #74#return; {1315#true} is VALID [2018-11-14 17:03:19,284 INFO L256 TraceCheckUtils]: 4: Hoare triple {1315#true} call #t~ret14 := main(); {1315#true} is VALID [2018-11-14 17:03:19,285 INFO L273 TraceCheckUtils]: 5: Hoare triple {1315#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1317#(= main_~i~1 0)} is VALID [2018-11-14 17:03:19,286 INFO L273 TraceCheckUtils]: 6: Hoare triple {1317#(= main_~i~1 0)} assume true; {1317#(= main_~i~1 0)} is VALID [2018-11-14 17:03:19,286 INFO L273 TraceCheckUtils]: 7: Hoare triple {1317#(= main_~i~1 0)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1317#(= main_~i~1 0)} is VALID [2018-11-14 17:03:19,288 INFO L273 TraceCheckUtils]: 8: Hoare triple {1317#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1318#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:19,288 INFO L273 TraceCheckUtils]: 9: Hoare triple {1318#(<= main_~i~1 1)} assume true; {1318#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:19,290 INFO L273 TraceCheckUtils]: 10: Hoare triple {1318#(<= main_~i~1 1)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1318#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:19,293 INFO L273 TraceCheckUtils]: 11: Hoare triple {1318#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1319#(<= main_~i~1 2)} is VALID [2018-11-14 17:03:19,293 INFO L273 TraceCheckUtils]: 12: Hoare triple {1319#(<= main_~i~1 2)} assume true; {1319#(<= main_~i~1 2)} is VALID [2018-11-14 17:03:19,296 INFO L273 TraceCheckUtils]: 13: Hoare triple {1319#(<= main_~i~1 2)} assume !(~i~1 < 5); {1316#false} is VALID [2018-11-14 17:03:19,296 INFO L256 TraceCheckUtils]: 14: Hoare triple {1316#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1315#true} is VALID [2018-11-14 17:03:19,296 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-14 17:03:19,296 INFO L273 TraceCheckUtils]: 16: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-14 17:03:19,296 INFO L273 TraceCheckUtils]: 17: Hoare triple {1315#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1315#true} is VALID [2018-11-14 17:03:19,297 INFO L273 TraceCheckUtils]: 18: Hoare triple {1315#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1315#true} is VALID [2018-11-14 17:03:19,297 INFO L273 TraceCheckUtils]: 19: Hoare triple {1315#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1315#true} is VALID [2018-11-14 17:03:19,297 INFO L273 TraceCheckUtils]: 20: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-14 17:03:19,297 INFO L273 TraceCheckUtils]: 21: Hoare triple {1315#true} assume !(~i~0 < 5); {1315#true} is VALID [2018-11-14 17:03:19,297 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-14 17:03:19,298 INFO L273 TraceCheckUtils]: 23: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-14 17:03:19,298 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1315#true} {1316#false} #78#return; {1316#false} is VALID [2018-11-14 17:03:19,298 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {1316#false} is VALID [2018-11-14 17:03:19,298 INFO L256 TraceCheckUtils]: 26: Hoare triple {1316#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1315#true} is VALID [2018-11-14 17:03:19,298 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-14 17:03:19,299 INFO L273 TraceCheckUtils]: 28: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-14 17:03:19,299 INFO L273 TraceCheckUtils]: 29: Hoare triple {1315#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1315#true} is VALID [2018-11-14 17:03:19,299 INFO L273 TraceCheckUtils]: 30: Hoare triple {1315#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1315#true} is VALID [2018-11-14 17:03:19,299 INFO L273 TraceCheckUtils]: 31: Hoare triple {1315#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1315#true} is VALID [2018-11-14 17:03:19,299 INFO L273 TraceCheckUtils]: 32: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-14 17:03:19,300 INFO L273 TraceCheckUtils]: 33: Hoare triple {1315#true} assume !(~i~0 < 5); {1315#true} is VALID [2018-11-14 17:03:19,300 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-14 17:03:19,300 INFO L273 TraceCheckUtils]: 35: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-14 17:03:19,300 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1315#true} {1316#false} #80#return; {1316#false} is VALID [2018-11-14 17:03:19,300 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1316#false} is VALID [2018-11-14 17:03:19,301 INFO L273 TraceCheckUtils]: 38: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-14 17:03:19,301 INFO L273 TraceCheckUtils]: 39: Hoare triple {1316#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {1316#false} is VALID [2018-11-14 17:03:19,301 INFO L273 TraceCheckUtils]: 40: Hoare triple {1316#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {1316#false} is VALID [2018-11-14 17:03:19,301 INFO L273 TraceCheckUtils]: 41: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-14 17:03:19,301 INFO L273 TraceCheckUtils]: 42: Hoare triple {1316#false} assume !(~i~2 < 4); {1316#false} is VALID [2018-11-14 17:03:19,302 INFO L273 TraceCheckUtils]: 43: Hoare triple {1316#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {1316#false} is VALID [2018-11-14 17:03:19,302 INFO L256 TraceCheckUtils]: 44: Hoare triple {1316#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1315#true} is VALID [2018-11-14 17:03:19,302 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-14 17:03:19,302 INFO L273 TraceCheckUtils]: 46: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-14 17:03:19,302 INFO L273 TraceCheckUtils]: 47: Hoare triple {1315#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1315#true} is VALID [2018-11-14 17:03:19,302 INFO L273 TraceCheckUtils]: 48: Hoare triple {1315#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1315#true} is VALID [2018-11-14 17:03:19,303 INFO L273 TraceCheckUtils]: 49: Hoare triple {1315#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1315#true} is VALID [2018-11-14 17:03:19,303 INFO L273 TraceCheckUtils]: 50: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-14 17:03:19,303 INFO L273 TraceCheckUtils]: 51: Hoare triple {1315#true} assume !(~i~0 < 5); {1315#true} is VALID [2018-11-14 17:03:19,303 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-14 17:03:19,304 INFO L273 TraceCheckUtils]: 53: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-14 17:03:19,304 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {1315#true} {1316#false} #82#return; {1316#false} is VALID [2018-11-14 17:03:19,304 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-14 17:03:19,305 INFO L273 TraceCheckUtils]: 56: Hoare triple {1316#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1316#false} is VALID [2018-11-14 17:03:19,305 INFO L273 TraceCheckUtils]: 57: Hoare triple {1316#false} assume !false; {1316#false} is VALID [2018-11-14 17:03:19,309 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-14 17:03:19,309 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:03:19,309 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-14 17:03:19,320 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 17:03:19,353 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 17:03:19,353 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 17:03:19,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:19,373 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:03:19,483 INFO L256 TraceCheckUtils]: 0: Hoare triple {1315#true} call ULTIMATE.init(); {1315#true} is VALID [2018-11-14 17:03:19,484 INFO L273 TraceCheckUtils]: 1: Hoare triple {1315#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1315#true} is VALID [2018-11-14 17:03:19,484 INFO L273 TraceCheckUtils]: 2: Hoare triple {1315#true} assume true; {1315#true} is VALID [2018-11-14 17:03:19,484 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1315#true} {1315#true} #74#return; {1315#true} is VALID [2018-11-14 17:03:19,485 INFO L256 TraceCheckUtils]: 4: Hoare triple {1315#true} call #t~ret14 := main(); {1315#true} is VALID [2018-11-14 17:03:19,486 INFO L273 TraceCheckUtils]: 5: Hoare triple {1315#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1338#(<= main_~i~1 0)} is VALID [2018-11-14 17:03:19,486 INFO L273 TraceCheckUtils]: 6: Hoare triple {1338#(<= main_~i~1 0)} assume true; {1338#(<= main_~i~1 0)} is VALID [2018-11-14 17:03:19,487 INFO L273 TraceCheckUtils]: 7: Hoare triple {1338#(<= main_~i~1 0)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1338#(<= main_~i~1 0)} is VALID [2018-11-14 17:03:19,490 INFO L273 TraceCheckUtils]: 8: Hoare triple {1338#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1318#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:19,491 INFO L273 TraceCheckUtils]: 9: Hoare triple {1318#(<= main_~i~1 1)} assume true; {1318#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:19,492 INFO L273 TraceCheckUtils]: 10: Hoare triple {1318#(<= main_~i~1 1)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1318#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:19,492 INFO L273 TraceCheckUtils]: 11: Hoare triple {1318#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1319#(<= main_~i~1 2)} is VALID [2018-11-14 17:03:19,493 INFO L273 TraceCheckUtils]: 12: Hoare triple {1319#(<= main_~i~1 2)} assume true; {1319#(<= main_~i~1 2)} is VALID [2018-11-14 17:03:19,497 INFO L273 TraceCheckUtils]: 13: Hoare triple {1319#(<= main_~i~1 2)} assume !(~i~1 < 5); {1316#false} is VALID [2018-11-14 17:03:19,497 INFO L256 TraceCheckUtils]: 14: Hoare triple {1316#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1316#false} is VALID [2018-11-14 17:03:19,497 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-14 17:03:19,497 INFO L273 TraceCheckUtils]: 16: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-14 17:03:19,498 INFO L273 TraceCheckUtils]: 17: Hoare triple {1316#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1316#false} is VALID [2018-11-14 17:03:19,498 INFO L273 TraceCheckUtils]: 18: Hoare triple {1316#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1316#false} is VALID [2018-11-14 17:03:19,498 INFO L273 TraceCheckUtils]: 19: Hoare triple {1316#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1316#false} is VALID [2018-11-14 17:03:19,498 INFO L273 TraceCheckUtils]: 20: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-14 17:03:19,499 INFO L273 TraceCheckUtils]: 21: Hoare triple {1316#false} assume !(~i~0 < 5); {1316#false} is VALID [2018-11-14 17:03:19,499 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-14 17:03:19,499 INFO L273 TraceCheckUtils]: 23: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-14 17:03:19,499 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1316#false} {1316#false} #78#return; {1316#false} is VALID [2018-11-14 17:03:19,500 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {1316#false} is VALID [2018-11-14 17:03:19,500 INFO L256 TraceCheckUtils]: 26: Hoare triple {1316#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1316#false} is VALID [2018-11-14 17:03:19,500 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-14 17:03:19,500 INFO L273 TraceCheckUtils]: 28: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-14 17:03:19,501 INFO L273 TraceCheckUtils]: 29: Hoare triple {1316#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1316#false} is VALID [2018-11-14 17:03:19,501 INFO L273 TraceCheckUtils]: 30: Hoare triple {1316#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1316#false} is VALID [2018-11-14 17:03:19,501 INFO L273 TraceCheckUtils]: 31: Hoare triple {1316#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1316#false} is VALID [2018-11-14 17:03:19,501 INFO L273 TraceCheckUtils]: 32: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-14 17:03:19,502 INFO L273 TraceCheckUtils]: 33: Hoare triple {1316#false} assume !(~i~0 < 5); {1316#false} is VALID [2018-11-14 17:03:19,502 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-14 17:03:19,502 INFO L273 TraceCheckUtils]: 35: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-14 17:03:19,502 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1316#false} {1316#false} #80#return; {1316#false} is VALID [2018-11-14 17:03:19,503 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1316#false} is VALID [2018-11-14 17:03:19,503 INFO L273 TraceCheckUtils]: 38: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-14 17:03:19,503 INFO L273 TraceCheckUtils]: 39: Hoare triple {1316#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {1316#false} is VALID [2018-11-14 17:03:19,503 INFO L273 TraceCheckUtils]: 40: Hoare triple {1316#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {1316#false} is VALID [2018-11-14 17:03:19,504 INFO L273 TraceCheckUtils]: 41: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-14 17:03:19,504 INFO L273 TraceCheckUtils]: 42: Hoare triple {1316#false} assume !(~i~2 < 4); {1316#false} is VALID [2018-11-14 17:03:19,504 INFO L273 TraceCheckUtils]: 43: Hoare triple {1316#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {1316#false} is VALID [2018-11-14 17:03:19,504 INFO L256 TraceCheckUtils]: 44: Hoare triple {1316#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1316#false} is VALID [2018-11-14 17:03:19,505 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-14 17:03:19,505 INFO L273 TraceCheckUtils]: 46: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-14 17:03:19,505 INFO L273 TraceCheckUtils]: 47: Hoare triple {1316#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1316#false} is VALID [2018-11-14 17:03:19,505 INFO L273 TraceCheckUtils]: 48: Hoare triple {1316#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1316#false} is VALID [2018-11-14 17:03:19,506 INFO L273 TraceCheckUtils]: 49: Hoare triple {1316#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1316#false} is VALID [2018-11-14 17:03:19,506 INFO L273 TraceCheckUtils]: 50: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-14 17:03:19,506 INFO L273 TraceCheckUtils]: 51: Hoare triple {1316#false} assume !(~i~0 < 5); {1316#false} is VALID [2018-11-14 17:03:19,506 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-14 17:03:19,507 INFO L273 TraceCheckUtils]: 53: Hoare triple {1316#false} assume true; {1316#false} is VALID [2018-11-14 17:03:19,507 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {1316#false} {1316#false} #82#return; {1316#false} is VALID [2018-11-14 17:03:19,507 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-14 17:03:19,507 INFO L273 TraceCheckUtils]: 56: Hoare triple {1316#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1316#false} is VALID [2018-11-14 17:03:19,508 INFO L273 TraceCheckUtils]: 57: Hoare triple {1316#false} assume !false; {1316#false} is VALID [2018-11-14 17:03:19,512 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-14 17:03:19,533 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:03:19,533 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-14 17:03:19,533 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 58 [2018-11-14 17:03:19,534 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:03:19,535 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 17:03:19,617 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-14 17:03:19,617 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 17:03:19,617 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 17:03:19,618 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 17:03:19,618 INFO L87 Difference]: Start difference. First operand 39 states and 44 transitions. Second operand 6 states. [2018-11-14 17:03:19,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:19,906 INFO L93 Difference]: Finished difference Result 68 states and 78 transitions. [2018-11-14 17:03:19,906 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 17:03:19,906 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 58 [2018-11-14 17:03:19,906 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:03:19,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 17:03:19,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2018-11-14 17:03:19,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 17:03:19,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2018-11-14 17:03:19,911 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 70 transitions. [2018-11-14 17:03:19,993 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-14 17:03:19,995 INFO L225 Difference]: With dead ends: 68 [2018-11-14 17:03:19,996 INFO L226 Difference]: Without dead ends: 43 [2018-11-14 17:03:19,997 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-14 17:03:19,997 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-14 17:03:20,024 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2018-11-14 17:03:20,024 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:03:20,024 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 42 states. [2018-11-14 17:03:20,024 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 42 states. [2018-11-14 17:03:20,025 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 42 states. [2018-11-14 17:03:20,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:20,028 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2018-11-14 17:03:20,028 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 48 transitions. [2018-11-14 17:03:20,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:20,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:20,029 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 43 states. [2018-11-14 17:03:20,029 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 43 states. [2018-11-14 17:03:20,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:20,032 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2018-11-14 17:03:20,032 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 48 transitions. [2018-11-14 17:03:20,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:20,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:20,033 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:03:20,033 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:03:20,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-14 17:03:20,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2018-11-14 17:03:20,035 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 58 [2018-11-14 17:03:20,035 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:03:20,035 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2018-11-14 17:03:20,036 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 17:03:20,036 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2018-11-14 17:03:20,036 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2018-11-14 17:03:20,037 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:20,037 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-14 17:03:20,037 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:20,037 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:20,038 INFO L82 PathProgramCache]: Analyzing trace with hash 541802411, now seen corresponding path program 3 times [2018-11-14 17:03:20,038 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:20,038 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:20,039 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:20,039 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 17:03:20,039 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:20,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:20,170 INFO L256 TraceCheckUtils]: 0: Hoare triple {1730#true} call ULTIMATE.init(); {1730#true} is VALID [2018-11-14 17:03:20,170 INFO L273 TraceCheckUtils]: 1: Hoare triple {1730#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1730#true} is VALID [2018-11-14 17:03:20,170 INFO L273 TraceCheckUtils]: 2: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:20,171 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1730#true} {1730#true} #74#return; {1730#true} is VALID [2018-11-14 17:03:20,171 INFO L256 TraceCheckUtils]: 4: Hoare triple {1730#true} call #t~ret14 := main(); {1730#true} is VALID [2018-11-14 17:03:20,171 INFO L273 TraceCheckUtils]: 5: Hoare triple {1730#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1732#(= main_~i~1 0)} is VALID [2018-11-14 17:03:20,172 INFO L273 TraceCheckUtils]: 6: Hoare triple {1732#(= main_~i~1 0)} assume true; {1732#(= main_~i~1 0)} is VALID [2018-11-14 17:03:20,172 INFO L273 TraceCheckUtils]: 7: Hoare triple {1732#(= main_~i~1 0)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1732#(= main_~i~1 0)} is VALID [2018-11-14 17:03:20,173 INFO L273 TraceCheckUtils]: 8: Hoare triple {1732#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1733#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:20,173 INFO L273 TraceCheckUtils]: 9: Hoare triple {1733#(<= main_~i~1 1)} assume true; {1733#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:20,175 INFO L273 TraceCheckUtils]: 10: Hoare triple {1733#(<= main_~i~1 1)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1733#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:20,175 INFO L273 TraceCheckUtils]: 11: Hoare triple {1733#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1734#(<= main_~i~1 2)} is VALID [2018-11-14 17:03:20,176 INFO L273 TraceCheckUtils]: 12: Hoare triple {1734#(<= main_~i~1 2)} assume true; {1734#(<= main_~i~1 2)} is VALID [2018-11-14 17:03:20,176 INFO L273 TraceCheckUtils]: 13: Hoare triple {1734#(<= main_~i~1 2)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1734#(<= main_~i~1 2)} is VALID [2018-11-14 17:03:20,177 INFO L273 TraceCheckUtils]: 14: Hoare triple {1734#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1735#(<= main_~i~1 3)} is VALID [2018-11-14 17:03:20,177 INFO L273 TraceCheckUtils]: 15: Hoare triple {1735#(<= main_~i~1 3)} assume true; {1735#(<= main_~i~1 3)} is VALID [2018-11-14 17:03:20,178 INFO L273 TraceCheckUtils]: 16: Hoare triple {1735#(<= main_~i~1 3)} assume !(~i~1 < 5); {1731#false} is VALID [2018-11-14 17:03:20,178 INFO L256 TraceCheckUtils]: 17: Hoare triple {1731#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1730#true} is VALID [2018-11-14 17:03:20,179 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-14 17:03:20,179 INFO L273 TraceCheckUtils]: 19: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:20,179 INFO L273 TraceCheckUtils]: 20: Hoare triple {1730#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1730#true} is VALID [2018-11-14 17:03:20,180 INFO L273 TraceCheckUtils]: 21: Hoare triple {1730#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1730#true} is VALID [2018-11-14 17:03:20,180 INFO L273 TraceCheckUtils]: 22: Hoare triple {1730#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1730#true} is VALID [2018-11-14 17:03:20,180 INFO L273 TraceCheckUtils]: 23: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:20,180 INFO L273 TraceCheckUtils]: 24: Hoare triple {1730#true} assume !(~i~0 < 5); {1730#true} is VALID [2018-11-14 17:03:20,181 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-14 17:03:20,181 INFO L273 TraceCheckUtils]: 26: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:20,181 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1730#true} {1731#false} #78#return; {1731#false} is VALID [2018-11-14 17:03:20,181 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {1731#false} is VALID [2018-11-14 17:03:20,181 INFO L256 TraceCheckUtils]: 29: Hoare triple {1731#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1730#true} is VALID [2018-11-14 17:03:20,181 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-14 17:03:20,182 INFO L273 TraceCheckUtils]: 31: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:20,182 INFO L273 TraceCheckUtils]: 32: Hoare triple {1730#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1730#true} is VALID [2018-11-14 17:03:20,182 INFO L273 TraceCheckUtils]: 33: Hoare triple {1730#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1730#true} is VALID [2018-11-14 17:03:20,182 INFO L273 TraceCheckUtils]: 34: Hoare triple {1730#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1730#true} is VALID [2018-11-14 17:03:20,182 INFO L273 TraceCheckUtils]: 35: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:20,182 INFO L273 TraceCheckUtils]: 36: Hoare triple {1730#true} assume !(~i~0 < 5); {1730#true} is VALID [2018-11-14 17:03:20,183 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-14 17:03:20,183 INFO L273 TraceCheckUtils]: 38: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:20,183 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {1730#true} {1731#false} #80#return; {1731#false} is VALID [2018-11-14 17:03:20,183 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1731#false} is VALID [2018-11-14 17:03:20,184 INFO L273 TraceCheckUtils]: 41: Hoare triple {1731#false} assume true; {1731#false} is VALID [2018-11-14 17:03:20,184 INFO L273 TraceCheckUtils]: 42: Hoare triple {1731#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {1731#false} is VALID [2018-11-14 17:03:20,184 INFO L273 TraceCheckUtils]: 43: Hoare triple {1731#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {1731#false} is VALID [2018-11-14 17:03:20,184 INFO L273 TraceCheckUtils]: 44: Hoare triple {1731#false} assume true; {1731#false} is VALID [2018-11-14 17:03:20,184 INFO L273 TraceCheckUtils]: 45: Hoare triple {1731#false} assume !(~i~2 < 4); {1731#false} is VALID [2018-11-14 17:03:20,185 INFO L273 TraceCheckUtils]: 46: Hoare triple {1731#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {1731#false} is VALID [2018-11-14 17:03:20,185 INFO L256 TraceCheckUtils]: 47: Hoare triple {1731#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1730#true} is VALID [2018-11-14 17:03:20,185 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-14 17:03:20,185 INFO L273 TraceCheckUtils]: 49: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:20,186 INFO L273 TraceCheckUtils]: 50: Hoare triple {1730#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1730#true} is VALID [2018-11-14 17:03:20,186 INFO L273 TraceCheckUtils]: 51: Hoare triple {1730#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1730#true} is VALID [2018-11-14 17:03:20,186 INFO L273 TraceCheckUtils]: 52: Hoare triple {1730#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1730#true} is VALID [2018-11-14 17:03:20,186 INFO L273 TraceCheckUtils]: 53: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:20,186 INFO L273 TraceCheckUtils]: 54: Hoare triple {1730#true} assume !(~i~0 < 5); {1730#true} is VALID [2018-11-14 17:03:20,187 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-14 17:03:20,187 INFO L273 TraceCheckUtils]: 56: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:20,187 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {1730#true} {1731#false} #82#return; {1731#false} is VALID [2018-11-14 17:03:20,187 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-14 17:03:20,188 INFO L273 TraceCheckUtils]: 59: Hoare triple {1731#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1731#false} is VALID [2018-11-14 17:03:20,188 INFO L273 TraceCheckUtils]: 60: Hoare triple {1731#false} assume !false; {1731#false} is VALID [2018-11-14 17:03:20,191 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-14 17:03:20,191 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:03:20,191 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-14 17:03:20,200 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 17:03:20,249 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-11-14 17:03:20,249 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 17:03:20,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:20,284 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:03:21,135 INFO L256 TraceCheckUtils]: 0: Hoare triple {1730#true} call ULTIMATE.init(); {1730#true} is VALID [2018-11-14 17:03:21,136 INFO L273 TraceCheckUtils]: 1: Hoare triple {1730#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1730#true} is VALID [2018-11-14 17:03:21,136 INFO L273 TraceCheckUtils]: 2: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:21,136 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1730#true} {1730#true} #74#return; {1730#true} is VALID [2018-11-14 17:03:21,137 INFO L256 TraceCheckUtils]: 4: Hoare triple {1730#true} call #t~ret14 := main(); {1730#true} is VALID [2018-11-14 17:03:21,137 INFO L273 TraceCheckUtils]: 5: Hoare triple {1730#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1730#true} is VALID [2018-11-14 17:03:21,137 INFO L273 TraceCheckUtils]: 6: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:21,137 INFO L273 TraceCheckUtils]: 7: Hoare triple {1730#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1730#true} is VALID [2018-11-14 17:03:21,138 INFO L273 TraceCheckUtils]: 8: Hoare triple {1730#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1730#true} is VALID [2018-11-14 17:03:21,138 INFO L273 TraceCheckUtils]: 9: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:21,138 INFO L273 TraceCheckUtils]: 10: Hoare triple {1730#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1730#true} is VALID [2018-11-14 17:03:21,139 INFO L273 TraceCheckUtils]: 11: Hoare triple {1730#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1730#true} is VALID [2018-11-14 17:03:21,139 INFO L273 TraceCheckUtils]: 12: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:21,139 INFO L273 TraceCheckUtils]: 13: Hoare triple {1730#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1730#true} is VALID [2018-11-14 17:03:21,139 INFO L273 TraceCheckUtils]: 14: Hoare triple {1730#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1730#true} is VALID [2018-11-14 17:03:21,140 INFO L273 TraceCheckUtils]: 15: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:21,140 INFO L273 TraceCheckUtils]: 16: Hoare triple {1730#true} assume !(~i~1 < 5); {1730#true} is VALID [2018-11-14 17:03:21,140 INFO L256 TraceCheckUtils]: 17: Hoare triple {1730#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1730#true} is VALID [2018-11-14 17:03:21,140 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-14 17:03:21,140 INFO L273 TraceCheckUtils]: 19: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:21,140 INFO L273 TraceCheckUtils]: 20: Hoare triple {1730#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1730#true} is VALID [2018-11-14 17:03:21,141 INFO L273 TraceCheckUtils]: 21: Hoare triple {1730#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1730#true} is VALID [2018-11-14 17:03:21,141 INFO L273 TraceCheckUtils]: 22: Hoare triple {1730#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1730#true} is VALID [2018-11-14 17:03:21,141 INFO L273 TraceCheckUtils]: 23: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:21,141 INFO L273 TraceCheckUtils]: 24: Hoare triple {1730#true} assume !(~i~0 < 5); {1730#true} is VALID [2018-11-14 17:03:21,141 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-14 17:03:21,142 INFO L273 TraceCheckUtils]: 26: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:21,142 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1730#true} {1730#true} #78#return; {1730#true} is VALID [2018-11-14 17:03:21,142 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {1730#true} is VALID [2018-11-14 17:03:21,142 INFO L256 TraceCheckUtils]: 29: Hoare triple {1730#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1730#true} is VALID [2018-11-14 17:03:21,143 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-14 17:03:21,143 INFO L273 TraceCheckUtils]: 31: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:21,143 INFO L273 TraceCheckUtils]: 32: Hoare triple {1730#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1730#true} is VALID [2018-11-14 17:03:21,143 INFO L273 TraceCheckUtils]: 33: Hoare triple {1730#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1730#true} is VALID [2018-11-14 17:03:21,144 INFO L273 TraceCheckUtils]: 34: Hoare triple {1730#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1730#true} is VALID [2018-11-14 17:03:21,144 INFO L273 TraceCheckUtils]: 35: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:21,144 INFO L273 TraceCheckUtils]: 36: Hoare triple {1730#true} assume !(~i~0 < 5); {1730#true} is VALID [2018-11-14 17:03:21,144 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-14 17:03:21,145 INFO L273 TraceCheckUtils]: 38: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:21,145 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {1730#true} {1730#true} #80#return; {1730#true} is VALID [2018-11-14 17:03:21,145 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1730#true} is VALID [2018-11-14 17:03:21,145 INFO L273 TraceCheckUtils]: 41: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:21,145 INFO L273 TraceCheckUtils]: 42: Hoare triple {1730#true} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {1730#true} is VALID [2018-11-14 17:03:21,146 INFO L273 TraceCheckUtils]: 43: Hoare triple {1730#true} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {1730#true} is VALID [2018-11-14 17:03:21,146 INFO L273 TraceCheckUtils]: 44: Hoare triple {1730#true} assume true; {1730#true} is VALID [2018-11-14 17:03:21,146 INFO L273 TraceCheckUtils]: 45: Hoare triple {1730#true} assume !(~i~2 < 4); {1730#true} is VALID [2018-11-14 17:03:21,146 INFO L273 TraceCheckUtils]: 46: Hoare triple {1730#true} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {1730#true} is VALID [2018-11-14 17:03:21,147 INFO L256 TraceCheckUtils]: 47: Hoare triple {1730#true} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1730#true} is VALID [2018-11-14 17:03:21,163 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-14 17:03:21,172 INFO L273 TraceCheckUtils]: 49: Hoare triple {1883#(<= sep_~i~0 0)} assume true; {1883#(<= sep_~i~0 0)} is VALID [2018-11-14 17:03:21,188 INFO L273 TraceCheckUtils]: 50: Hoare triple {1883#(<= sep_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1883#(<= sep_~i~0 0)} is VALID [2018-11-14 17:03:21,197 INFO L273 TraceCheckUtils]: 51: Hoare triple {1883#(<= sep_~i~0 0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {1883#(<= sep_~i~0 0)} is VALID [2018-11-14 17:03:21,200 INFO L273 TraceCheckUtils]: 52: Hoare triple {1883#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1896#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:21,200 INFO L273 TraceCheckUtils]: 53: Hoare triple {1896#(<= sep_~i~0 1)} assume true; {1896#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:21,201 INFO L273 TraceCheckUtils]: 54: Hoare triple {1896#(<= sep_~i~0 1)} assume !(~i~0 < 5); {1731#false} is VALID [2018-11-14 17:03:21,201 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-14 17:03:21,201 INFO L273 TraceCheckUtils]: 56: Hoare triple {1731#false} assume true; {1731#false} is VALID [2018-11-14 17:03:21,202 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {1731#false} {1730#true} #82#return; {1731#false} is VALID [2018-11-14 17:03:21,202 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-14 17:03:21,202 INFO L273 TraceCheckUtils]: 59: Hoare triple {1731#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1731#false} is VALID [2018-11-14 17:03:21,202 INFO L273 TraceCheckUtils]: 60: Hoare triple {1731#false} assume !false; {1731#false} is VALID [2018-11-14 17:03:21,205 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-14 17:03:21,226 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:03:21,226 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4] total 8 [2018-11-14 17:03:21,227 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 61 [2018-11-14 17:03:21,228 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:03:21,228 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-14 17:03:21,344 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-14 17:03:21,345 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-14 17:03:21,345 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-14 17:03:21,345 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-14 17:03:21,346 INFO L87 Difference]: Start difference. First operand 42 states and 47 transitions. Second operand 8 states. [2018-11-14 17:03:21,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:21,741 INFO L93 Difference]: Finished difference Result 77 states and 93 transitions. [2018-11-14 17:03:21,741 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-14 17:03:21,742 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 61 [2018-11-14 17:03:21,742 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:03:21,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 17:03:21,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2018-11-14 17:03:21,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 17:03:21,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2018-11-14 17:03:21,747 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 87 transitions. [2018-11-14 17:03:21,883 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-14 17:03:21,886 INFO L225 Difference]: With dead ends: 77 [2018-11-14 17:03:21,886 INFO L226 Difference]: Without dead ends: 52 [2018-11-14 17:03:21,887 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-14 17:03:21,887 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-14 17:03:21,912 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 49. [2018-11-14 17:03:21,912 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:03:21,913 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 49 states. [2018-11-14 17:03:21,913 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 49 states. [2018-11-14 17:03:21,913 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 49 states. [2018-11-14 17:03:21,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:21,915 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2018-11-14 17:03:21,916 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2018-11-14 17:03:21,916 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:21,916 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:21,916 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 52 states. [2018-11-14 17:03:21,917 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 52 states. [2018-11-14 17:03:21,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:21,919 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2018-11-14 17:03:21,919 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2018-11-14 17:03:21,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:21,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:21,920 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:03:21,920 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:03:21,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-14 17:03:21,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 55 transitions. [2018-11-14 17:03:21,923 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 55 transitions. Word has length 61 [2018-11-14 17:03:21,923 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:03:21,923 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 55 transitions. [2018-11-14 17:03:21,923 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-14 17:03:21,924 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 55 transitions. [2018-11-14 17:03:21,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2018-11-14 17:03:21,925 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:21,925 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-14 17:03:21,925 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:21,925 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:21,926 INFO L82 PathProgramCache]: Analyzing trace with hash 322852459, now seen corresponding path program 4 times [2018-11-14 17:03:21,926 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:21,926 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:21,927 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:21,927 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 17:03:21,927 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:21,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:22,348 INFO L256 TraceCheckUtils]: 0: Hoare triple {2194#true} call ULTIMATE.init(); {2194#true} is VALID [2018-11-14 17:03:22,348 INFO L273 TraceCheckUtils]: 1: Hoare triple {2194#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2194#true} is VALID [2018-11-14 17:03:22,348 INFO L273 TraceCheckUtils]: 2: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,349 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2194#true} {2194#true} #74#return; {2194#true} is VALID [2018-11-14 17:03:22,349 INFO L256 TraceCheckUtils]: 4: Hoare triple {2194#true} call #t~ret14 := main(); {2194#true} is VALID [2018-11-14 17:03:22,349 INFO L273 TraceCheckUtils]: 5: Hoare triple {2194#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2196#(= main_~i~1 0)} is VALID [2018-11-14 17:03:22,352 INFO L273 TraceCheckUtils]: 6: Hoare triple {2196#(= main_~i~1 0)} assume true; {2196#(= main_~i~1 0)} is VALID [2018-11-14 17:03:22,353 INFO L273 TraceCheckUtils]: 7: Hoare triple {2196#(= main_~i~1 0)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2196#(= main_~i~1 0)} is VALID [2018-11-14 17:03:22,361 INFO L273 TraceCheckUtils]: 8: Hoare triple {2196#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2197#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:22,365 INFO L273 TraceCheckUtils]: 9: Hoare triple {2197#(<= main_~i~1 1)} assume true; {2197#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:22,366 INFO L273 TraceCheckUtils]: 10: Hoare triple {2197#(<= main_~i~1 1)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2197#(<= main_~i~1 1)} is VALID [2018-11-14 17:03:22,367 INFO L273 TraceCheckUtils]: 11: Hoare triple {2197#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2198#(<= main_~i~1 2)} is VALID [2018-11-14 17:03:22,367 INFO L273 TraceCheckUtils]: 12: Hoare triple {2198#(<= main_~i~1 2)} assume true; {2198#(<= main_~i~1 2)} is VALID [2018-11-14 17:03:22,367 INFO L273 TraceCheckUtils]: 13: Hoare triple {2198#(<= main_~i~1 2)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2198#(<= main_~i~1 2)} is VALID [2018-11-14 17:03:22,368 INFO L273 TraceCheckUtils]: 14: Hoare triple {2198#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2199#(<= main_~i~1 3)} is VALID [2018-11-14 17:03:22,368 INFO L273 TraceCheckUtils]: 15: Hoare triple {2199#(<= main_~i~1 3)} assume true; {2199#(<= main_~i~1 3)} is VALID [2018-11-14 17:03:22,369 INFO L273 TraceCheckUtils]: 16: Hoare triple {2199#(<= main_~i~1 3)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2199#(<= main_~i~1 3)} is VALID [2018-11-14 17:03:22,369 INFO L273 TraceCheckUtils]: 17: Hoare triple {2199#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2200#(<= main_~i~1 4)} is VALID [2018-11-14 17:03:22,369 INFO L273 TraceCheckUtils]: 18: Hoare triple {2200#(<= main_~i~1 4)} assume true; {2200#(<= main_~i~1 4)} is VALID [2018-11-14 17:03:22,370 INFO L273 TraceCheckUtils]: 19: Hoare triple {2200#(<= main_~i~1 4)} assume !(~i~1 < 5); {2195#false} is VALID [2018-11-14 17:03:22,370 INFO L256 TraceCheckUtils]: 20: Hoare triple {2195#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2194#true} is VALID [2018-11-14 17:03:22,371 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-14 17:03:22,371 INFO L273 TraceCheckUtils]: 22: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,371 INFO L273 TraceCheckUtils]: 23: Hoare triple {2194#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2194#true} is VALID [2018-11-14 17:03:22,371 INFO L273 TraceCheckUtils]: 24: Hoare triple {2194#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2194#true} is VALID [2018-11-14 17:03:22,372 INFO L273 TraceCheckUtils]: 25: Hoare triple {2194#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2194#true} is VALID [2018-11-14 17:03:22,372 INFO L273 TraceCheckUtils]: 26: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,372 INFO L273 TraceCheckUtils]: 27: Hoare triple {2194#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2194#true} is VALID [2018-11-14 17:03:22,372 INFO L273 TraceCheckUtils]: 28: Hoare triple {2194#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2194#true} is VALID [2018-11-14 17:03:22,372 INFO L273 TraceCheckUtils]: 29: Hoare triple {2194#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2194#true} is VALID [2018-11-14 17:03:22,373 INFO L273 TraceCheckUtils]: 30: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,373 INFO L273 TraceCheckUtils]: 31: Hoare triple {2194#true} assume !(~i~0 < 5); {2194#true} is VALID [2018-11-14 17:03:22,373 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-14 17:03:22,373 INFO L273 TraceCheckUtils]: 33: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,374 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2194#true} {2195#false} #78#return; {2195#false} is VALID [2018-11-14 17:03:22,374 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {2195#false} is VALID [2018-11-14 17:03:22,374 INFO L256 TraceCheckUtils]: 36: Hoare triple {2195#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2194#true} is VALID [2018-11-14 17:03:22,374 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-14 17:03:22,374 INFO L273 TraceCheckUtils]: 38: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,375 INFO L273 TraceCheckUtils]: 39: Hoare triple {2194#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2194#true} is VALID [2018-11-14 17:03:22,375 INFO L273 TraceCheckUtils]: 40: Hoare triple {2194#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2194#true} is VALID [2018-11-14 17:03:22,375 INFO L273 TraceCheckUtils]: 41: Hoare triple {2194#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2194#true} is VALID [2018-11-14 17:03:22,375 INFO L273 TraceCheckUtils]: 42: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,375 INFO L273 TraceCheckUtils]: 43: Hoare triple {2194#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2194#true} is VALID [2018-11-14 17:03:22,375 INFO L273 TraceCheckUtils]: 44: Hoare triple {2194#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2194#true} is VALID [2018-11-14 17:03:22,375 INFO L273 TraceCheckUtils]: 45: Hoare triple {2194#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2194#true} is VALID [2018-11-14 17:03:22,376 INFO L273 TraceCheckUtils]: 46: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,376 INFO L273 TraceCheckUtils]: 47: Hoare triple {2194#true} assume !(~i~0 < 5); {2194#true} is VALID [2018-11-14 17:03:22,376 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-14 17:03:22,376 INFO L273 TraceCheckUtils]: 49: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,376 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {2194#true} {2195#false} #80#return; {2195#false} is VALID [2018-11-14 17:03:22,376 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {2195#false} is VALID [2018-11-14 17:03:22,376 INFO L273 TraceCheckUtils]: 52: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-14 17:03:22,376 INFO L273 TraceCheckUtils]: 53: Hoare triple {2195#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {2195#false} is VALID [2018-11-14 17:03:22,376 INFO L273 TraceCheckUtils]: 54: Hoare triple {2195#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {2195#false} is VALID [2018-11-14 17:03:22,377 INFO L273 TraceCheckUtils]: 55: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-14 17:03:22,377 INFO L273 TraceCheckUtils]: 56: Hoare triple {2195#false} assume !(~i~2 < 4); {2195#false} is VALID [2018-11-14 17:03:22,377 INFO L273 TraceCheckUtils]: 57: Hoare triple {2195#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {2195#false} is VALID [2018-11-14 17:03:22,377 INFO L256 TraceCheckUtils]: 58: Hoare triple {2195#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2194#true} is VALID [2018-11-14 17:03:22,377 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-14 17:03:22,377 INFO L273 TraceCheckUtils]: 60: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,377 INFO L273 TraceCheckUtils]: 61: Hoare triple {2194#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2194#true} is VALID [2018-11-14 17:03:22,378 INFO L273 TraceCheckUtils]: 62: Hoare triple {2194#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2194#true} is VALID [2018-11-14 17:03:22,378 INFO L273 TraceCheckUtils]: 63: Hoare triple {2194#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2194#true} is VALID [2018-11-14 17:03:22,378 INFO L273 TraceCheckUtils]: 64: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,378 INFO L273 TraceCheckUtils]: 65: Hoare triple {2194#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2194#true} is VALID [2018-11-14 17:03:22,378 INFO L273 TraceCheckUtils]: 66: Hoare triple {2194#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2194#true} is VALID [2018-11-14 17:03:22,378 INFO L273 TraceCheckUtils]: 67: Hoare triple {2194#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2194#true} is VALID [2018-11-14 17:03:22,378 INFO L273 TraceCheckUtils]: 68: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,378 INFO L273 TraceCheckUtils]: 69: Hoare triple {2194#true} assume !(~i~0 < 5); {2194#true} is VALID [2018-11-14 17:03:22,379 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-14 17:03:22,379 INFO L273 TraceCheckUtils]: 71: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,379 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {2194#true} {2195#false} #82#return; {2195#false} is VALID [2018-11-14 17:03:22,379 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-14 17:03:22,379 INFO L273 TraceCheckUtils]: 74: Hoare triple {2195#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2195#false} is VALID [2018-11-14 17:03:22,379 INFO L273 TraceCheckUtils]: 75: Hoare triple {2195#false} assume !false; {2195#false} is VALID [2018-11-14 17:03:22,382 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-14 17:03:22,382 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:03:22,383 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-14 17:03:22,392 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 17:03:22,421 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 17:03:22,422 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 17:03:22,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:22,447 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:03:22,645 INFO L256 TraceCheckUtils]: 0: Hoare triple {2194#true} call ULTIMATE.init(); {2194#true} is VALID [2018-11-14 17:03:22,645 INFO L273 TraceCheckUtils]: 1: Hoare triple {2194#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2194#true} is VALID [2018-11-14 17:03:22,646 INFO L273 TraceCheckUtils]: 2: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,646 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2194#true} {2194#true} #74#return; {2194#true} is VALID [2018-11-14 17:03:22,646 INFO L256 TraceCheckUtils]: 4: Hoare triple {2194#true} call #t~ret14 := main(); {2194#true} is VALID [2018-11-14 17:03:22,646 INFO L273 TraceCheckUtils]: 5: Hoare triple {2194#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2194#true} is VALID [2018-11-14 17:03:22,646 INFO L273 TraceCheckUtils]: 6: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,646 INFO L273 TraceCheckUtils]: 7: Hoare triple {2194#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2194#true} is VALID [2018-11-14 17:03:22,646 INFO L273 TraceCheckUtils]: 8: Hoare triple {2194#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2194#true} is VALID [2018-11-14 17:03:22,646 INFO L273 TraceCheckUtils]: 9: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,647 INFO L273 TraceCheckUtils]: 10: Hoare triple {2194#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2194#true} is VALID [2018-11-14 17:03:22,647 INFO L273 TraceCheckUtils]: 11: Hoare triple {2194#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2194#true} is VALID [2018-11-14 17:03:22,647 INFO L273 TraceCheckUtils]: 12: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,647 INFO L273 TraceCheckUtils]: 13: Hoare triple {2194#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2194#true} is VALID [2018-11-14 17:03:22,647 INFO L273 TraceCheckUtils]: 14: Hoare triple {2194#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2194#true} is VALID [2018-11-14 17:03:22,647 INFO L273 TraceCheckUtils]: 15: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,647 INFO L273 TraceCheckUtils]: 16: Hoare triple {2194#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2194#true} is VALID [2018-11-14 17:03:22,647 INFO L273 TraceCheckUtils]: 17: Hoare triple {2194#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2194#true} is VALID [2018-11-14 17:03:22,648 INFO L273 TraceCheckUtils]: 18: Hoare triple {2194#true} assume true; {2194#true} is VALID [2018-11-14 17:03:22,648 INFO L273 TraceCheckUtils]: 19: Hoare triple {2194#true} assume !(~i~1 < 5); {2194#true} is VALID [2018-11-14 17:03:22,648 INFO L256 TraceCheckUtils]: 20: Hoare triple {2194#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2194#true} is VALID [2018-11-14 17:03:22,648 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-14 17:03:22,649 INFO L273 TraceCheckUtils]: 22: Hoare triple {2267#(<= sep_~i~0 0)} assume true; {2267#(<= sep_~i~0 0)} is VALID [2018-11-14 17:03:22,649 INFO L273 TraceCheckUtils]: 23: Hoare triple {2267#(<= sep_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2267#(<= sep_~i~0 0)} is VALID [2018-11-14 17:03:22,649 INFO L273 TraceCheckUtils]: 24: Hoare triple {2267#(<= sep_~i~0 0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2267#(<= sep_~i~0 0)} is VALID [2018-11-14 17:03:22,650 INFO L273 TraceCheckUtils]: 25: Hoare triple {2267#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2280#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:22,650 INFO L273 TraceCheckUtils]: 26: Hoare triple {2280#(<= sep_~i~0 1)} assume true; {2280#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:22,651 INFO L273 TraceCheckUtils]: 27: Hoare triple {2280#(<= sep_~i~0 1)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2280#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:22,651 INFO L273 TraceCheckUtils]: 28: Hoare triple {2280#(<= sep_~i~0 1)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2280#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:22,651 INFO L273 TraceCheckUtils]: 29: Hoare triple {2280#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2293#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:22,652 INFO L273 TraceCheckUtils]: 30: Hoare triple {2293#(<= sep_~i~0 2)} assume true; {2293#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:22,669 INFO L273 TraceCheckUtils]: 31: Hoare triple {2293#(<= sep_~i~0 2)} assume !(~i~0 < 5); {2195#false} is VALID [2018-11-14 17:03:22,669 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-14 17:03:22,669 INFO L273 TraceCheckUtils]: 33: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-14 17:03:22,670 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2195#false} {2194#true} #78#return; {2195#false} is VALID [2018-11-14 17:03:22,670 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {2195#false} is VALID [2018-11-14 17:03:22,670 INFO L256 TraceCheckUtils]: 36: Hoare triple {2195#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2195#false} is VALID [2018-11-14 17:03:22,670 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-14 17:03:22,670 INFO L273 TraceCheckUtils]: 38: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-14 17:03:22,670 INFO L273 TraceCheckUtils]: 39: Hoare triple {2195#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2195#false} is VALID [2018-11-14 17:03:22,671 INFO L273 TraceCheckUtils]: 40: Hoare triple {2195#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2195#false} is VALID [2018-11-14 17:03:22,671 INFO L273 TraceCheckUtils]: 41: Hoare triple {2195#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2195#false} is VALID [2018-11-14 17:03:22,671 INFO L273 TraceCheckUtils]: 42: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-14 17:03:22,671 INFO L273 TraceCheckUtils]: 43: Hoare triple {2195#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2195#false} is VALID [2018-11-14 17:03:22,671 INFO L273 TraceCheckUtils]: 44: Hoare triple {2195#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2195#false} is VALID [2018-11-14 17:03:22,671 INFO L273 TraceCheckUtils]: 45: Hoare triple {2195#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2195#false} is VALID [2018-11-14 17:03:22,672 INFO L273 TraceCheckUtils]: 46: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-14 17:03:22,672 INFO L273 TraceCheckUtils]: 47: Hoare triple {2195#false} assume !(~i~0 < 5); {2195#false} is VALID [2018-11-14 17:03:22,672 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-14 17:03:22,672 INFO L273 TraceCheckUtils]: 49: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-14 17:03:22,672 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {2195#false} {2195#false} #80#return; {2195#false} is VALID [2018-11-14 17:03:22,673 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {2195#false} is VALID [2018-11-14 17:03:22,673 INFO L273 TraceCheckUtils]: 52: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-14 17:03:22,673 INFO L273 TraceCheckUtils]: 53: Hoare triple {2195#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {2195#false} is VALID [2018-11-14 17:03:22,673 INFO L273 TraceCheckUtils]: 54: Hoare triple {2195#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {2195#false} is VALID [2018-11-14 17:03:22,673 INFO L273 TraceCheckUtils]: 55: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-14 17:03:22,673 INFO L273 TraceCheckUtils]: 56: Hoare triple {2195#false} assume !(~i~2 < 4); {2195#false} is VALID [2018-11-14 17:03:22,674 INFO L273 TraceCheckUtils]: 57: Hoare triple {2195#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {2195#false} is VALID [2018-11-14 17:03:22,674 INFO L256 TraceCheckUtils]: 58: Hoare triple {2195#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2195#false} is VALID [2018-11-14 17:03:22,674 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-14 17:03:22,674 INFO L273 TraceCheckUtils]: 60: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-14 17:03:22,674 INFO L273 TraceCheckUtils]: 61: Hoare triple {2195#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2195#false} is VALID [2018-11-14 17:03:22,674 INFO L273 TraceCheckUtils]: 62: Hoare triple {2195#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2195#false} is VALID [2018-11-14 17:03:22,675 INFO L273 TraceCheckUtils]: 63: Hoare triple {2195#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2195#false} is VALID [2018-11-14 17:03:22,675 INFO L273 TraceCheckUtils]: 64: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-14 17:03:22,675 INFO L273 TraceCheckUtils]: 65: Hoare triple {2195#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2195#false} is VALID [2018-11-14 17:03:22,675 INFO L273 TraceCheckUtils]: 66: Hoare triple {2195#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2195#false} is VALID [2018-11-14 17:03:22,675 INFO L273 TraceCheckUtils]: 67: Hoare triple {2195#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2195#false} is VALID [2018-11-14 17:03:22,675 INFO L273 TraceCheckUtils]: 68: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-14 17:03:22,676 INFO L273 TraceCheckUtils]: 69: Hoare triple {2195#false} assume !(~i~0 < 5); {2195#false} is VALID [2018-11-14 17:03:22,676 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-14 17:03:22,676 INFO L273 TraceCheckUtils]: 71: Hoare triple {2195#false} assume true; {2195#false} is VALID [2018-11-14 17:03:22,676 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {2195#false} {2195#false} #82#return; {2195#false} is VALID [2018-11-14 17:03:22,676 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-14 17:03:22,676 INFO L273 TraceCheckUtils]: 74: Hoare triple {2195#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2195#false} is VALID [2018-11-14 17:03:22,677 INFO L273 TraceCheckUtils]: 75: Hoare triple {2195#false} assume !false; {2195#false} is VALID [2018-11-14 17:03:22,679 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-14 17:03:22,701 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:03:22,701 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5] total 10 [2018-11-14 17:03:22,701 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 76 [2018-11-14 17:03:22,702 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:03:22,702 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-14 17:03:22,788 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-14 17:03:22,788 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-14 17:03:22,789 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-14 17:03:22,789 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2018-11-14 17:03:22,789 INFO L87 Difference]: Start difference. First operand 49 states and 55 transitions. Second operand 10 states. [2018-11-14 17:03:23,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:23,250 INFO L93 Difference]: Finished difference Result 87 states and 105 transitions. [2018-11-14 17:03:23,250 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-14 17:03:23,250 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 76 [2018-11-14 17:03:23,250 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:03:23,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 17:03:23,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 94 transitions. [2018-11-14 17:03:23,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 17:03:23,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 94 transitions. [2018-11-14 17:03:23,255 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 94 transitions. [2018-11-14 17:03:23,414 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:03:23,416 INFO L225 Difference]: With dead ends: 87 [2018-11-14 17:03:23,417 INFO L226 Difference]: Without dead ends: 58 [2018-11-14 17:03:23,418 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 74 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2018-11-14 17:03:23,418 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2018-11-14 17:03:23,478 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 56. [2018-11-14 17:03:23,478 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:03:23,478 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 56 states. [2018-11-14 17:03:23,478 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 56 states. [2018-11-14 17:03:23,478 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 56 states. [2018-11-14 17:03:23,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:23,481 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2018-11-14 17:03:23,481 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 66 transitions. [2018-11-14 17:03:23,482 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:23,482 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:23,482 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 58 states. [2018-11-14 17:03:23,482 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 58 states. [2018-11-14 17:03:23,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:23,485 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2018-11-14 17:03:23,485 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 66 transitions. [2018-11-14 17:03:23,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:23,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:23,485 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:03:23,486 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:03:23,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-14 17:03:23,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 63 transitions. [2018-11-14 17:03:23,488 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 63 transitions. Word has length 76 [2018-11-14 17:03:23,488 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:03:23,488 INFO L480 AbstractCegarLoop]: Abstraction has 56 states and 63 transitions. [2018-11-14 17:03:23,488 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-14 17:03:23,488 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 63 transitions. [2018-11-14 17:03:23,489 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2018-11-14 17:03:23,489 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:23,490 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-14 17:03:23,490 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:23,490 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:23,490 INFO L82 PathProgramCache]: Analyzing trace with hash -1261953547, now seen corresponding path program 5 times [2018-11-14 17:03:23,490 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:23,490 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:23,491 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:23,491 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 17:03:23,491 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:23,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:23,733 INFO L256 TraceCheckUtils]: 0: Hoare triple {2739#true} call ULTIMATE.init(); {2739#true} is VALID [2018-11-14 17:03:23,733 INFO L273 TraceCheckUtils]: 1: Hoare triple {2739#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2739#true} is VALID [2018-11-14 17:03:23,733 INFO L273 TraceCheckUtils]: 2: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,733 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2739#true} {2739#true} #74#return; {2739#true} is VALID [2018-11-14 17:03:23,734 INFO L256 TraceCheckUtils]: 4: Hoare triple {2739#true} call #t~ret14 := main(); {2739#true} is VALID [2018-11-14 17:03:23,734 INFO L273 TraceCheckUtils]: 5: Hoare triple {2739#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2739#true} is VALID [2018-11-14 17:03:23,734 INFO L273 TraceCheckUtils]: 6: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,734 INFO L273 TraceCheckUtils]: 7: Hoare triple {2739#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2739#true} is VALID [2018-11-14 17:03:23,734 INFO L273 TraceCheckUtils]: 8: Hoare triple {2739#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2739#true} is VALID [2018-11-14 17:03:23,734 INFO L273 TraceCheckUtils]: 9: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,734 INFO L273 TraceCheckUtils]: 10: Hoare triple {2739#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2739#true} is VALID [2018-11-14 17:03:23,734 INFO L273 TraceCheckUtils]: 11: Hoare triple {2739#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2739#true} is VALID [2018-11-14 17:03:23,735 INFO L273 TraceCheckUtils]: 12: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,735 INFO L273 TraceCheckUtils]: 13: Hoare triple {2739#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2739#true} is VALID [2018-11-14 17:03:23,735 INFO L273 TraceCheckUtils]: 14: Hoare triple {2739#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2739#true} is VALID [2018-11-14 17:03:23,735 INFO L273 TraceCheckUtils]: 15: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,735 INFO L273 TraceCheckUtils]: 16: Hoare triple {2739#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2739#true} is VALID [2018-11-14 17:03:23,735 INFO L273 TraceCheckUtils]: 17: Hoare triple {2739#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2739#true} is VALID [2018-11-14 17:03:23,735 INFO L273 TraceCheckUtils]: 18: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,735 INFO L273 TraceCheckUtils]: 19: Hoare triple {2739#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2739#true} is VALID [2018-11-14 17:03:23,736 INFO L273 TraceCheckUtils]: 20: Hoare triple {2739#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2739#true} is VALID [2018-11-14 17:03:23,736 INFO L273 TraceCheckUtils]: 21: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,736 INFO L273 TraceCheckUtils]: 22: Hoare triple {2739#true} assume !(~i~1 < 5); {2739#true} is VALID [2018-11-14 17:03:23,736 INFO L256 TraceCheckUtils]: 23: Hoare triple {2739#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2739#true} is VALID [2018-11-14 17:03:23,736 INFO L273 TraceCheckUtils]: 24: Hoare triple {2739#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2741#(= sep_~i~0 0)} is VALID [2018-11-14 17:03:23,737 INFO L273 TraceCheckUtils]: 25: Hoare triple {2741#(= sep_~i~0 0)} assume true; {2741#(= sep_~i~0 0)} is VALID [2018-11-14 17:03:23,737 INFO L273 TraceCheckUtils]: 26: Hoare triple {2741#(= sep_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2741#(= sep_~i~0 0)} is VALID [2018-11-14 17:03:23,737 INFO L273 TraceCheckUtils]: 27: Hoare triple {2741#(= sep_~i~0 0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2741#(= sep_~i~0 0)} is VALID [2018-11-14 17:03:23,742 INFO L273 TraceCheckUtils]: 28: Hoare triple {2741#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2742#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:23,743 INFO L273 TraceCheckUtils]: 29: Hoare triple {2742#(<= sep_~i~0 1)} assume true; {2742#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:23,743 INFO L273 TraceCheckUtils]: 30: Hoare triple {2742#(<= sep_~i~0 1)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2742#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:23,744 INFO L273 TraceCheckUtils]: 31: Hoare triple {2742#(<= sep_~i~0 1)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2742#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:23,744 INFO L273 TraceCheckUtils]: 32: Hoare triple {2742#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2743#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:23,745 INFO L273 TraceCheckUtils]: 33: Hoare triple {2743#(<= sep_~i~0 2)} assume true; {2743#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:23,745 INFO L273 TraceCheckUtils]: 34: Hoare triple {2743#(<= sep_~i~0 2)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2743#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:23,749 INFO L273 TraceCheckUtils]: 35: Hoare triple {2743#(<= sep_~i~0 2)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2743#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:23,749 INFO L273 TraceCheckUtils]: 36: Hoare triple {2743#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2744#(<= sep_~i~0 3)} is VALID [2018-11-14 17:03:23,751 INFO L273 TraceCheckUtils]: 37: Hoare triple {2744#(<= sep_~i~0 3)} assume true; {2744#(<= sep_~i~0 3)} is VALID [2018-11-14 17:03:23,751 INFO L273 TraceCheckUtils]: 38: Hoare triple {2744#(<= sep_~i~0 3)} assume !(~i~0 < 5); {2740#false} is VALID [2018-11-14 17:03:23,751 INFO L273 TraceCheckUtils]: 39: Hoare triple {2740#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2740#false} is VALID [2018-11-14 17:03:23,751 INFO L273 TraceCheckUtils]: 40: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:23,752 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2740#false} {2739#true} #78#return; {2740#false} is VALID [2018-11-14 17:03:23,752 INFO L273 TraceCheckUtils]: 42: Hoare triple {2740#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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {2740#false} is VALID [2018-11-14 17:03:23,752 INFO L256 TraceCheckUtils]: 43: Hoare triple {2740#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2739#true} is VALID [2018-11-14 17:03:23,752 INFO L273 TraceCheckUtils]: 44: Hoare triple {2739#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2739#true} is VALID [2018-11-14 17:03:23,752 INFO L273 TraceCheckUtils]: 45: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,753 INFO L273 TraceCheckUtils]: 46: Hoare triple {2739#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2739#true} is VALID [2018-11-14 17:03:23,753 INFO L273 TraceCheckUtils]: 47: Hoare triple {2739#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2739#true} is VALID [2018-11-14 17:03:23,753 INFO L273 TraceCheckUtils]: 48: Hoare triple {2739#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2739#true} is VALID [2018-11-14 17:03:23,754 INFO L273 TraceCheckUtils]: 49: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,754 INFO L273 TraceCheckUtils]: 50: Hoare triple {2739#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2739#true} is VALID [2018-11-14 17:03:23,754 INFO L273 TraceCheckUtils]: 51: Hoare triple {2739#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2739#true} is VALID [2018-11-14 17:03:23,754 INFO L273 TraceCheckUtils]: 52: Hoare triple {2739#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2739#true} is VALID [2018-11-14 17:03:23,755 INFO L273 TraceCheckUtils]: 53: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,755 INFO L273 TraceCheckUtils]: 54: Hoare triple {2739#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2739#true} is VALID [2018-11-14 17:03:23,755 INFO L273 TraceCheckUtils]: 55: Hoare triple {2739#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2739#true} is VALID [2018-11-14 17:03:23,755 INFO L273 TraceCheckUtils]: 56: Hoare triple {2739#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2739#true} is VALID [2018-11-14 17:03:23,756 INFO L273 TraceCheckUtils]: 57: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,756 INFO L273 TraceCheckUtils]: 58: Hoare triple {2739#true} assume !(~i~0 < 5); {2739#true} is VALID [2018-11-14 17:03:23,756 INFO L273 TraceCheckUtils]: 59: Hoare triple {2739#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2739#true} is VALID [2018-11-14 17:03:23,756 INFO L273 TraceCheckUtils]: 60: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,756 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {2739#true} {2740#false} #80#return; {2740#false} is VALID [2018-11-14 17:03:23,756 INFO L273 TraceCheckUtils]: 62: Hoare triple {2740#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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {2740#false} is VALID [2018-11-14 17:03:23,757 INFO L273 TraceCheckUtils]: 63: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:23,757 INFO L273 TraceCheckUtils]: 64: Hoare triple {2740#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {2740#false} is VALID [2018-11-14 17:03:23,757 INFO L273 TraceCheckUtils]: 65: Hoare triple {2740#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {2740#false} is VALID [2018-11-14 17:03:23,757 INFO L273 TraceCheckUtils]: 66: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:23,757 INFO L273 TraceCheckUtils]: 67: Hoare triple {2740#false} assume !(~i~2 < 4); {2740#false} is VALID [2018-11-14 17:03:23,757 INFO L273 TraceCheckUtils]: 68: Hoare triple {2740#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {2740#false} is VALID [2018-11-14 17:03:23,758 INFO L256 TraceCheckUtils]: 69: Hoare triple {2740#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2739#true} is VALID [2018-11-14 17:03:23,758 INFO L273 TraceCheckUtils]: 70: Hoare triple {2739#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2739#true} is VALID [2018-11-14 17:03:23,758 INFO L273 TraceCheckUtils]: 71: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,758 INFO L273 TraceCheckUtils]: 72: Hoare triple {2739#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2739#true} is VALID [2018-11-14 17:03:23,758 INFO L273 TraceCheckUtils]: 73: Hoare triple {2739#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2739#true} is VALID [2018-11-14 17:03:23,758 INFO L273 TraceCheckUtils]: 74: Hoare triple {2739#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2739#true} is VALID [2018-11-14 17:03:23,759 INFO L273 TraceCheckUtils]: 75: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,759 INFO L273 TraceCheckUtils]: 76: Hoare triple {2739#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2739#true} is VALID [2018-11-14 17:03:23,759 INFO L273 TraceCheckUtils]: 77: Hoare triple {2739#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2739#true} is VALID [2018-11-14 17:03:23,759 INFO L273 TraceCheckUtils]: 78: Hoare triple {2739#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2739#true} is VALID [2018-11-14 17:03:23,759 INFO L273 TraceCheckUtils]: 79: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,759 INFO L273 TraceCheckUtils]: 80: Hoare triple {2739#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2739#true} is VALID [2018-11-14 17:03:23,760 INFO L273 TraceCheckUtils]: 81: Hoare triple {2739#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2739#true} is VALID [2018-11-14 17:03:23,760 INFO L273 TraceCheckUtils]: 82: Hoare triple {2739#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2739#true} is VALID [2018-11-14 17:03:23,760 INFO L273 TraceCheckUtils]: 83: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,760 INFO L273 TraceCheckUtils]: 84: Hoare triple {2739#true} assume !(~i~0 < 5); {2739#true} is VALID [2018-11-14 17:03:23,760 INFO L273 TraceCheckUtils]: 85: Hoare triple {2739#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2739#true} is VALID [2018-11-14 17:03:23,760 INFO L273 TraceCheckUtils]: 86: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:23,760 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {2739#true} {2740#false} #82#return; {2740#false} is VALID [2018-11-14 17:03:23,761 INFO L273 TraceCheckUtils]: 88: Hoare triple {2740#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2740#false} is VALID [2018-11-14 17:03:23,761 INFO L273 TraceCheckUtils]: 89: Hoare triple {2740#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2740#false} is VALID [2018-11-14 17:03:23,761 INFO L273 TraceCheckUtils]: 90: Hoare triple {2740#false} assume !false; {2740#false} is VALID [2018-11-14 17:03:23,769 INFO L134 CoverageAnalysis]: Checked inductivity of 258 backedges. 0 proven. 124 refuted. 0 times theorem prover too weak. 134 trivial. 0 not checked. [2018-11-14 17:03:23,769 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:03:23,769 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-14 17:03:23,782 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-14 17:03:23,879 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 8 check-sat command(s) [2018-11-14 17:03:23,880 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 17:03:23,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:23,920 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:03:24,214 INFO L256 TraceCheckUtils]: 0: Hoare triple {2739#true} call ULTIMATE.init(); {2739#true} is VALID [2018-11-14 17:03:24,214 INFO L273 TraceCheckUtils]: 1: Hoare triple {2739#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2739#true} is VALID [2018-11-14 17:03:24,215 INFO L273 TraceCheckUtils]: 2: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:24,215 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2739#true} {2739#true} #74#return; {2739#true} is VALID [2018-11-14 17:03:24,215 INFO L256 TraceCheckUtils]: 4: Hoare triple {2739#true} call #t~ret14 := main(); {2739#true} is VALID [2018-11-14 17:03:24,216 INFO L273 TraceCheckUtils]: 5: Hoare triple {2739#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2739#true} is VALID [2018-11-14 17:03:24,216 INFO L273 TraceCheckUtils]: 6: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:24,216 INFO L273 TraceCheckUtils]: 7: Hoare triple {2739#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2739#true} is VALID [2018-11-14 17:03:24,217 INFO L273 TraceCheckUtils]: 8: Hoare triple {2739#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2739#true} is VALID [2018-11-14 17:03:24,217 INFO L273 TraceCheckUtils]: 9: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:24,217 INFO L273 TraceCheckUtils]: 10: Hoare triple {2739#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2739#true} is VALID [2018-11-14 17:03:24,217 INFO L273 TraceCheckUtils]: 11: Hoare triple {2739#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2739#true} is VALID [2018-11-14 17:03:24,217 INFO L273 TraceCheckUtils]: 12: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:24,218 INFO L273 TraceCheckUtils]: 13: Hoare triple {2739#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2739#true} is VALID [2018-11-14 17:03:24,218 INFO L273 TraceCheckUtils]: 14: Hoare triple {2739#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2739#true} is VALID [2018-11-14 17:03:24,218 INFO L273 TraceCheckUtils]: 15: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:24,218 INFO L273 TraceCheckUtils]: 16: Hoare triple {2739#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2739#true} is VALID [2018-11-14 17:03:24,218 INFO L273 TraceCheckUtils]: 17: Hoare triple {2739#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2739#true} is VALID [2018-11-14 17:03:24,219 INFO L273 TraceCheckUtils]: 18: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:24,219 INFO L273 TraceCheckUtils]: 19: Hoare triple {2739#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2739#true} is VALID [2018-11-14 17:03:24,219 INFO L273 TraceCheckUtils]: 20: Hoare triple {2739#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2739#true} is VALID [2018-11-14 17:03:24,219 INFO L273 TraceCheckUtils]: 21: Hoare triple {2739#true} assume true; {2739#true} is VALID [2018-11-14 17:03:24,219 INFO L273 TraceCheckUtils]: 22: Hoare triple {2739#true} assume !(~i~1 < 5); {2739#true} is VALID [2018-11-14 17:03:24,219 INFO L256 TraceCheckUtils]: 23: Hoare triple {2739#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2739#true} is VALID [2018-11-14 17:03:24,235 INFO L273 TraceCheckUtils]: 24: Hoare triple {2739#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2820#(<= sep_~i~0 0)} is VALID [2018-11-14 17:03:24,244 INFO L273 TraceCheckUtils]: 25: Hoare triple {2820#(<= sep_~i~0 0)} assume true; {2820#(<= sep_~i~0 0)} is VALID [2018-11-14 17:03:24,251 INFO L273 TraceCheckUtils]: 26: Hoare triple {2820#(<= sep_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2820#(<= sep_~i~0 0)} is VALID [2018-11-14 17:03:24,252 INFO L273 TraceCheckUtils]: 27: Hoare triple {2820#(<= sep_~i~0 0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2820#(<= sep_~i~0 0)} is VALID [2018-11-14 17:03:24,252 INFO L273 TraceCheckUtils]: 28: Hoare triple {2820#(<= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2742#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:24,253 INFO L273 TraceCheckUtils]: 29: Hoare triple {2742#(<= sep_~i~0 1)} assume true; {2742#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:24,253 INFO L273 TraceCheckUtils]: 30: Hoare triple {2742#(<= sep_~i~0 1)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2742#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:24,253 INFO L273 TraceCheckUtils]: 31: Hoare triple {2742#(<= sep_~i~0 1)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2742#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:24,254 INFO L273 TraceCheckUtils]: 32: Hoare triple {2742#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2743#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:24,254 INFO L273 TraceCheckUtils]: 33: Hoare triple {2743#(<= sep_~i~0 2)} assume true; {2743#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:24,255 INFO L273 TraceCheckUtils]: 34: Hoare triple {2743#(<= sep_~i~0 2)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2743#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:24,255 INFO L273 TraceCheckUtils]: 35: Hoare triple {2743#(<= sep_~i~0 2)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2743#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:24,255 INFO L273 TraceCheckUtils]: 36: Hoare triple {2743#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2744#(<= sep_~i~0 3)} is VALID [2018-11-14 17:03:24,256 INFO L273 TraceCheckUtils]: 37: Hoare triple {2744#(<= sep_~i~0 3)} assume true; {2744#(<= sep_~i~0 3)} is VALID [2018-11-14 17:03:24,256 INFO L273 TraceCheckUtils]: 38: Hoare triple {2744#(<= sep_~i~0 3)} assume !(~i~0 < 5); {2740#false} is VALID [2018-11-14 17:03:24,256 INFO L273 TraceCheckUtils]: 39: Hoare triple {2740#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2740#false} is VALID [2018-11-14 17:03:24,256 INFO L273 TraceCheckUtils]: 40: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:24,257 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2740#false} {2739#true} #78#return; {2740#false} is VALID [2018-11-14 17:03:24,257 INFO L273 TraceCheckUtils]: 42: Hoare triple {2740#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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {2740#false} is VALID [2018-11-14 17:03:24,257 INFO L256 TraceCheckUtils]: 43: Hoare triple {2740#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2740#false} is VALID [2018-11-14 17:03:24,257 INFO L273 TraceCheckUtils]: 44: Hoare triple {2740#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2740#false} is VALID [2018-11-14 17:03:24,257 INFO L273 TraceCheckUtils]: 45: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:24,258 INFO L273 TraceCheckUtils]: 46: Hoare triple {2740#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2740#false} is VALID [2018-11-14 17:03:24,258 INFO L273 TraceCheckUtils]: 47: Hoare triple {2740#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2740#false} is VALID [2018-11-14 17:03:24,258 INFO L273 TraceCheckUtils]: 48: Hoare triple {2740#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2740#false} is VALID [2018-11-14 17:03:24,258 INFO L273 TraceCheckUtils]: 49: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:24,259 INFO L273 TraceCheckUtils]: 50: Hoare triple {2740#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2740#false} is VALID [2018-11-14 17:03:24,259 INFO L273 TraceCheckUtils]: 51: Hoare triple {2740#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2740#false} is VALID [2018-11-14 17:03:24,259 INFO L273 TraceCheckUtils]: 52: Hoare triple {2740#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2740#false} is VALID [2018-11-14 17:03:24,259 INFO L273 TraceCheckUtils]: 53: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:24,259 INFO L273 TraceCheckUtils]: 54: Hoare triple {2740#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2740#false} is VALID [2018-11-14 17:03:24,259 INFO L273 TraceCheckUtils]: 55: Hoare triple {2740#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2740#false} is VALID [2018-11-14 17:03:24,260 INFO L273 TraceCheckUtils]: 56: Hoare triple {2740#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2740#false} is VALID [2018-11-14 17:03:24,260 INFO L273 TraceCheckUtils]: 57: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:24,260 INFO L273 TraceCheckUtils]: 58: Hoare triple {2740#false} assume !(~i~0 < 5); {2740#false} is VALID [2018-11-14 17:03:24,260 INFO L273 TraceCheckUtils]: 59: Hoare triple {2740#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2740#false} is VALID [2018-11-14 17:03:24,260 INFO L273 TraceCheckUtils]: 60: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:24,260 INFO L268 TraceCheckUtils]: 61: Hoare quadruple {2740#false} {2740#false} #80#return; {2740#false} is VALID [2018-11-14 17:03:24,260 INFO L273 TraceCheckUtils]: 62: Hoare triple {2740#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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {2740#false} is VALID [2018-11-14 17:03:24,260 INFO L273 TraceCheckUtils]: 63: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:24,260 INFO L273 TraceCheckUtils]: 64: Hoare triple {2740#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {2740#false} is VALID [2018-11-14 17:03:24,261 INFO L273 TraceCheckUtils]: 65: Hoare triple {2740#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {2740#false} is VALID [2018-11-14 17:03:24,261 INFO L273 TraceCheckUtils]: 66: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:24,261 INFO L273 TraceCheckUtils]: 67: Hoare triple {2740#false} assume !(~i~2 < 4); {2740#false} is VALID [2018-11-14 17:03:24,261 INFO L273 TraceCheckUtils]: 68: Hoare triple {2740#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {2740#false} is VALID [2018-11-14 17:03:24,261 INFO L256 TraceCheckUtils]: 69: Hoare triple {2740#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2740#false} is VALID [2018-11-14 17:03:24,261 INFO L273 TraceCheckUtils]: 70: Hoare triple {2740#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {2740#false} is VALID [2018-11-14 17:03:24,261 INFO L273 TraceCheckUtils]: 71: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:24,261 INFO L273 TraceCheckUtils]: 72: Hoare triple {2740#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2740#false} is VALID [2018-11-14 17:03:24,262 INFO L273 TraceCheckUtils]: 73: Hoare triple {2740#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2740#false} is VALID [2018-11-14 17:03:24,262 INFO L273 TraceCheckUtils]: 74: Hoare triple {2740#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2740#false} is VALID [2018-11-14 17:03:24,262 INFO L273 TraceCheckUtils]: 75: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:24,262 INFO L273 TraceCheckUtils]: 76: Hoare triple {2740#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2740#false} is VALID [2018-11-14 17:03:24,262 INFO L273 TraceCheckUtils]: 77: Hoare triple {2740#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2740#false} is VALID [2018-11-14 17:03:24,262 INFO L273 TraceCheckUtils]: 78: Hoare triple {2740#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2740#false} is VALID [2018-11-14 17:03:24,262 INFO L273 TraceCheckUtils]: 79: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:24,262 INFO L273 TraceCheckUtils]: 80: Hoare triple {2740#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2740#false} is VALID [2018-11-14 17:03:24,263 INFO L273 TraceCheckUtils]: 81: Hoare triple {2740#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {2740#false} is VALID [2018-11-14 17:03:24,263 INFO L273 TraceCheckUtils]: 82: Hoare triple {2740#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2740#false} is VALID [2018-11-14 17:03:24,263 INFO L273 TraceCheckUtils]: 83: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:24,263 INFO L273 TraceCheckUtils]: 84: Hoare triple {2740#false} assume !(~i~0 < 5); {2740#false} is VALID [2018-11-14 17:03:24,263 INFO L273 TraceCheckUtils]: 85: Hoare triple {2740#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2740#false} is VALID [2018-11-14 17:03:24,263 INFO L273 TraceCheckUtils]: 86: Hoare triple {2740#false} assume true; {2740#false} is VALID [2018-11-14 17:03:24,263 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {2740#false} {2740#false} #82#return; {2740#false} is VALID [2018-11-14 17:03:24,263 INFO L273 TraceCheckUtils]: 88: Hoare triple {2740#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2740#false} is VALID [2018-11-14 17:03:24,264 INFO L273 TraceCheckUtils]: 89: Hoare triple {2740#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2740#false} is VALID [2018-11-14 17:03:24,264 INFO L273 TraceCheckUtils]: 90: Hoare triple {2740#false} assume !false; {2740#false} is VALID [2018-11-14 17:03:24,268 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-14 17:03:24,291 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:03:24,291 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2018-11-14 17:03:24,291 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 91 [2018-11-14 17:03:24,293 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:03:24,293 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-14 17:03:24,358 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:03:24,359 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-14 17:03:24,359 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-14 17:03:24,359 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 17:03:24,359 INFO L87 Difference]: Start difference. First operand 56 states and 63 transitions. Second operand 7 states. [2018-11-14 17:03:25,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:25,130 INFO L93 Difference]: Finished difference Result 94 states and 112 transitions. [2018-11-14 17:03:25,131 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 17:03:25,131 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 91 [2018-11-14 17:03:25,131 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:03:25,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 17:03:25,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 82 transitions. [2018-11-14 17:03:25,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 17:03:25,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 82 transitions. [2018-11-14 17:03:25,135 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 82 transitions. [2018-11-14 17:03:25,241 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-14 17:03:25,244 INFO L225 Difference]: With dead ends: 94 [2018-11-14 17:03:25,244 INFO L226 Difference]: Without dead ends: 62 [2018-11-14 17:03:25,245 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 91 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 17:03:25,245 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2018-11-14 17:03:25,273 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 60. [2018-11-14 17:03:25,273 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:03:25,273 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand 60 states. [2018-11-14 17:03:25,274 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 60 states. [2018-11-14 17:03:25,274 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 60 states. [2018-11-14 17:03:25,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:25,276 INFO L93 Difference]: Finished difference Result 62 states and 71 transitions. [2018-11-14 17:03:25,276 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 71 transitions. [2018-11-14 17:03:25,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:25,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:25,277 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 62 states. [2018-11-14 17:03:25,277 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 62 states. [2018-11-14 17:03:25,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:25,280 INFO L93 Difference]: Finished difference Result 62 states and 71 transitions. [2018-11-14 17:03:25,280 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 71 transitions. [2018-11-14 17:03:25,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:25,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:25,281 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:03:25,281 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:03:25,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2018-11-14 17:03:25,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 68 transitions. [2018-11-14 17:03:25,284 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 68 transitions. Word has length 91 [2018-11-14 17:03:25,284 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:03:25,285 INFO L480 AbstractCegarLoop]: Abstraction has 60 states and 68 transitions. [2018-11-14 17:03:25,285 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-14 17:03:25,285 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 68 transitions. [2018-11-14 17:03:25,286 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2018-11-14 17:03:25,286 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:25,286 INFO L375 BasicCegarLoop]: trace histogram [15, 12, 12, 12, 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-14 17:03:25,287 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:25,287 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:25,287 INFO L82 PathProgramCache]: Analyzing trace with hash 786978762, now seen corresponding path program 6 times [2018-11-14 17:03:25,287 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:25,287 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:25,288 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:25,289 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 17:03:25,289 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:25,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:26,189 INFO L256 TraceCheckUtils]: 0: Hoare triple {3347#true} call ULTIMATE.init(); {3347#true} is VALID [2018-11-14 17:03:26,190 INFO L273 TraceCheckUtils]: 1: Hoare triple {3347#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3347#true} is VALID [2018-11-14 17:03:26,190 INFO L273 TraceCheckUtils]: 2: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,190 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3347#true} {3347#true} #74#return; {3347#true} is VALID [2018-11-14 17:03:26,191 INFO L256 TraceCheckUtils]: 4: Hoare triple {3347#true} call #t~ret14 := main(); {3347#true} is VALID [2018-11-14 17:03:26,191 INFO L273 TraceCheckUtils]: 5: Hoare triple {3347#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3347#true} is VALID [2018-11-14 17:03:26,191 INFO L273 TraceCheckUtils]: 6: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,191 INFO L273 TraceCheckUtils]: 7: Hoare triple {3347#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3347#true} is VALID [2018-11-14 17:03:26,191 INFO L273 TraceCheckUtils]: 8: Hoare triple {3347#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3347#true} is VALID [2018-11-14 17:03:26,192 INFO L273 TraceCheckUtils]: 9: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,192 INFO L273 TraceCheckUtils]: 10: Hoare triple {3347#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3347#true} is VALID [2018-11-14 17:03:26,192 INFO L273 TraceCheckUtils]: 11: Hoare triple {3347#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3347#true} is VALID [2018-11-14 17:03:26,192 INFO L273 TraceCheckUtils]: 12: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,193 INFO L273 TraceCheckUtils]: 13: Hoare triple {3347#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3347#true} is VALID [2018-11-14 17:03:26,193 INFO L273 TraceCheckUtils]: 14: Hoare triple {3347#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3347#true} is VALID [2018-11-14 17:03:26,193 INFO L273 TraceCheckUtils]: 15: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,193 INFO L273 TraceCheckUtils]: 16: Hoare triple {3347#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3347#true} is VALID [2018-11-14 17:03:26,193 INFO L273 TraceCheckUtils]: 17: Hoare triple {3347#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3347#true} is VALID [2018-11-14 17:03:26,193 INFO L273 TraceCheckUtils]: 18: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,193 INFO L273 TraceCheckUtils]: 19: Hoare triple {3347#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3347#true} is VALID [2018-11-14 17:03:26,194 INFO L273 TraceCheckUtils]: 20: Hoare triple {3347#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3347#true} is VALID [2018-11-14 17:03:26,194 INFO L273 TraceCheckUtils]: 21: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,194 INFO L273 TraceCheckUtils]: 22: Hoare triple {3347#true} assume !(~i~1 < 5); {3347#true} is VALID [2018-11-14 17:03:26,194 INFO L256 TraceCheckUtils]: 23: Hoare triple {3347#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {3347#true} is VALID [2018-11-14 17:03:26,194 INFO L273 TraceCheckUtils]: 24: Hoare triple {3347#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3349#(= sep_~i~0 0)} is VALID [2018-11-14 17:03:26,195 INFO L273 TraceCheckUtils]: 25: Hoare triple {3349#(= sep_~i~0 0)} assume true; {3349#(= sep_~i~0 0)} is VALID [2018-11-14 17:03:26,195 INFO L273 TraceCheckUtils]: 26: Hoare triple {3349#(= sep_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3349#(= sep_~i~0 0)} is VALID [2018-11-14 17:03:26,195 INFO L273 TraceCheckUtils]: 27: Hoare triple {3349#(= sep_~i~0 0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3349#(= sep_~i~0 0)} is VALID [2018-11-14 17:03:26,196 INFO L273 TraceCheckUtils]: 28: Hoare triple {3349#(= sep_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3350#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:26,197 INFO L273 TraceCheckUtils]: 29: Hoare triple {3350#(<= sep_~i~0 1)} assume true; {3350#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:26,197 INFO L273 TraceCheckUtils]: 30: Hoare triple {3350#(<= sep_~i~0 1)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3350#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:26,197 INFO L273 TraceCheckUtils]: 31: Hoare triple {3350#(<= sep_~i~0 1)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3350#(<= sep_~i~0 1)} is VALID [2018-11-14 17:03:26,198 INFO L273 TraceCheckUtils]: 32: Hoare triple {3350#(<= sep_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3351#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:26,198 INFO L273 TraceCheckUtils]: 33: Hoare triple {3351#(<= sep_~i~0 2)} assume true; {3351#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:26,199 INFO L273 TraceCheckUtils]: 34: Hoare triple {3351#(<= sep_~i~0 2)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3351#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:26,199 INFO L273 TraceCheckUtils]: 35: Hoare triple {3351#(<= sep_~i~0 2)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3351#(<= sep_~i~0 2)} is VALID [2018-11-14 17:03:26,200 INFO L273 TraceCheckUtils]: 36: Hoare triple {3351#(<= sep_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3352#(<= sep_~i~0 3)} is VALID [2018-11-14 17:03:26,201 INFO L273 TraceCheckUtils]: 37: Hoare triple {3352#(<= sep_~i~0 3)} assume true; {3352#(<= sep_~i~0 3)} is VALID [2018-11-14 17:03:26,201 INFO L273 TraceCheckUtils]: 38: Hoare triple {3352#(<= sep_~i~0 3)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3352#(<= sep_~i~0 3)} is VALID [2018-11-14 17:03:26,202 INFO L273 TraceCheckUtils]: 39: Hoare triple {3352#(<= sep_~i~0 3)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3352#(<= sep_~i~0 3)} is VALID [2018-11-14 17:03:26,205 INFO L273 TraceCheckUtils]: 40: Hoare triple {3352#(<= sep_~i~0 3)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3353#(<= sep_~i~0 4)} is VALID [2018-11-14 17:03:26,205 INFO L273 TraceCheckUtils]: 41: Hoare triple {3353#(<= sep_~i~0 4)} assume true; {3353#(<= sep_~i~0 4)} is VALID [2018-11-14 17:03:26,206 INFO L273 TraceCheckUtils]: 42: Hoare triple {3353#(<= sep_~i~0 4)} assume !(~i~0 < 5); {3348#false} is VALID [2018-11-14 17:03:26,206 INFO L273 TraceCheckUtils]: 43: Hoare triple {3348#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3348#false} is VALID [2018-11-14 17:03:26,206 INFO L273 TraceCheckUtils]: 44: Hoare triple {3348#false} assume true; {3348#false} is VALID [2018-11-14 17:03:26,206 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {3348#false} {3347#true} #78#return; {3348#false} is VALID [2018-11-14 17:03:26,207 INFO L273 TraceCheckUtils]: 46: Hoare triple {3348#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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {3348#false} is VALID [2018-11-14 17:03:26,207 INFO L256 TraceCheckUtils]: 47: Hoare triple {3348#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {3347#true} is VALID [2018-11-14 17:03:26,207 INFO L273 TraceCheckUtils]: 48: Hoare triple {3347#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3347#true} is VALID [2018-11-14 17:03:26,207 INFO L273 TraceCheckUtils]: 49: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,207 INFO L273 TraceCheckUtils]: 50: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,207 INFO L273 TraceCheckUtils]: 51: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,207 INFO L273 TraceCheckUtils]: 52: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,207 INFO L273 TraceCheckUtils]: 53: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,208 INFO L273 TraceCheckUtils]: 54: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,208 INFO L273 TraceCheckUtils]: 55: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,208 INFO L273 TraceCheckUtils]: 56: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,208 INFO L273 TraceCheckUtils]: 57: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,208 INFO L273 TraceCheckUtils]: 58: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,208 INFO L273 TraceCheckUtils]: 59: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,208 INFO L273 TraceCheckUtils]: 60: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,208 INFO L273 TraceCheckUtils]: 61: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,209 INFO L273 TraceCheckUtils]: 62: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,209 INFO L273 TraceCheckUtils]: 63: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,209 INFO L273 TraceCheckUtils]: 64: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,209 INFO L273 TraceCheckUtils]: 65: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,209 INFO L273 TraceCheckUtils]: 66: Hoare triple {3347#true} assume !(~i~0 < 5); {3347#true} is VALID [2018-11-14 17:03:26,209 INFO L273 TraceCheckUtils]: 67: Hoare triple {3347#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3347#true} is VALID [2018-11-14 17:03:26,209 INFO L273 TraceCheckUtils]: 68: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,209 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {3347#true} {3348#false} #80#return; {3348#false} is VALID [2018-11-14 17:03:26,210 INFO L273 TraceCheckUtils]: 70: Hoare triple {3348#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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {3348#false} is VALID [2018-11-14 17:03:26,210 INFO L273 TraceCheckUtils]: 71: Hoare triple {3348#false} assume true; {3348#false} is VALID [2018-11-14 17:03:26,210 INFO L273 TraceCheckUtils]: 72: Hoare triple {3348#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {3348#false} is VALID [2018-11-14 17:03:26,210 INFO L273 TraceCheckUtils]: 73: Hoare triple {3348#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {3348#false} is VALID [2018-11-14 17:03:26,210 INFO L273 TraceCheckUtils]: 74: Hoare triple {3348#false} assume true; {3348#false} is VALID [2018-11-14 17:03:26,210 INFO L273 TraceCheckUtils]: 75: Hoare triple {3348#false} assume !(~i~2 < 4); {3348#false} is VALID [2018-11-14 17:03:26,210 INFO L273 TraceCheckUtils]: 76: Hoare triple {3348#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {3348#false} is VALID [2018-11-14 17:03:26,210 INFO L256 TraceCheckUtils]: 77: Hoare triple {3348#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {3347#true} is VALID [2018-11-14 17:03:26,211 INFO L273 TraceCheckUtils]: 78: Hoare triple {3347#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3347#true} is VALID [2018-11-14 17:03:26,211 INFO L273 TraceCheckUtils]: 79: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,211 INFO L273 TraceCheckUtils]: 80: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,211 INFO L273 TraceCheckUtils]: 81: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,211 INFO L273 TraceCheckUtils]: 82: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,211 INFO L273 TraceCheckUtils]: 83: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,211 INFO L273 TraceCheckUtils]: 84: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,211 INFO L273 TraceCheckUtils]: 85: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,212 INFO L273 TraceCheckUtils]: 86: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,212 INFO L273 TraceCheckUtils]: 87: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,212 INFO L273 TraceCheckUtils]: 88: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,212 INFO L273 TraceCheckUtils]: 89: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,212 INFO L273 TraceCheckUtils]: 90: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,212 INFO L273 TraceCheckUtils]: 91: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,212 INFO L273 TraceCheckUtils]: 92: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,212 INFO L273 TraceCheckUtils]: 93: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,213 INFO L273 TraceCheckUtils]: 94: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,213 INFO L273 TraceCheckUtils]: 95: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,213 INFO L273 TraceCheckUtils]: 96: Hoare triple {3347#true} assume !(~i~0 < 5); {3347#true} is VALID [2018-11-14 17:03:26,213 INFO L273 TraceCheckUtils]: 97: Hoare triple {3347#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3347#true} is VALID [2018-11-14 17:03:26,213 INFO L273 TraceCheckUtils]: 98: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,213 INFO L268 TraceCheckUtils]: 99: Hoare quadruple {3347#true} {3348#false} #82#return; {3348#false} is VALID [2018-11-14 17:03:26,214 INFO L273 TraceCheckUtils]: 100: Hoare triple {3348#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {3348#false} is VALID [2018-11-14 17:03:26,214 INFO L273 TraceCheckUtils]: 101: Hoare triple {3348#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3348#false} is VALID [2018-11-14 17:03:26,214 INFO L273 TraceCheckUtils]: 102: Hoare triple {3348#false} assume !false; {3348#false} is VALID [2018-11-14 17:03:26,220 INFO L134 CoverageAnalysis]: Checked inductivity of 396 backedges. 0 proven. 202 refuted. 0 times theorem prover too weak. 194 trivial. 0 not checked. [2018-11-14 17:03:26,220 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:03:26,220 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-14 17:03:26,233 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-14 17:03:26,330 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-14 17:03:26,330 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 17:03:26,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:26,364 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:03:26,517 INFO L256 TraceCheckUtils]: 0: Hoare triple {3347#true} call ULTIMATE.init(); {3347#true} is VALID [2018-11-14 17:03:26,517 INFO L273 TraceCheckUtils]: 1: Hoare triple {3347#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3347#true} is VALID [2018-11-14 17:03:26,517 INFO L273 TraceCheckUtils]: 2: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,517 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3347#true} {3347#true} #74#return; {3347#true} is VALID [2018-11-14 17:03:26,518 INFO L256 TraceCheckUtils]: 4: Hoare triple {3347#true} call #t~ret14 := main(); {3347#true} is VALID [2018-11-14 17:03:26,518 INFO L273 TraceCheckUtils]: 5: Hoare triple {3347#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3347#true} is VALID [2018-11-14 17:03:26,518 INFO L273 TraceCheckUtils]: 6: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,518 INFO L273 TraceCheckUtils]: 7: Hoare triple {3347#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3347#true} is VALID [2018-11-14 17:03:26,519 INFO L273 TraceCheckUtils]: 8: Hoare triple {3347#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3347#true} is VALID [2018-11-14 17:03:26,519 INFO L273 TraceCheckUtils]: 9: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,519 INFO L273 TraceCheckUtils]: 10: Hoare triple {3347#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3347#true} is VALID [2018-11-14 17:03:26,520 INFO L273 TraceCheckUtils]: 11: Hoare triple {3347#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3347#true} is VALID [2018-11-14 17:03:26,520 INFO L273 TraceCheckUtils]: 12: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,520 INFO L273 TraceCheckUtils]: 13: Hoare triple {3347#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3347#true} is VALID [2018-11-14 17:03:26,520 INFO L273 TraceCheckUtils]: 14: Hoare triple {3347#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3347#true} is VALID [2018-11-14 17:03:26,520 INFO L273 TraceCheckUtils]: 15: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,520 INFO L273 TraceCheckUtils]: 16: Hoare triple {3347#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3347#true} is VALID [2018-11-14 17:03:26,521 INFO L273 TraceCheckUtils]: 17: Hoare triple {3347#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3347#true} is VALID [2018-11-14 17:03:26,521 INFO L273 TraceCheckUtils]: 18: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,521 INFO L273 TraceCheckUtils]: 19: Hoare triple {3347#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3347#true} is VALID [2018-11-14 17:03:26,521 INFO L273 TraceCheckUtils]: 20: Hoare triple {3347#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3347#true} is VALID [2018-11-14 17:03:26,521 INFO L273 TraceCheckUtils]: 21: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,521 INFO L273 TraceCheckUtils]: 22: Hoare triple {3347#true} assume !(~i~1 < 5); {3347#true} is VALID [2018-11-14 17:03:26,522 INFO L256 TraceCheckUtils]: 23: Hoare triple {3347#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {3347#true} is VALID [2018-11-14 17:03:26,522 INFO L273 TraceCheckUtils]: 24: Hoare triple {3347#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3347#true} is VALID [2018-11-14 17:03:26,522 INFO L273 TraceCheckUtils]: 25: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,522 INFO L273 TraceCheckUtils]: 26: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,522 INFO L273 TraceCheckUtils]: 27: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,522 INFO L273 TraceCheckUtils]: 28: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,523 INFO L273 TraceCheckUtils]: 29: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,523 INFO L273 TraceCheckUtils]: 30: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,523 INFO L273 TraceCheckUtils]: 31: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,523 INFO L273 TraceCheckUtils]: 32: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,523 INFO L273 TraceCheckUtils]: 33: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,523 INFO L273 TraceCheckUtils]: 34: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,524 INFO L273 TraceCheckUtils]: 35: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,524 INFO L273 TraceCheckUtils]: 36: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,524 INFO L273 TraceCheckUtils]: 37: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,524 INFO L273 TraceCheckUtils]: 38: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,524 INFO L273 TraceCheckUtils]: 39: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,524 INFO L273 TraceCheckUtils]: 40: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,525 INFO L273 TraceCheckUtils]: 41: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,525 INFO L273 TraceCheckUtils]: 42: Hoare triple {3347#true} assume !(~i~0 < 5); {3347#true} is VALID [2018-11-14 17:03:26,525 INFO L273 TraceCheckUtils]: 43: Hoare triple {3347#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3347#true} is VALID [2018-11-14 17:03:26,525 INFO L273 TraceCheckUtils]: 44: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,525 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {3347#true} {3347#true} #78#return; {3347#true} is VALID [2018-11-14 17:03:26,526 INFO L273 TraceCheckUtils]: 46: Hoare triple {3347#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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,526 INFO L256 TraceCheckUtils]: 47: Hoare triple {3347#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {3347#true} is VALID [2018-11-14 17:03:26,526 INFO L273 TraceCheckUtils]: 48: Hoare triple {3347#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3347#true} is VALID [2018-11-14 17:03:26,526 INFO L273 TraceCheckUtils]: 49: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,526 INFO L273 TraceCheckUtils]: 50: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,526 INFO L273 TraceCheckUtils]: 51: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,527 INFO L273 TraceCheckUtils]: 52: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,527 INFO L273 TraceCheckUtils]: 53: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,527 INFO L273 TraceCheckUtils]: 54: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,527 INFO L273 TraceCheckUtils]: 55: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,527 INFO L273 TraceCheckUtils]: 56: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,527 INFO L273 TraceCheckUtils]: 57: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,528 INFO L273 TraceCheckUtils]: 58: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,528 INFO L273 TraceCheckUtils]: 59: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,528 INFO L273 TraceCheckUtils]: 60: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,528 INFO L273 TraceCheckUtils]: 61: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,528 INFO L273 TraceCheckUtils]: 62: Hoare triple {3347#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3347#true} is VALID [2018-11-14 17:03:26,528 INFO L273 TraceCheckUtils]: 63: Hoare triple {3347#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3347#true} is VALID [2018-11-14 17:03:26,529 INFO L273 TraceCheckUtils]: 64: Hoare triple {3347#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3347#true} is VALID [2018-11-14 17:03:26,529 INFO L273 TraceCheckUtils]: 65: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,529 INFO L273 TraceCheckUtils]: 66: Hoare triple {3347#true} assume !(~i~0 < 5); {3347#true} is VALID [2018-11-14 17:03:26,529 INFO L273 TraceCheckUtils]: 67: Hoare triple {3347#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3347#true} is VALID [2018-11-14 17:03:26,529 INFO L273 TraceCheckUtils]: 68: Hoare triple {3347#true} assume true; {3347#true} is VALID [2018-11-14 17:03:26,529 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {3347#true} {3347#true} #80#return; {3347#true} is VALID [2018-11-14 17:03:26,530 INFO L273 TraceCheckUtils]: 70: Hoare triple {3347#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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {3567#(<= main_~i~2 0)} is VALID [2018-11-14 17:03:26,531 INFO L273 TraceCheckUtils]: 71: Hoare triple {3567#(<= main_~i~2 0)} assume true; {3567#(<= main_~i~2 0)} is VALID [2018-11-14 17:03:26,531 INFO L273 TraceCheckUtils]: 72: Hoare triple {3567#(<= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {3567#(<= main_~i~2 0)} is VALID [2018-11-14 17:03:26,531 INFO L273 TraceCheckUtils]: 73: Hoare triple {3567#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {3577#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:26,532 INFO L273 TraceCheckUtils]: 74: Hoare triple {3577#(<= main_~i~2 1)} assume true; {3577#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:26,532 INFO L273 TraceCheckUtils]: 75: Hoare triple {3577#(<= main_~i~2 1)} assume !(~i~2 < 4); {3348#false} is VALID [2018-11-14 17:03:26,532 INFO L273 TraceCheckUtils]: 76: Hoare triple {3348#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {3348#false} is VALID [2018-11-14 17:03:26,533 INFO L256 TraceCheckUtils]: 77: Hoare triple {3348#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {3348#false} is VALID [2018-11-14 17:03:26,533 INFO L273 TraceCheckUtils]: 78: Hoare triple {3348#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {3348#false} is VALID [2018-11-14 17:03:26,533 INFO L273 TraceCheckUtils]: 79: Hoare triple {3348#false} assume true; {3348#false} is VALID [2018-11-14 17:03:26,533 INFO L273 TraceCheckUtils]: 80: Hoare triple {3348#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3348#false} is VALID [2018-11-14 17:03:26,533 INFO L273 TraceCheckUtils]: 81: Hoare triple {3348#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3348#false} is VALID [2018-11-14 17:03:26,533 INFO L273 TraceCheckUtils]: 82: Hoare triple {3348#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3348#false} is VALID [2018-11-14 17:03:26,533 INFO L273 TraceCheckUtils]: 83: Hoare triple {3348#false} assume true; {3348#false} is VALID [2018-11-14 17:03:26,533 INFO L273 TraceCheckUtils]: 84: Hoare triple {3348#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3348#false} is VALID [2018-11-14 17:03:26,533 INFO L273 TraceCheckUtils]: 85: Hoare triple {3348#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3348#false} is VALID [2018-11-14 17:03:26,534 INFO L273 TraceCheckUtils]: 86: Hoare triple {3348#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3348#false} is VALID [2018-11-14 17:03:26,534 INFO L273 TraceCheckUtils]: 87: Hoare triple {3348#false} assume true; {3348#false} is VALID [2018-11-14 17:03:26,534 INFO L273 TraceCheckUtils]: 88: Hoare triple {3348#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3348#false} is VALID [2018-11-14 17:03:26,534 INFO L273 TraceCheckUtils]: 89: Hoare triple {3348#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3348#false} is VALID [2018-11-14 17:03:26,534 INFO L273 TraceCheckUtils]: 90: Hoare triple {3348#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3348#false} is VALID [2018-11-14 17:03:26,534 INFO L273 TraceCheckUtils]: 91: Hoare triple {3348#false} assume true; {3348#false} is VALID [2018-11-14 17:03:26,534 INFO L273 TraceCheckUtils]: 92: Hoare triple {3348#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3348#false} is VALID [2018-11-14 17:03:26,535 INFO L273 TraceCheckUtils]: 93: Hoare triple {3348#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {3348#false} is VALID [2018-11-14 17:03:26,535 INFO L273 TraceCheckUtils]: 94: Hoare triple {3348#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3348#false} is VALID [2018-11-14 17:03:26,535 INFO L273 TraceCheckUtils]: 95: Hoare triple {3348#false} assume true; {3348#false} is VALID [2018-11-14 17:03:26,535 INFO L273 TraceCheckUtils]: 96: Hoare triple {3348#false} assume !(~i~0 < 5); {3348#false} is VALID [2018-11-14 17:03:26,535 INFO L273 TraceCheckUtils]: 97: Hoare triple {3348#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3348#false} is VALID [2018-11-14 17:03:26,536 INFO L273 TraceCheckUtils]: 98: Hoare triple {3348#false} assume true; {3348#false} is VALID [2018-11-14 17:03:26,536 INFO L268 TraceCheckUtils]: 99: Hoare quadruple {3348#false} {3348#false} #82#return; {3348#false} is VALID [2018-11-14 17:03:26,536 INFO L273 TraceCheckUtils]: 100: Hoare triple {3348#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {3348#false} is VALID [2018-11-14 17:03:26,536 INFO L273 TraceCheckUtils]: 101: Hoare triple {3348#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3348#false} is VALID [2018-11-14 17:03:26,536 INFO L273 TraceCheckUtils]: 102: Hoare triple {3348#false} assume !false; {3348#false} is VALID [2018-11-14 17:03:26,541 INFO L134 CoverageAnalysis]: Checked inductivity of 396 backedges. 172 proven. 2 refuted. 0 times theorem prover too weak. 222 trivial. 0 not checked. [2018-11-14 17:03:26,563 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:03:26,563 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 4] total 9 [2018-11-14 17:03:26,564 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 103 [2018-11-14 17:03:26,565 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:03:26,566 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-14 17:03:26,636 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:03:26,637 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-14 17:03:26,637 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-14 17:03:26,637 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2018-11-14 17:03:26,637 INFO L87 Difference]: Start difference. First operand 60 states and 68 transitions. Second operand 9 states. [2018-11-14 17:03:27,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:27,154 INFO L93 Difference]: Finished difference Result 104 states and 124 transitions. [2018-11-14 17:03:27,154 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-14 17:03:27,154 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 103 [2018-11-14 17:03:27,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:03:27,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 17:03:27,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2018-11-14 17:03:27,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 17:03:27,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2018-11-14 17:03:27,158 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 91 transitions. [2018-11-14 17:03:27,259 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:03:27,261 INFO L225 Difference]: With dead ends: 104 [2018-11-14 17:03:27,261 INFO L226 Difference]: Without dead ends: 68 [2018-11-14 17:03:27,262 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 109 GetRequests, 102 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2018-11-14 17:03:27,262 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2018-11-14 17:03:27,292 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 67. [2018-11-14 17:03:27,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:03:27,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand 67 states. [2018-11-14 17:03:27,292 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 67 states. [2018-11-14 17:03:27,292 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 67 states. [2018-11-14 17:03:27,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:27,295 INFO L93 Difference]: Finished difference Result 68 states and 77 transitions. [2018-11-14 17:03:27,295 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 77 transitions. [2018-11-14 17:03:27,295 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:27,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:27,295 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 68 states. [2018-11-14 17:03:27,295 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 68 states. [2018-11-14 17:03:27,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:27,297 INFO L93 Difference]: Finished difference Result 68 states and 77 transitions. [2018-11-14 17:03:27,297 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 77 transitions. [2018-11-14 17:03:27,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:27,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:27,298 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:03:27,298 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:03:27,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 67 states. [2018-11-14 17:03:27,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 76 transitions. [2018-11-14 17:03:27,299 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 76 transitions. Word has length 103 [2018-11-14 17:03:27,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:03:27,299 INFO L480 AbstractCegarLoop]: Abstraction has 67 states and 76 transitions. [2018-11-14 17:03:27,299 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-14 17:03:27,300 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 76 transitions. [2018-11-14 17:03:27,301 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2018-11-14 17:03:27,301 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:27,301 INFO L375 BasicCegarLoop]: trace histogram [18, 15, 15, 15, 6, 5, 5, 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-14 17:03:27,301 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:27,301 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:27,302 INFO L82 PathProgramCache]: Analyzing trace with hash 1003226154, now seen corresponding path program 7 times [2018-11-14 17:03:27,302 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:27,302 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:27,302 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:27,303 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 17:03:27,303 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:27,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:27,570 INFO L256 TraceCheckUtils]: 0: Hoare triple {4027#true} call ULTIMATE.init(); {4027#true} is VALID [2018-11-14 17:03:27,570 INFO L273 TraceCheckUtils]: 1: Hoare triple {4027#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4027#true} is VALID [2018-11-14 17:03:27,570 INFO L273 TraceCheckUtils]: 2: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,571 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4027#true} {4027#true} #74#return; {4027#true} is VALID [2018-11-14 17:03:27,571 INFO L256 TraceCheckUtils]: 4: Hoare triple {4027#true} call #t~ret14 := main(); {4027#true} is VALID [2018-11-14 17:03:27,571 INFO L273 TraceCheckUtils]: 5: Hoare triple {4027#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4027#true} is VALID [2018-11-14 17:03:27,571 INFO L273 TraceCheckUtils]: 6: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,571 INFO L273 TraceCheckUtils]: 7: Hoare triple {4027#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4027#true} is VALID [2018-11-14 17:03:27,571 INFO L273 TraceCheckUtils]: 8: Hoare triple {4027#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4027#true} is VALID [2018-11-14 17:03:27,571 INFO L273 TraceCheckUtils]: 9: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,571 INFO L273 TraceCheckUtils]: 10: Hoare triple {4027#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4027#true} is VALID [2018-11-14 17:03:27,572 INFO L273 TraceCheckUtils]: 11: Hoare triple {4027#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4027#true} is VALID [2018-11-14 17:03:27,572 INFO L273 TraceCheckUtils]: 12: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,572 INFO L273 TraceCheckUtils]: 13: Hoare triple {4027#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4027#true} is VALID [2018-11-14 17:03:27,572 INFO L273 TraceCheckUtils]: 14: Hoare triple {4027#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4027#true} is VALID [2018-11-14 17:03:27,572 INFO L273 TraceCheckUtils]: 15: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,572 INFO L273 TraceCheckUtils]: 16: Hoare triple {4027#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4027#true} is VALID [2018-11-14 17:03:27,572 INFO L273 TraceCheckUtils]: 17: Hoare triple {4027#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4027#true} is VALID [2018-11-14 17:03:27,572 INFO L273 TraceCheckUtils]: 18: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,572 INFO L273 TraceCheckUtils]: 19: Hoare triple {4027#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4027#true} is VALID [2018-11-14 17:03:27,573 INFO L273 TraceCheckUtils]: 20: Hoare triple {4027#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4027#true} is VALID [2018-11-14 17:03:27,573 INFO L273 TraceCheckUtils]: 21: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,573 INFO L273 TraceCheckUtils]: 22: Hoare triple {4027#true} assume !(~i~1 < 5); {4027#true} is VALID [2018-11-14 17:03:27,573 INFO L256 TraceCheckUtils]: 23: Hoare triple {4027#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4027#true} is VALID [2018-11-14 17:03:27,573 INFO L273 TraceCheckUtils]: 24: Hoare triple {4027#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4027#true} is VALID [2018-11-14 17:03:27,573 INFO L273 TraceCheckUtils]: 25: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,573 INFO L273 TraceCheckUtils]: 26: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,573 INFO L273 TraceCheckUtils]: 27: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,574 INFO L273 TraceCheckUtils]: 28: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,574 INFO L273 TraceCheckUtils]: 29: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,574 INFO L273 TraceCheckUtils]: 30: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,574 INFO L273 TraceCheckUtils]: 31: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,574 INFO L273 TraceCheckUtils]: 32: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,574 INFO L273 TraceCheckUtils]: 33: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,574 INFO L273 TraceCheckUtils]: 34: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,574 INFO L273 TraceCheckUtils]: 35: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,575 INFO L273 TraceCheckUtils]: 36: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,575 INFO L273 TraceCheckUtils]: 37: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,575 INFO L273 TraceCheckUtils]: 38: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,575 INFO L273 TraceCheckUtils]: 39: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,575 INFO L273 TraceCheckUtils]: 40: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,575 INFO L273 TraceCheckUtils]: 41: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,575 INFO L273 TraceCheckUtils]: 42: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,575 INFO L273 TraceCheckUtils]: 43: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,575 INFO L273 TraceCheckUtils]: 44: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,576 INFO L273 TraceCheckUtils]: 45: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,576 INFO L273 TraceCheckUtils]: 46: Hoare triple {4027#true} assume !(~i~0 < 5); {4027#true} is VALID [2018-11-14 17:03:27,576 INFO L273 TraceCheckUtils]: 47: Hoare triple {4027#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4027#true} is VALID [2018-11-14 17:03:27,576 INFO L273 TraceCheckUtils]: 48: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,576 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {4027#true} {4027#true} #78#return; {4027#true} is VALID [2018-11-14 17:03:27,576 INFO L273 TraceCheckUtils]: 50: Hoare triple {4027#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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,576 INFO L256 TraceCheckUtils]: 51: Hoare triple {4027#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4027#true} is VALID [2018-11-14 17:03:27,576 INFO L273 TraceCheckUtils]: 52: Hoare triple {4027#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4027#true} is VALID [2018-11-14 17:03:27,577 INFO L273 TraceCheckUtils]: 53: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,577 INFO L273 TraceCheckUtils]: 54: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,577 INFO L273 TraceCheckUtils]: 55: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,577 INFO L273 TraceCheckUtils]: 56: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,577 INFO L273 TraceCheckUtils]: 57: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,577 INFO L273 TraceCheckUtils]: 58: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,577 INFO L273 TraceCheckUtils]: 59: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,577 INFO L273 TraceCheckUtils]: 60: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,578 INFO L273 TraceCheckUtils]: 61: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,578 INFO L273 TraceCheckUtils]: 62: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,578 INFO L273 TraceCheckUtils]: 63: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,578 INFO L273 TraceCheckUtils]: 64: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,578 INFO L273 TraceCheckUtils]: 65: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,578 INFO L273 TraceCheckUtils]: 66: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,578 INFO L273 TraceCheckUtils]: 67: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,578 INFO L273 TraceCheckUtils]: 68: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,578 INFO L273 TraceCheckUtils]: 69: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,579 INFO L273 TraceCheckUtils]: 70: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,579 INFO L273 TraceCheckUtils]: 71: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,579 INFO L273 TraceCheckUtils]: 72: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,579 INFO L273 TraceCheckUtils]: 73: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,579 INFO L273 TraceCheckUtils]: 74: Hoare triple {4027#true} assume !(~i~0 < 5); {4027#true} is VALID [2018-11-14 17:03:27,579 INFO L273 TraceCheckUtils]: 75: Hoare triple {4027#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4027#true} is VALID [2018-11-14 17:03:27,579 INFO L273 TraceCheckUtils]: 76: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,579 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {4027#true} {4027#true} #80#return; {4027#true} is VALID [2018-11-14 17:03:27,580 INFO L273 TraceCheckUtils]: 78: Hoare triple {4027#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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {4029#(= main_~i~2 0)} is VALID [2018-11-14 17:03:27,581 INFO L273 TraceCheckUtils]: 79: Hoare triple {4029#(= main_~i~2 0)} assume true; {4029#(= main_~i~2 0)} is VALID [2018-11-14 17:03:27,581 INFO L273 TraceCheckUtils]: 80: Hoare triple {4029#(= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {4029#(= main_~i~2 0)} is VALID [2018-11-14 17:03:27,583 INFO L273 TraceCheckUtils]: 81: Hoare triple {4029#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4030#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:27,583 INFO L273 TraceCheckUtils]: 82: Hoare triple {4030#(<= main_~i~2 1)} assume true; {4030#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:27,583 INFO L273 TraceCheckUtils]: 83: Hoare triple {4030#(<= main_~i~2 1)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {4030#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:27,584 INFO L273 TraceCheckUtils]: 84: Hoare triple {4030#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4031#(<= main_~i~2 2)} is VALID [2018-11-14 17:03:27,584 INFO L273 TraceCheckUtils]: 85: Hoare triple {4031#(<= main_~i~2 2)} assume true; {4031#(<= main_~i~2 2)} is VALID [2018-11-14 17:03:27,584 INFO L273 TraceCheckUtils]: 86: Hoare triple {4031#(<= main_~i~2 2)} assume !(~i~2 < 4); {4028#false} is VALID [2018-11-14 17:03:27,585 INFO L273 TraceCheckUtils]: 87: Hoare triple {4028#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {4028#false} is VALID [2018-11-14 17:03:27,585 INFO L256 TraceCheckUtils]: 88: Hoare triple {4028#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4027#true} is VALID [2018-11-14 17:03:27,585 INFO L273 TraceCheckUtils]: 89: Hoare triple {4027#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4027#true} is VALID [2018-11-14 17:03:27,585 INFO L273 TraceCheckUtils]: 90: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,585 INFO L273 TraceCheckUtils]: 91: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,585 INFO L273 TraceCheckUtils]: 92: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,585 INFO L273 TraceCheckUtils]: 93: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,585 INFO L273 TraceCheckUtils]: 94: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,586 INFO L273 TraceCheckUtils]: 95: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,586 INFO L273 TraceCheckUtils]: 96: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,586 INFO L273 TraceCheckUtils]: 97: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,586 INFO L273 TraceCheckUtils]: 98: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,586 INFO L273 TraceCheckUtils]: 99: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,586 INFO L273 TraceCheckUtils]: 100: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,586 INFO L273 TraceCheckUtils]: 101: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,586 INFO L273 TraceCheckUtils]: 102: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,587 INFO L273 TraceCheckUtils]: 103: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,587 INFO L273 TraceCheckUtils]: 104: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,587 INFO L273 TraceCheckUtils]: 105: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,587 INFO L273 TraceCheckUtils]: 106: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,587 INFO L273 TraceCheckUtils]: 107: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,588 INFO L273 TraceCheckUtils]: 108: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,588 INFO L273 TraceCheckUtils]: 109: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,588 INFO L273 TraceCheckUtils]: 110: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,588 INFO L273 TraceCheckUtils]: 111: Hoare triple {4027#true} assume !(~i~0 < 5); {4027#true} is VALID [2018-11-14 17:03:27,588 INFO L273 TraceCheckUtils]: 112: Hoare triple {4027#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4027#true} is VALID [2018-11-14 17:03:27,589 INFO L273 TraceCheckUtils]: 113: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,589 INFO L268 TraceCheckUtils]: 114: Hoare quadruple {4027#true} {4028#false} #82#return; {4028#false} is VALID [2018-11-14 17:03:27,589 INFO L273 TraceCheckUtils]: 115: Hoare triple {4028#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4028#false} is VALID [2018-11-14 17:03:27,589 INFO L273 TraceCheckUtils]: 116: Hoare triple {4028#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4028#false} is VALID [2018-11-14 17:03:27,589 INFO L273 TraceCheckUtils]: 117: Hoare triple {4028#false} assume !false; {4028#false} is VALID [2018-11-14 17:03:27,594 INFO L134 CoverageAnalysis]: Checked inductivity of 575 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 568 trivial. 0 not checked. [2018-11-14 17:03:27,594 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:03:27,594 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-14 17:03:27,603 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:03:27,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:27,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:27,677 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:03:27,778 INFO L256 TraceCheckUtils]: 0: Hoare triple {4027#true} call ULTIMATE.init(); {4027#true} is VALID [2018-11-14 17:03:27,779 INFO L273 TraceCheckUtils]: 1: Hoare triple {4027#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4027#true} is VALID [2018-11-14 17:03:27,779 INFO L273 TraceCheckUtils]: 2: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,779 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4027#true} {4027#true} #74#return; {4027#true} is VALID [2018-11-14 17:03:27,779 INFO L256 TraceCheckUtils]: 4: Hoare triple {4027#true} call #t~ret14 := main(); {4027#true} is VALID [2018-11-14 17:03:27,780 INFO L273 TraceCheckUtils]: 5: Hoare triple {4027#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4027#true} is VALID [2018-11-14 17:03:27,780 INFO L273 TraceCheckUtils]: 6: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,780 INFO L273 TraceCheckUtils]: 7: Hoare triple {4027#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4027#true} is VALID [2018-11-14 17:03:27,780 INFO L273 TraceCheckUtils]: 8: Hoare triple {4027#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4027#true} is VALID [2018-11-14 17:03:27,780 INFO L273 TraceCheckUtils]: 9: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,781 INFO L273 TraceCheckUtils]: 10: Hoare triple {4027#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4027#true} is VALID [2018-11-14 17:03:27,781 INFO L273 TraceCheckUtils]: 11: Hoare triple {4027#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4027#true} is VALID [2018-11-14 17:03:27,781 INFO L273 TraceCheckUtils]: 12: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,781 INFO L273 TraceCheckUtils]: 13: Hoare triple {4027#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4027#true} is VALID [2018-11-14 17:03:27,781 INFO L273 TraceCheckUtils]: 14: Hoare triple {4027#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4027#true} is VALID [2018-11-14 17:03:27,782 INFO L273 TraceCheckUtils]: 15: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,782 INFO L273 TraceCheckUtils]: 16: Hoare triple {4027#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4027#true} is VALID [2018-11-14 17:03:27,782 INFO L273 TraceCheckUtils]: 17: Hoare triple {4027#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4027#true} is VALID [2018-11-14 17:03:27,782 INFO L273 TraceCheckUtils]: 18: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,782 INFO L273 TraceCheckUtils]: 19: Hoare triple {4027#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4027#true} is VALID [2018-11-14 17:03:27,782 INFO L273 TraceCheckUtils]: 20: Hoare triple {4027#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4027#true} is VALID [2018-11-14 17:03:27,782 INFO L273 TraceCheckUtils]: 21: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,783 INFO L273 TraceCheckUtils]: 22: Hoare triple {4027#true} assume !(~i~1 < 5); {4027#true} is VALID [2018-11-14 17:03:27,783 INFO L256 TraceCheckUtils]: 23: Hoare triple {4027#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4027#true} is VALID [2018-11-14 17:03:27,783 INFO L273 TraceCheckUtils]: 24: Hoare triple {4027#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4027#true} is VALID [2018-11-14 17:03:27,783 INFO L273 TraceCheckUtils]: 25: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,783 INFO L273 TraceCheckUtils]: 26: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,783 INFO L273 TraceCheckUtils]: 27: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,784 INFO L273 TraceCheckUtils]: 28: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,784 INFO L273 TraceCheckUtils]: 29: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,784 INFO L273 TraceCheckUtils]: 30: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,784 INFO L273 TraceCheckUtils]: 31: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,784 INFO L273 TraceCheckUtils]: 32: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,784 INFO L273 TraceCheckUtils]: 33: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,784 INFO L273 TraceCheckUtils]: 34: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,785 INFO L273 TraceCheckUtils]: 35: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,785 INFO L273 TraceCheckUtils]: 36: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,785 INFO L273 TraceCheckUtils]: 37: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,785 INFO L273 TraceCheckUtils]: 38: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,785 INFO L273 TraceCheckUtils]: 39: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,785 INFO L273 TraceCheckUtils]: 40: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,786 INFO L273 TraceCheckUtils]: 41: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,786 INFO L273 TraceCheckUtils]: 42: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,786 INFO L273 TraceCheckUtils]: 43: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,786 INFO L273 TraceCheckUtils]: 44: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,786 INFO L273 TraceCheckUtils]: 45: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,786 INFO L273 TraceCheckUtils]: 46: Hoare triple {4027#true} assume !(~i~0 < 5); {4027#true} is VALID [2018-11-14 17:03:27,786 INFO L273 TraceCheckUtils]: 47: Hoare triple {4027#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4027#true} is VALID [2018-11-14 17:03:27,787 INFO L273 TraceCheckUtils]: 48: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,787 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {4027#true} {4027#true} #78#return; {4027#true} is VALID [2018-11-14 17:03:27,787 INFO L273 TraceCheckUtils]: 50: Hoare triple {4027#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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,787 INFO L256 TraceCheckUtils]: 51: Hoare triple {4027#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4027#true} is VALID [2018-11-14 17:03:27,787 INFO L273 TraceCheckUtils]: 52: Hoare triple {4027#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4027#true} is VALID [2018-11-14 17:03:27,787 INFO L273 TraceCheckUtils]: 53: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,788 INFO L273 TraceCheckUtils]: 54: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,788 INFO L273 TraceCheckUtils]: 55: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,788 INFO L273 TraceCheckUtils]: 56: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,788 INFO L273 TraceCheckUtils]: 57: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,788 INFO L273 TraceCheckUtils]: 58: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,788 INFO L273 TraceCheckUtils]: 59: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,788 INFO L273 TraceCheckUtils]: 60: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,789 INFO L273 TraceCheckUtils]: 61: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,789 INFO L273 TraceCheckUtils]: 62: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,789 INFO L273 TraceCheckUtils]: 63: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,789 INFO L273 TraceCheckUtils]: 64: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,789 INFO L273 TraceCheckUtils]: 65: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,789 INFO L273 TraceCheckUtils]: 66: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,790 INFO L273 TraceCheckUtils]: 67: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,790 INFO L273 TraceCheckUtils]: 68: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,790 INFO L273 TraceCheckUtils]: 69: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,790 INFO L273 TraceCheckUtils]: 70: Hoare triple {4027#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4027#true} is VALID [2018-11-14 17:03:27,790 INFO L273 TraceCheckUtils]: 71: Hoare triple {4027#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4027#true} is VALID [2018-11-14 17:03:27,790 INFO L273 TraceCheckUtils]: 72: Hoare triple {4027#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4027#true} is VALID [2018-11-14 17:03:27,790 INFO L273 TraceCheckUtils]: 73: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,791 INFO L273 TraceCheckUtils]: 74: Hoare triple {4027#true} assume !(~i~0 < 5); {4027#true} is VALID [2018-11-14 17:03:27,791 INFO L273 TraceCheckUtils]: 75: Hoare triple {4027#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4027#true} is VALID [2018-11-14 17:03:27,791 INFO L273 TraceCheckUtils]: 76: Hoare triple {4027#true} assume true; {4027#true} is VALID [2018-11-14 17:03:27,791 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {4027#true} {4027#true} #80#return; {4027#true} is VALID [2018-11-14 17:03:27,793 INFO L273 TraceCheckUtils]: 78: Hoare triple {4027#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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {4269#(<= main_~i~2 0)} is VALID [2018-11-14 17:03:27,795 INFO L273 TraceCheckUtils]: 79: Hoare triple {4269#(<= main_~i~2 0)} assume true; {4269#(<= main_~i~2 0)} is VALID [2018-11-14 17:03:27,795 INFO L273 TraceCheckUtils]: 80: Hoare triple {4269#(<= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {4269#(<= main_~i~2 0)} is VALID [2018-11-14 17:03:27,797 INFO L273 TraceCheckUtils]: 81: Hoare triple {4269#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4030#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:27,797 INFO L273 TraceCheckUtils]: 82: Hoare triple {4030#(<= main_~i~2 1)} assume true; {4030#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:27,800 INFO L273 TraceCheckUtils]: 83: Hoare triple {4030#(<= main_~i~2 1)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {4030#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:27,800 INFO L273 TraceCheckUtils]: 84: Hoare triple {4030#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4031#(<= main_~i~2 2)} is VALID [2018-11-14 17:03:27,801 INFO L273 TraceCheckUtils]: 85: Hoare triple {4031#(<= main_~i~2 2)} assume true; {4031#(<= main_~i~2 2)} is VALID [2018-11-14 17:03:27,801 INFO L273 TraceCheckUtils]: 86: Hoare triple {4031#(<= main_~i~2 2)} assume !(~i~2 < 4); {4028#false} is VALID [2018-11-14 17:03:27,801 INFO L273 TraceCheckUtils]: 87: Hoare triple {4028#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {4028#false} is VALID [2018-11-14 17:03:27,801 INFO L256 TraceCheckUtils]: 88: Hoare triple {4028#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4028#false} is VALID [2018-11-14 17:03:27,802 INFO L273 TraceCheckUtils]: 89: Hoare triple {4028#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4028#false} is VALID [2018-11-14 17:03:27,802 INFO L273 TraceCheckUtils]: 90: Hoare triple {4028#false} assume true; {4028#false} is VALID [2018-11-14 17:03:27,802 INFO L273 TraceCheckUtils]: 91: Hoare triple {4028#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4028#false} is VALID [2018-11-14 17:03:27,802 INFO L273 TraceCheckUtils]: 92: Hoare triple {4028#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4028#false} is VALID [2018-11-14 17:03:27,802 INFO L273 TraceCheckUtils]: 93: Hoare triple {4028#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4028#false} is VALID [2018-11-14 17:03:27,802 INFO L273 TraceCheckUtils]: 94: Hoare triple {4028#false} assume true; {4028#false} is VALID [2018-11-14 17:03:27,802 INFO L273 TraceCheckUtils]: 95: Hoare triple {4028#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4028#false} is VALID [2018-11-14 17:03:27,803 INFO L273 TraceCheckUtils]: 96: Hoare triple {4028#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4028#false} is VALID [2018-11-14 17:03:27,803 INFO L273 TraceCheckUtils]: 97: Hoare triple {4028#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4028#false} is VALID [2018-11-14 17:03:27,803 INFO L273 TraceCheckUtils]: 98: Hoare triple {4028#false} assume true; {4028#false} is VALID [2018-11-14 17:03:27,803 INFO L273 TraceCheckUtils]: 99: Hoare triple {4028#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4028#false} is VALID [2018-11-14 17:03:27,803 INFO L273 TraceCheckUtils]: 100: Hoare triple {4028#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4028#false} is VALID [2018-11-14 17:03:27,803 INFO L273 TraceCheckUtils]: 101: Hoare triple {4028#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4028#false} is VALID [2018-11-14 17:03:27,804 INFO L273 TraceCheckUtils]: 102: Hoare triple {4028#false} assume true; {4028#false} is VALID [2018-11-14 17:03:27,804 INFO L273 TraceCheckUtils]: 103: Hoare triple {4028#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4028#false} is VALID [2018-11-14 17:03:27,804 INFO L273 TraceCheckUtils]: 104: Hoare triple {4028#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4028#false} is VALID [2018-11-14 17:03:27,804 INFO L273 TraceCheckUtils]: 105: Hoare triple {4028#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4028#false} is VALID [2018-11-14 17:03:27,804 INFO L273 TraceCheckUtils]: 106: Hoare triple {4028#false} assume true; {4028#false} is VALID [2018-11-14 17:03:27,804 INFO L273 TraceCheckUtils]: 107: Hoare triple {4028#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4028#false} is VALID [2018-11-14 17:03:27,804 INFO L273 TraceCheckUtils]: 108: Hoare triple {4028#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4028#false} is VALID [2018-11-14 17:03:27,805 INFO L273 TraceCheckUtils]: 109: Hoare triple {4028#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4028#false} is VALID [2018-11-14 17:03:27,805 INFO L273 TraceCheckUtils]: 110: Hoare triple {4028#false} assume true; {4028#false} is VALID [2018-11-14 17:03:27,805 INFO L273 TraceCheckUtils]: 111: Hoare triple {4028#false} assume !(~i~0 < 5); {4028#false} is VALID [2018-11-14 17:03:27,805 INFO L273 TraceCheckUtils]: 112: Hoare triple {4028#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4028#false} is VALID [2018-11-14 17:03:27,805 INFO L273 TraceCheckUtils]: 113: Hoare triple {4028#false} assume true; {4028#false} is VALID [2018-11-14 17:03:27,805 INFO L268 TraceCheckUtils]: 114: Hoare quadruple {4028#false} {4028#false} #82#return; {4028#false} is VALID [2018-11-14 17:03:27,806 INFO L273 TraceCheckUtils]: 115: Hoare triple {4028#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4028#false} is VALID [2018-11-14 17:03:27,806 INFO L273 TraceCheckUtils]: 116: Hoare triple {4028#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4028#false} is VALID [2018-11-14 17:03:27,806 INFO L273 TraceCheckUtils]: 117: Hoare triple {4028#false} assume !false; {4028#false} is VALID [2018-11-14 17:03:27,813 INFO L134 CoverageAnalysis]: Checked inductivity of 575 backedges. 252 proven. 7 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2018-11-14 17:03:27,833 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:03:27,833 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-14 17:03:27,834 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 118 [2018-11-14 17:03:27,835 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:03:27,835 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 17:03:27,883 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:03:27,884 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 17:03:27,884 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 17:03:27,884 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 17:03:27,884 INFO L87 Difference]: Start difference. First operand 67 states and 76 transitions. Second operand 6 states. [2018-11-14 17:03:28,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:28,068 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2018-11-14 17:03:28,069 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 17:03:28,069 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 118 [2018-11-14 17:03:28,069 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:03:28,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 17:03:28,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2018-11-14 17:03:28,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 17:03:28,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2018-11-14 17:03:28,072 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2018-11-14 17:03:28,210 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:03:28,213 INFO L225 Difference]: With dead ends: 103 [2018-11-14 17:03:28,214 INFO L226 Difference]: Without dead ends: 71 [2018-11-14 17:03:28,214 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 118 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 17:03:28,214 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2018-11-14 17:03:28,344 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 70. [2018-11-14 17:03:28,344 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:03:28,344 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 70 states. [2018-11-14 17:03:28,344 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 70 states. [2018-11-14 17:03:28,344 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 70 states. [2018-11-14 17:03:28,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:28,346 INFO L93 Difference]: Finished difference Result 71 states and 80 transitions. [2018-11-14 17:03:28,347 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 80 transitions. [2018-11-14 17:03:28,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:28,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:28,347 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 71 states. [2018-11-14 17:03:28,347 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 71 states. [2018-11-14 17:03:28,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:28,350 INFO L93 Difference]: Finished difference Result 71 states and 80 transitions. [2018-11-14 17:03:28,350 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 80 transitions. [2018-11-14 17:03:28,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:28,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:28,351 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:03:28,351 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:03:28,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 70 states. [2018-11-14 17:03:28,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 79 transitions. [2018-11-14 17:03:28,353 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 79 transitions. Word has length 118 [2018-11-14 17:03:28,354 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:03:28,354 INFO L480 AbstractCegarLoop]: Abstraction has 70 states and 79 transitions. [2018-11-14 17:03:28,354 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 17:03:28,354 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 79 transitions. [2018-11-14 17:03:28,355 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 122 [2018-11-14 17:03:28,355 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:28,356 INFO L375 BasicCegarLoop]: trace histogram [18, 15, 15, 15, 6, 5, 5, 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-14 17:03:28,356 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:28,356 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:28,356 INFO L82 PathProgramCache]: Analyzing trace with hash -912623041, now seen corresponding path program 8 times [2018-11-14 17:03:28,356 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:28,357 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:28,357 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:28,358 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:03:28,358 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:28,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:28,593 INFO L256 TraceCheckUtils]: 0: Hoare triple {4757#true} call ULTIMATE.init(); {4757#true} is VALID [2018-11-14 17:03:28,593 INFO L273 TraceCheckUtils]: 1: Hoare triple {4757#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4757#true} is VALID [2018-11-14 17:03:28,594 INFO L273 TraceCheckUtils]: 2: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,594 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4757#true} {4757#true} #74#return; {4757#true} is VALID [2018-11-14 17:03:28,594 INFO L256 TraceCheckUtils]: 4: Hoare triple {4757#true} call #t~ret14 := main(); {4757#true} is VALID [2018-11-14 17:03:28,594 INFO L273 TraceCheckUtils]: 5: Hoare triple {4757#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4757#true} is VALID [2018-11-14 17:03:28,595 INFO L273 TraceCheckUtils]: 6: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,595 INFO L273 TraceCheckUtils]: 7: Hoare triple {4757#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4757#true} is VALID [2018-11-14 17:03:28,595 INFO L273 TraceCheckUtils]: 8: Hoare triple {4757#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4757#true} is VALID [2018-11-14 17:03:28,595 INFO L273 TraceCheckUtils]: 9: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,596 INFO L273 TraceCheckUtils]: 10: Hoare triple {4757#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4757#true} is VALID [2018-11-14 17:03:28,596 INFO L273 TraceCheckUtils]: 11: Hoare triple {4757#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4757#true} is VALID [2018-11-14 17:03:28,596 INFO L273 TraceCheckUtils]: 12: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,596 INFO L273 TraceCheckUtils]: 13: Hoare triple {4757#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4757#true} is VALID [2018-11-14 17:03:28,596 INFO L273 TraceCheckUtils]: 14: Hoare triple {4757#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4757#true} is VALID [2018-11-14 17:03:28,596 INFO L273 TraceCheckUtils]: 15: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,597 INFO L273 TraceCheckUtils]: 16: Hoare triple {4757#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4757#true} is VALID [2018-11-14 17:03:28,597 INFO L273 TraceCheckUtils]: 17: Hoare triple {4757#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4757#true} is VALID [2018-11-14 17:03:28,597 INFO L273 TraceCheckUtils]: 18: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,597 INFO L273 TraceCheckUtils]: 19: Hoare triple {4757#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4757#true} is VALID [2018-11-14 17:03:28,597 INFO L273 TraceCheckUtils]: 20: Hoare triple {4757#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4757#true} is VALID [2018-11-14 17:03:28,597 INFO L273 TraceCheckUtils]: 21: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,597 INFO L273 TraceCheckUtils]: 22: Hoare triple {4757#true} assume !(~i~1 < 5); {4757#true} is VALID [2018-11-14 17:03:28,598 INFO L256 TraceCheckUtils]: 23: Hoare triple {4757#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4757#true} is VALID [2018-11-14 17:03:28,598 INFO L273 TraceCheckUtils]: 24: Hoare triple {4757#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4757#true} is VALID [2018-11-14 17:03:28,598 INFO L273 TraceCheckUtils]: 25: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,598 INFO L273 TraceCheckUtils]: 26: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,598 INFO L273 TraceCheckUtils]: 27: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,598 INFO L273 TraceCheckUtils]: 28: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,599 INFO L273 TraceCheckUtils]: 29: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,599 INFO L273 TraceCheckUtils]: 30: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,599 INFO L273 TraceCheckUtils]: 31: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,599 INFO L273 TraceCheckUtils]: 32: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,599 INFO L273 TraceCheckUtils]: 33: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,599 INFO L273 TraceCheckUtils]: 34: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,599 INFO L273 TraceCheckUtils]: 35: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,600 INFO L273 TraceCheckUtils]: 36: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,600 INFO L273 TraceCheckUtils]: 37: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,600 INFO L273 TraceCheckUtils]: 38: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,600 INFO L273 TraceCheckUtils]: 39: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,600 INFO L273 TraceCheckUtils]: 40: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,600 INFO L273 TraceCheckUtils]: 41: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,600 INFO L273 TraceCheckUtils]: 42: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,601 INFO L273 TraceCheckUtils]: 43: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,601 INFO L273 TraceCheckUtils]: 44: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,601 INFO L273 TraceCheckUtils]: 45: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,601 INFO L273 TraceCheckUtils]: 46: Hoare triple {4757#true} assume !(~i~0 < 5); {4757#true} is VALID [2018-11-14 17:03:28,601 INFO L273 TraceCheckUtils]: 47: Hoare triple {4757#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4757#true} is VALID [2018-11-14 17:03:28,601 INFO L273 TraceCheckUtils]: 48: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,602 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {4757#true} {4757#true} #78#return; {4757#true} is VALID [2018-11-14 17:03:28,602 INFO L273 TraceCheckUtils]: 50: Hoare triple {4757#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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,602 INFO L256 TraceCheckUtils]: 51: Hoare triple {4757#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4757#true} is VALID [2018-11-14 17:03:28,602 INFO L273 TraceCheckUtils]: 52: Hoare triple {4757#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4757#true} is VALID [2018-11-14 17:03:28,602 INFO L273 TraceCheckUtils]: 53: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,603 INFO L273 TraceCheckUtils]: 54: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,603 INFO L273 TraceCheckUtils]: 55: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,603 INFO L273 TraceCheckUtils]: 56: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,603 INFO L273 TraceCheckUtils]: 57: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,603 INFO L273 TraceCheckUtils]: 58: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,604 INFO L273 TraceCheckUtils]: 59: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,604 INFO L273 TraceCheckUtils]: 60: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,604 INFO L273 TraceCheckUtils]: 61: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,604 INFO L273 TraceCheckUtils]: 62: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,604 INFO L273 TraceCheckUtils]: 63: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,605 INFO L273 TraceCheckUtils]: 64: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,605 INFO L273 TraceCheckUtils]: 65: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,605 INFO L273 TraceCheckUtils]: 66: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,605 INFO L273 TraceCheckUtils]: 67: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,605 INFO L273 TraceCheckUtils]: 68: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,606 INFO L273 TraceCheckUtils]: 69: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,606 INFO L273 TraceCheckUtils]: 70: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,606 INFO L273 TraceCheckUtils]: 71: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,606 INFO L273 TraceCheckUtils]: 72: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,606 INFO L273 TraceCheckUtils]: 73: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,607 INFO L273 TraceCheckUtils]: 74: Hoare triple {4757#true} assume !(~i~0 < 5); {4757#true} is VALID [2018-11-14 17:03:28,607 INFO L273 TraceCheckUtils]: 75: Hoare triple {4757#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4757#true} is VALID [2018-11-14 17:03:28,607 INFO L273 TraceCheckUtils]: 76: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,607 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {4757#true} {4757#true} #80#return; {4757#true} is VALID [2018-11-14 17:03:28,620 INFO L273 TraceCheckUtils]: 78: Hoare triple {4757#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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {4759#(= main_~i~2 0)} is VALID [2018-11-14 17:03:28,622 INFO L273 TraceCheckUtils]: 79: Hoare triple {4759#(= main_~i~2 0)} assume true; {4759#(= main_~i~2 0)} is VALID [2018-11-14 17:03:28,623 INFO L273 TraceCheckUtils]: 80: Hoare triple {4759#(= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {4759#(= main_~i~2 0)} is VALID [2018-11-14 17:03:28,627 INFO L273 TraceCheckUtils]: 81: Hoare triple {4759#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4760#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:28,630 INFO L273 TraceCheckUtils]: 82: Hoare triple {4760#(<= main_~i~2 1)} assume true; {4760#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:28,630 INFO L273 TraceCheckUtils]: 83: Hoare triple {4760#(<= main_~i~2 1)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {4760#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:28,631 INFO L273 TraceCheckUtils]: 84: Hoare triple {4760#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4761#(<= main_~i~2 2)} is VALID [2018-11-14 17:03:28,631 INFO L273 TraceCheckUtils]: 85: Hoare triple {4761#(<= main_~i~2 2)} assume true; {4761#(<= main_~i~2 2)} is VALID [2018-11-14 17:03:28,631 INFO L273 TraceCheckUtils]: 86: Hoare triple {4761#(<= main_~i~2 2)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {4761#(<= main_~i~2 2)} is VALID [2018-11-14 17:03:28,632 INFO L273 TraceCheckUtils]: 87: Hoare triple {4761#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4762#(<= main_~i~2 3)} is VALID [2018-11-14 17:03:28,632 INFO L273 TraceCheckUtils]: 88: Hoare triple {4762#(<= main_~i~2 3)} assume true; {4762#(<= main_~i~2 3)} is VALID [2018-11-14 17:03:28,633 INFO L273 TraceCheckUtils]: 89: Hoare triple {4762#(<= main_~i~2 3)} assume !(~i~2 < 4); {4758#false} is VALID [2018-11-14 17:03:28,633 INFO L273 TraceCheckUtils]: 90: Hoare triple {4758#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {4758#false} is VALID [2018-11-14 17:03:28,633 INFO L256 TraceCheckUtils]: 91: Hoare triple {4758#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4757#true} is VALID [2018-11-14 17:03:28,633 INFO L273 TraceCheckUtils]: 92: Hoare triple {4757#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4757#true} is VALID [2018-11-14 17:03:28,633 INFO L273 TraceCheckUtils]: 93: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,634 INFO L273 TraceCheckUtils]: 94: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,634 INFO L273 TraceCheckUtils]: 95: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,634 INFO L273 TraceCheckUtils]: 96: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,634 INFO L273 TraceCheckUtils]: 97: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,635 INFO L273 TraceCheckUtils]: 98: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,635 INFO L273 TraceCheckUtils]: 99: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,635 INFO L273 TraceCheckUtils]: 100: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,635 INFO L273 TraceCheckUtils]: 101: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,636 INFO L273 TraceCheckUtils]: 102: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,636 INFO L273 TraceCheckUtils]: 103: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,636 INFO L273 TraceCheckUtils]: 104: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,636 INFO L273 TraceCheckUtils]: 105: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,636 INFO L273 TraceCheckUtils]: 106: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,636 INFO L273 TraceCheckUtils]: 107: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,636 INFO L273 TraceCheckUtils]: 108: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,637 INFO L273 TraceCheckUtils]: 109: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,637 INFO L273 TraceCheckUtils]: 110: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,637 INFO L273 TraceCheckUtils]: 111: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,637 INFO L273 TraceCheckUtils]: 112: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,637 INFO L273 TraceCheckUtils]: 113: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,637 INFO L273 TraceCheckUtils]: 114: Hoare triple {4757#true} assume !(~i~0 < 5); {4757#true} is VALID [2018-11-14 17:03:28,638 INFO L273 TraceCheckUtils]: 115: Hoare triple {4757#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4757#true} is VALID [2018-11-14 17:03:28,638 INFO L273 TraceCheckUtils]: 116: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,638 INFO L268 TraceCheckUtils]: 117: Hoare quadruple {4757#true} {4758#false} #82#return; {4758#false} is VALID [2018-11-14 17:03:28,638 INFO L273 TraceCheckUtils]: 118: Hoare triple {4758#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4758#false} is VALID [2018-11-14 17:03:28,638 INFO L273 TraceCheckUtils]: 119: Hoare triple {4758#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4758#false} is VALID [2018-11-14 17:03:28,638 INFO L273 TraceCheckUtils]: 120: Hoare triple {4758#false} assume !false; {4758#false} is VALID [2018-11-14 17:03:28,651 INFO L134 CoverageAnalysis]: Checked inductivity of 583 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 568 trivial. 0 not checked. [2018-11-14 17:03:28,651 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:03:28,651 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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-14 17:03:28,660 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 17:03:28,731 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 17:03:28,731 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 17:03:28,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:28,771 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:03:28,995 INFO L256 TraceCheckUtils]: 0: Hoare triple {4757#true} call ULTIMATE.init(); {4757#true} is VALID [2018-11-14 17:03:28,995 INFO L273 TraceCheckUtils]: 1: Hoare triple {4757#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4757#true} is VALID [2018-11-14 17:03:28,995 INFO L273 TraceCheckUtils]: 2: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,995 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4757#true} {4757#true} #74#return; {4757#true} is VALID [2018-11-14 17:03:28,996 INFO L256 TraceCheckUtils]: 4: Hoare triple {4757#true} call #t~ret14 := main(); {4757#true} is VALID [2018-11-14 17:03:28,996 INFO L273 TraceCheckUtils]: 5: Hoare triple {4757#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4757#true} is VALID [2018-11-14 17:03:28,996 INFO L273 TraceCheckUtils]: 6: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,996 INFO L273 TraceCheckUtils]: 7: Hoare triple {4757#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4757#true} is VALID [2018-11-14 17:03:28,996 INFO L273 TraceCheckUtils]: 8: Hoare triple {4757#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4757#true} is VALID [2018-11-14 17:03:28,996 INFO L273 TraceCheckUtils]: 9: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,996 INFO L273 TraceCheckUtils]: 10: Hoare triple {4757#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4757#true} is VALID [2018-11-14 17:03:28,997 INFO L273 TraceCheckUtils]: 11: Hoare triple {4757#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4757#true} is VALID [2018-11-14 17:03:28,997 INFO L273 TraceCheckUtils]: 12: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,997 INFO L273 TraceCheckUtils]: 13: Hoare triple {4757#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4757#true} is VALID [2018-11-14 17:03:28,997 INFO L273 TraceCheckUtils]: 14: Hoare triple {4757#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4757#true} is VALID [2018-11-14 17:03:28,997 INFO L273 TraceCheckUtils]: 15: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,997 INFO L273 TraceCheckUtils]: 16: Hoare triple {4757#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4757#true} is VALID [2018-11-14 17:03:28,998 INFO L273 TraceCheckUtils]: 17: Hoare triple {4757#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4757#true} is VALID [2018-11-14 17:03:28,998 INFO L273 TraceCheckUtils]: 18: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,998 INFO L273 TraceCheckUtils]: 19: Hoare triple {4757#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4757#true} is VALID [2018-11-14 17:03:28,998 INFO L273 TraceCheckUtils]: 20: Hoare triple {4757#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4757#true} is VALID [2018-11-14 17:03:28,998 INFO L273 TraceCheckUtils]: 21: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,998 INFO L273 TraceCheckUtils]: 22: Hoare triple {4757#true} assume !(~i~1 < 5); {4757#true} is VALID [2018-11-14 17:03:28,998 INFO L256 TraceCheckUtils]: 23: Hoare triple {4757#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4757#true} is VALID [2018-11-14 17:03:28,999 INFO L273 TraceCheckUtils]: 24: Hoare triple {4757#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4757#true} is VALID [2018-11-14 17:03:28,999 INFO L273 TraceCheckUtils]: 25: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,999 INFO L273 TraceCheckUtils]: 26: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:28,999 INFO L273 TraceCheckUtils]: 27: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:28,999 INFO L273 TraceCheckUtils]: 28: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:28,999 INFO L273 TraceCheckUtils]: 29: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:28,999 INFO L273 TraceCheckUtils]: 30: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:29,000 INFO L273 TraceCheckUtils]: 31: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:29,000 INFO L273 TraceCheckUtils]: 32: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:29,000 INFO L273 TraceCheckUtils]: 33: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:29,000 INFO L273 TraceCheckUtils]: 34: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:29,000 INFO L273 TraceCheckUtils]: 35: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:29,000 INFO L273 TraceCheckUtils]: 36: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:29,001 INFO L273 TraceCheckUtils]: 37: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:29,001 INFO L273 TraceCheckUtils]: 38: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:29,001 INFO L273 TraceCheckUtils]: 39: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:29,001 INFO L273 TraceCheckUtils]: 40: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:29,001 INFO L273 TraceCheckUtils]: 41: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:29,001 INFO L273 TraceCheckUtils]: 42: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:29,001 INFO L273 TraceCheckUtils]: 43: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:29,002 INFO L273 TraceCheckUtils]: 44: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:29,002 INFO L273 TraceCheckUtils]: 45: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:29,002 INFO L273 TraceCheckUtils]: 46: Hoare triple {4757#true} assume !(~i~0 < 5); {4757#true} is VALID [2018-11-14 17:03:29,002 INFO L273 TraceCheckUtils]: 47: Hoare triple {4757#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4757#true} is VALID [2018-11-14 17:03:29,002 INFO L273 TraceCheckUtils]: 48: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:29,002 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {4757#true} {4757#true} #78#return; {4757#true} is VALID [2018-11-14 17:03:29,003 INFO L273 TraceCheckUtils]: 50: Hoare triple {4757#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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {4757#true} is VALID [2018-11-14 17:03:29,003 INFO L256 TraceCheckUtils]: 51: Hoare triple {4757#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4757#true} is VALID [2018-11-14 17:03:29,003 INFO L273 TraceCheckUtils]: 52: Hoare triple {4757#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4757#true} is VALID [2018-11-14 17:03:29,003 INFO L273 TraceCheckUtils]: 53: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:29,003 INFO L273 TraceCheckUtils]: 54: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:29,003 INFO L273 TraceCheckUtils]: 55: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:29,004 INFO L273 TraceCheckUtils]: 56: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:29,004 INFO L273 TraceCheckUtils]: 57: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:29,004 INFO L273 TraceCheckUtils]: 58: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:29,004 INFO L273 TraceCheckUtils]: 59: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:29,004 INFO L273 TraceCheckUtils]: 60: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:29,004 INFO L273 TraceCheckUtils]: 61: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:29,004 INFO L273 TraceCheckUtils]: 62: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:29,005 INFO L273 TraceCheckUtils]: 63: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:29,005 INFO L273 TraceCheckUtils]: 64: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:29,005 INFO L273 TraceCheckUtils]: 65: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:29,005 INFO L273 TraceCheckUtils]: 66: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:29,005 INFO L273 TraceCheckUtils]: 67: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:29,005 INFO L273 TraceCheckUtils]: 68: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:29,005 INFO L273 TraceCheckUtils]: 69: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:29,006 INFO L273 TraceCheckUtils]: 70: Hoare triple {4757#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4757#true} is VALID [2018-11-14 17:03:29,006 INFO L273 TraceCheckUtils]: 71: Hoare triple {4757#true} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4757#true} is VALID [2018-11-14 17:03:29,006 INFO L273 TraceCheckUtils]: 72: Hoare triple {4757#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4757#true} is VALID [2018-11-14 17:03:29,006 INFO L273 TraceCheckUtils]: 73: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:29,006 INFO L273 TraceCheckUtils]: 74: Hoare triple {4757#true} assume !(~i~0 < 5); {4757#true} is VALID [2018-11-14 17:03:29,006 INFO L273 TraceCheckUtils]: 75: Hoare triple {4757#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4757#true} is VALID [2018-11-14 17:03:29,006 INFO L273 TraceCheckUtils]: 76: Hoare triple {4757#true} assume true; {4757#true} is VALID [2018-11-14 17:03:29,007 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {4757#true} {4757#true} #80#return; {4757#true} is VALID [2018-11-14 17:03:29,007 INFO L273 TraceCheckUtils]: 78: Hoare triple {4757#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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {5000#(<= main_~i~2 0)} is VALID [2018-11-14 17:03:29,012 INFO L273 TraceCheckUtils]: 79: Hoare triple {5000#(<= main_~i~2 0)} assume true; {5000#(<= main_~i~2 0)} is VALID [2018-11-14 17:03:29,014 INFO L273 TraceCheckUtils]: 80: Hoare triple {5000#(<= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5000#(<= main_~i~2 0)} is VALID [2018-11-14 17:03:29,014 INFO L273 TraceCheckUtils]: 81: Hoare triple {5000#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4760#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:29,016 INFO L273 TraceCheckUtils]: 82: Hoare triple {4760#(<= main_~i~2 1)} assume true; {4760#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:29,016 INFO L273 TraceCheckUtils]: 83: Hoare triple {4760#(<= main_~i~2 1)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {4760#(<= main_~i~2 1)} is VALID [2018-11-14 17:03:29,017 INFO L273 TraceCheckUtils]: 84: Hoare triple {4760#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4761#(<= main_~i~2 2)} is VALID [2018-11-14 17:03:29,018 INFO L273 TraceCheckUtils]: 85: Hoare triple {4761#(<= main_~i~2 2)} assume true; {4761#(<= main_~i~2 2)} is VALID [2018-11-14 17:03:29,018 INFO L273 TraceCheckUtils]: 86: Hoare triple {4761#(<= main_~i~2 2)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {4761#(<= main_~i~2 2)} is VALID [2018-11-14 17:03:29,020 INFO L273 TraceCheckUtils]: 87: Hoare triple {4761#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4762#(<= main_~i~2 3)} is VALID [2018-11-14 17:03:29,020 INFO L273 TraceCheckUtils]: 88: Hoare triple {4762#(<= main_~i~2 3)} assume true; {4762#(<= main_~i~2 3)} is VALID [2018-11-14 17:03:29,022 INFO L273 TraceCheckUtils]: 89: Hoare triple {4762#(<= main_~i~2 3)} assume !(~i~2 < 4); {4758#false} is VALID [2018-11-14 17:03:29,022 INFO L273 TraceCheckUtils]: 90: Hoare triple {4758#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {4758#false} is VALID [2018-11-14 17:03:29,022 INFO L256 TraceCheckUtils]: 91: Hoare triple {4758#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4758#false} is VALID [2018-11-14 17:03:29,023 INFO L273 TraceCheckUtils]: 92: Hoare triple {4758#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {4758#false} is VALID [2018-11-14 17:03:29,023 INFO L273 TraceCheckUtils]: 93: Hoare triple {4758#false} assume true; {4758#false} is VALID [2018-11-14 17:03:29,023 INFO L273 TraceCheckUtils]: 94: Hoare triple {4758#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4758#false} is VALID [2018-11-14 17:03:29,023 INFO L273 TraceCheckUtils]: 95: Hoare triple {4758#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4758#false} is VALID [2018-11-14 17:03:29,024 INFO L273 TraceCheckUtils]: 96: Hoare triple {4758#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4758#false} is VALID [2018-11-14 17:03:29,024 INFO L273 TraceCheckUtils]: 97: Hoare triple {4758#false} assume true; {4758#false} is VALID [2018-11-14 17:03:29,024 INFO L273 TraceCheckUtils]: 98: Hoare triple {4758#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4758#false} is VALID [2018-11-14 17:03:29,024 INFO L273 TraceCheckUtils]: 99: Hoare triple {4758#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4758#false} is VALID [2018-11-14 17:03:29,025 INFO L273 TraceCheckUtils]: 100: Hoare triple {4758#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4758#false} is VALID [2018-11-14 17:03:29,025 INFO L273 TraceCheckUtils]: 101: Hoare triple {4758#false} assume true; {4758#false} is VALID [2018-11-14 17:03:29,025 INFO L273 TraceCheckUtils]: 102: Hoare triple {4758#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4758#false} is VALID [2018-11-14 17:03:29,025 INFO L273 TraceCheckUtils]: 103: Hoare triple {4758#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4758#false} is VALID [2018-11-14 17:03:29,025 INFO L273 TraceCheckUtils]: 104: Hoare triple {4758#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4758#false} is VALID [2018-11-14 17:03:29,025 INFO L273 TraceCheckUtils]: 105: Hoare triple {4758#false} assume true; {4758#false} is VALID [2018-11-14 17:03:29,025 INFO L273 TraceCheckUtils]: 106: Hoare triple {4758#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4758#false} is VALID [2018-11-14 17:03:29,026 INFO L273 TraceCheckUtils]: 107: Hoare triple {4758#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4758#false} is VALID [2018-11-14 17:03:29,026 INFO L273 TraceCheckUtils]: 108: Hoare triple {4758#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4758#false} is VALID [2018-11-14 17:03:29,026 INFO L273 TraceCheckUtils]: 109: Hoare triple {4758#false} assume true; {4758#false} is VALID [2018-11-14 17:03:29,026 INFO L273 TraceCheckUtils]: 110: Hoare triple {4758#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4758#false} is VALID [2018-11-14 17:03:29,026 INFO L273 TraceCheckUtils]: 111: Hoare triple {4758#false} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {4758#false} is VALID [2018-11-14 17:03:29,026 INFO L273 TraceCheckUtils]: 112: Hoare triple {4758#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4758#false} is VALID [2018-11-14 17:03:29,026 INFO L273 TraceCheckUtils]: 113: Hoare triple {4758#false} assume true; {4758#false} is VALID [2018-11-14 17:03:29,027 INFO L273 TraceCheckUtils]: 114: Hoare triple {4758#false} assume !(~i~0 < 5); {4758#false} is VALID [2018-11-14 17:03:29,027 INFO L273 TraceCheckUtils]: 115: Hoare triple {4758#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4758#false} is VALID [2018-11-14 17:03:29,027 INFO L273 TraceCheckUtils]: 116: Hoare triple {4758#false} assume true; {4758#false} is VALID [2018-11-14 17:03:29,027 INFO L268 TraceCheckUtils]: 117: Hoare quadruple {4758#false} {4758#false} #82#return; {4758#false} is VALID [2018-11-14 17:03:29,027 INFO L273 TraceCheckUtils]: 118: Hoare triple {4758#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4758#false} is VALID [2018-11-14 17:03:29,027 INFO L273 TraceCheckUtils]: 119: Hoare triple {4758#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4758#false} is VALID [2018-11-14 17:03:29,028 INFO L273 TraceCheckUtils]: 120: Hoare triple {4758#false} assume !false; {4758#false} is VALID [2018-11-14 17:03:29,040 INFO L134 CoverageAnalysis]: Checked inductivity of 583 backedges. 252 proven. 15 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2018-11-14 17:03:29,060 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:03:29,060 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2018-11-14 17:03:29,061 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 121 [2018-11-14 17:03:29,061 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:03:29,061 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-14 17:03:29,174 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:03:29,174 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-14 17:03:29,175 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-14 17:03:29,175 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 17:03:29,175 INFO L87 Difference]: Start difference. First operand 70 states and 79 transitions. Second operand 7 states. [2018-11-14 17:03:29,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:29,461 INFO L93 Difference]: Finished difference Result 105 states and 120 transitions. [2018-11-14 17:03:29,461 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 17:03:29,461 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 121 [2018-11-14 17:03:29,462 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:03:29,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 17:03:29,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 62 transitions. [2018-11-14 17:03:29,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 17:03:29,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 62 transitions. [2018-11-14 17:03:29,465 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 62 transitions. [2018-11-14 17:03:29,673 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:03:29,675 INFO L225 Difference]: With dead ends: 105 [2018-11-14 17:03:29,675 INFO L226 Difference]: Without dead ends: 73 [2018-11-14 17:03:29,675 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 121 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 17:03:29,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2018-11-14 17:03:29,715 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 73. [2018-11-14 17:03:29,715 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:03:29,716 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 73 states. [2018-11-14 17:03:29,716 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 73 states. [2018-11-14 17:03:29,716 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 73 states. [2018-11-14 17:03:29,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:29,718 INFO L93 Difference]: Finished difference Result 73 states and 82 transitions. [2018-11-14 17:03:29,719 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 82 transitions. [2018-11-14 17:03:29,719 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:29,719 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:29,719 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 73 states. [2018-11-14 17:03:29,720 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 73 states. [2018-11-14 17:03:29,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:29,722 INFO L93 Difference]: Finished difference Result 73 states and 82 transitions. [2018-11-14 17:03:29,722 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 82 transitions. [2018-11-14 17:03:29,722 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:29,722 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:29,723 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:03:29,723 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:03:29,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 73 states. [2018-11-14 17:03:29,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 82 transitions. [2018-11-14 17:03:29,725 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 82 transitions. Word has length 121 [2018-11-14 17:03:29,725 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:03:29,725 INFO L480 AbstractCegarLoop]: Abstraction has 73 states and 82 transitions. [2018-11-14 17:03:29,725 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-14 17:03:29,725 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 82 transitions. [2018-11-14 17:03:29,726 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2018-11-14 17:03:29,726 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:29,727 INFO L375 BasicCegarLoop]: trace histogram [18, 15, 15, 15, 6, 5, 5, 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-14 17:03:29,727 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:29,727 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:29,727 INFO L82 PathProgramCache]: Analyzing trace with hash -155594742, now seen corresponding path program 9 times [2018-11-14 17:03:29,727 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:29,727 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:29,728 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:29,728 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 17:03:29,728 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:29,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:30,812 INFO L256 TraceCheckUtils]: 0: Hoare triple {5508#true} call ULTIMATE.init(); {5508#true} is VALID [2018-11-14 17:03:30,813 INFO L273 TraceCheckUtils]: 1: Hoare triple {5508#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5508#true} is VALID [2018-11-14 17:03:30,813 INFO L273 TraceCheckUtils]: 2: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:30,813 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5508#true} {5508#true} #74#return; {5508#true} is VALID [2018-11-14 17:03:30,814 INFO L256 TraceCheckUtils]: 4: Hoare triple {5508#true} call #t~ret14 := main(); {5508#true} is VALID [2018-11-14 17:03:30,814 INFO L273 TraceCheckUtils]: 5: Hoare triple {5508#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {5508#true} is VALID [2018-11-14 17:03:30,814 INFO L273 TraceCheckUtils]: 6: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:30,814 INFO L273 TraceCheckUtils]: 7: Hoare triple {5508#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5508#true} is VALID [2018-11-14 17:03:30,814 INFO L273 TraceCheckUtils]: 8: Hoare triple {5508#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5508#true} is VALID [2018-11-14 17:03:30,815 INFO L273 TraceCheckUtils]: 9: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:30,815 INFO L273 TraceCheckUtils]: 10: Hoare triple {5508#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5508#true} is VALID [2018-11-14 17:03:30,815 INFO L273 TraceCheckUtils]: 11: Hoare triple {5508#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5508#true} is VALID [2018-11-14 17:03:30,815 INFO L273 TraceCheckUtils]: 12: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:30,815 INFO L273 TraceCheckUtils]: 13: Hoare triple {5508#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5508#true} is VALID [2018-11-14 17:03:30,816 INFO L273 TraceCheckUtils]: 14: Hoare triple {5508#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5508#true} is VALID [2018-11-14 17:03:30,816 INFO L273 TraceCheckUtils]: 15: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:30,816 INFO L273 TraceCheckUtils]: 16: Hoare triple {5508#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5508#true} is VALID [2018-11-14 17:03:30,816 INFO L273 TraceCheckUtils]: 17: Hoare triple {5508#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5508#true} is VALID [2018-11-14 17:03:30,816 INFO L273 TraceCheckUtils]: 18: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:30,816 INFO L273 TraceCheckUtils]: 19: Hoare triple {5508#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5508#true} is VALID [2018-11-14 17:03:30,816 INFO L273 TraceCheckUtils]: 20: Hoare triple {5508#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5508#true} is VALID [2018-11-14 17:03:30,816 INFO L273 TraceCheckUtils]: 21: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:30,817 INFO L273 TraceCheckUtils]: 22: Hoare triple {5508#true} assume !(~i~1 < 5); {5508#true} is VALID [2018-11-14 17:03:30,817 INFO L256 TraceCheckUtils]: 23: Hoare triple {5508#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {5508#true} is VALID [2018-11-14 17:03:30,817 INFO L273 TraceCheckUtils]: 24: Hoare triple {5508#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:30,818 INFO L273 TraceCheckUtils]: 25: Hoare triple {5510#(= 0 sep_~ret~0)} assume true; {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:30,818 INFO L273 TraceCheckUtils]: 26: Hoare triple {5510#(= 0 sep_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:30,818 INFO L273 TraceCheckUtils]: 27: Hoare triple {5510#(= 0 sep_~ret~0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:30,819 INFO L273 TraceCheckUtils]: 28: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:30,819 INFO L273 TraceCheckUtils]: 29: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume true; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:30,819 INFO L273 TraceCheckUtils]: 30: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:30,820 INFO L273 TraceCheckUtils]: 31: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:30,821 INFO L273 TraceCheckUtils]: 32: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:30,821 INFO L273 TraceCheckUtils]: 33: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume true; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:30,822 INFO L273 TraceCheckUtils]: 34: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:30,823 INFO L273 TraceCheckUtils]: 35: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:30,824 INFO L273 TraceCheckUtils]: 36: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:30,824 INFO L273 TraceCheckUtils]: 37: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume true; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:30,825 INFO L273 TraceCheckUtils]: 38: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:30,826 INFO L273 TraceCheckUtils]: 39: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:30,827 INFO L273 TraceCheckUtils]: 40: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:30,828 INFO L273 TraceCheckUtils]: 41: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume true; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:30,828 INFO L273 TraceCheckUtils]: 42: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:30,830 INFO L273 TraceCheckUtils]: 43: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:30,830 INFO L273 TraceCheckUtils]: 44: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:30,831 INFO L273 TraceCheckUtils]: 45: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume true; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:30,832 INFO L273 TraceCheckUtils]: 46: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !(~i~0 < 5); {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:30,833 INFO L273 TraceCheckUtils]: 47: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5516#(= (+ |sep_#res| 5) 0)} is VALID [2018-11-14 17:03:30,834 INFO L273 TraceCheckUtils]: 48: Hoare triple {5516#(= (+ |sep_#res| 5) 0)} assume true; {5516#(= (+ |sep_#res| 5) 0)} is VALID [2018-11-14 17:03:30,835 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {5516#(= (+ |sep_#res| 5) 0)} {5508#true} #78#return; {5517#(= (+ |main_#t~ret6| 5) 0)} is VALID [2018-11-14 17:03:30,836 INFO L273 TraceCheckUtils]: 50: Hoare triple {5517#(= (+ |main_#t~ret6| 5) 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {5518#(= (+ main_~ret~1 5) 0)} is VALID [2018-11-14 17:03:30,836 INFO L256 TraceCheckUtils]: 51: Hoare triple {5518#(= (+ main_~ret~1 5) 0)} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {5508#true} is VALID [2018-11-14 17:03:30,837 INFO L273 TraceCheckUtils]: 52: Hoare triple {5508#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:30,837 INFO L273 TraceCheckUtils]: 53: Hoare triple {5510#(= 0 sep_~ret~0)} assume true; {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:30,838 INFO L273 TraceCheckUtils]: 54: Hoare triple {5510#(= 0 sep_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:30,839 INFO L273 TraceCheckUtils]: 55: Hoare triple {5510#(= 0 sep_~ret~0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:30,839 INFO L273 TraceCheckUtils]: 56: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:30,840 INFO L273 TraceCheckUtils]: 57: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume true; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:30,841 INFO L273 TraceCheckUtils]: 58: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:30,842 INFO L273 TraceCheckUtils]: 59: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:30,842 INFO L273 TraceCheckUtils]: 60: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:30,843 INFO L273 TraceCheckUtils]: 61: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume true; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:30,844 INFO L273 TraceCheckUtils]: 62: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:30,845 INFO L273 TraceCheckUtils]: 63: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:30,846 INFO L273 TraceCheckUtils]: 64: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:30,847 INFO L273 TraceCheckUtils]: 65: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume true; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:30,847 INFO L273 TraceCheckUtils]: 66: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:30,850 INFO L273 TraceCheckUtils]: 67: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:30,850 INFO L273 TraceCheckUtils]: 68: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:30,851 INFO L273 TraceCheckUtils]: 69: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume true; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:30,852 INFO L273 TraceCheckUtils]: 70: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:30,853 INFO L273 TraceCheckUtils]: 71: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:30,854 INFO L273 TraceCheckUtils]: 72: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:30,854 INFO L273 TraceCheckUtils]: 73: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume true; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:30,855 INFO L273 TraceCheckUtils]: 74: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !(~i~0 < 5); {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:30,857 INFO L273 TraceCheckUtils]: 75: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5516#(= (+ |sep_#res| 5) 0)} is VALID [2018-11-14 17:03:30,857 INFO L273 TraceCheckUtils]: 76: Hoare triple {5516#(= (+ |sep_#res| 5) 0)} assume true; {5516#(= (+ |sep_#res| 5) 0)} is VALID [2018-11-14 17:03:30,859 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {5516#(= (+ |sep_#res| 5) 0)} {5518#(= (+ main_~ret~1 5) 0)} #80#return; {5519#(and (<= 0 (+ |main_#t~ret9| 5)) (<= (+ |main_#t~ret9| 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,860 INFO L273 TraceCheckUtils]: 78: Hoare triple {5519#(and (<= 0 (+ |main_#t~ret9| 5)) (<= (+ |main_#t~ret9| 5) 0) (= (+ main_~ret~1 5) 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,860 INFO L273 TraceCheckUtils]: 79: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume true; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,863 INFO L273 TraceCheckUtils]: 80: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,864 INFO L273 TraceCheckUtils]: 81: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,864 INFO L273 TraceCheckUtils]: 82: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume true; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,865 INFO L273 TraceCheckUtils]: 83: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,865 INFO L273 TraceCheckUtils]: 84: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,865 INFO L273 TraceCheckUtils]: 85: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume true; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,866 INFO L273 TraceCheckUtils]: 86: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,867 INFO L273 TraceCheckUtils]: 87: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,867 INFO L273 TraceCheckUtils]: 88: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume true; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,868 INFO L273 TraceCheckUtils]: 89: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,869 INFO L273 TraceCheckUtils]: 90: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,870 INFO L273 TraceCheckUtils]: 91: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume true; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,870 INFO L273 TraceCheckUtils]: 92: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume !(~i~2 < 4); {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,871 INFO L273 TraceCheckUtils]: 93: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:30,871 INFO L256 TraceCheckUtils]: 94: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {5508#true} is VALID [2018-11-14 17:03:30,872 INFO L273 TraceCheckUtils]: 95: Hoare triple {5508#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:30,873 INFO L273 TraceCheckUtils]: 96: Hoare triple {5510#(= 0 sep_~ret~0)} assume true; {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:30,873 INFO L273 TraceCheckUtils]: 97: Hoare triple {5510#(= 0 sep_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:30,874 INFO L273 TraceCheckUtils]: 98: Hoare triple {5510#(= 0 sep_~ret~0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:30,875 INFO L273 TraceCheckUtils]: 99: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:30,875 INFO L273 TraceCheckUtils]: 100: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume true; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:30,876 INFO L273 TraceCheckUtils]: 101: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:30,877 INFO L273 TraceCheckUtils]: 102: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:30,877 INFO L273 TraceCheckUtils]: 103: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:30,878 INFO L273 TraceCheckUtils]: 104: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume true; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:30,879 INFO L273 TraceCheckUtils]: 105: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:30,880 INFO L273 TraceCheckUtils]: 106: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:30,881 INFO L273 TraceCheckUtils]: 107: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:30,881 INFO L273 TraceCheckUtils]: 108: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume true; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:30,882 INFO L273 TraceCheckUtils]: 109: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:30,883 INFO L273 TraceCheckUtils]: 110: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:30,884 INFO L273 TraceCheckUtils]: 111: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:30,885 INFO L273 TraceCheckUtils]: 112: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume true; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:30,885 INFO L273 TraceCheckUtils]: 113: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:30,886 INFO L273 TraceCheckUtils]: 114: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:30,887 INFO L273 TraceCheckUtils]: 115: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:30,888 INFO L273 TraceCheckUtils]: 116: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume true; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:30,888 INFO L273 TraceCheckUtils]: 117: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !(~i~0 < 5); {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:30,890 INFO L273 TraceCheckUtils]: 118: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5516#(= (+ |sep_#res| 5) 0)} is VALID [2018-11-14 17:03:30,891 INFO L273 TraceCheckUtils]: 119: Hoare triple {5516#(= (+ |sep_#res| 5) 0)} assume true; {5516#(= (+ |sep_#res| 5) 0)} is VALID [2018-11-14 17:03:30,892 INFO L268 TraceCheckUtils]: 120: Hoare quadruple {5516#(= (+ |sep_#res| 5) 0)} {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} #82#return; {5521#(and (= main_~ret2~0 |main_#t~ret13|) (= main_~ret~1 |main_#t~ret13|))} is VALID [2018-11-14 17:03:30,893 INFO L273 TraceCheckUtils]: 121: Hoare triple {5521#(and (= main_~ret2~0 |main_#t~ret13|) (= main_~ret~1 |main_#t~ret13|))} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {5522#(and (= main_~ret5~0 main_~ret~1) (= main_~ret2~0 main_~ret5~0))} is VALID [2018-11-14 17:03:30,893 INFO L273 TraceCheckUtils]: 122: Hoare triple {5522#(and (= main_~ret5~0 main_~ret~1) (= main_~ret2~0 main_~ret5~0))} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5509#false} is VALID [2018-11-14 17:03:30,894 INFO L273 TraceCheckUtils]: 123: Hoare triple {5509#false} assume !false; {5509#false} is VALID [2018-11-14 17:03:30,927 INFO L134 CoverageAnalysis]: Checked inductivity of 594 backedges. 0 proven. 450 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2018-11-14 17:03:30,927 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:03:30,927 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-14 17:03:30,936 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 17:03:31,156 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 12 check-sat command(s) [2018-11-14 17:03:31,156 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 17:03:31,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:31,183 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:03:32,785 INFO L256 TraceCheckUtils]: 0: Hoare triple {5508#true} call ULTIMATE.init(); {5508#true} is VALID [2018-11-14 17:03:32,785 INFO L273 TraceCheckUtils]: 1: Hoare triple {5508#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5508#true} is VALID [2018-11-14 17:03:32,786 INFO L273 TraceCheckUtils]: 2: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:32,786 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5508#true} {5508#true} #74#return; {5508#true} is VALID [2018-11-14 17:03:32,786 INFO L256 TraceCheckUtils]: 4: Hoare triple {5508#true} call #t~ret14 := main(); {5508#true} is VALID [2018-11-14 17:03:32,786 INFO L273 TraceCheckUtils]: 5: Hoare triple {5508#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {5508#true} is VALID [2018-11-14 17:03:32,786 INFO L273 TraceCheckUtils]: 6: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:32,786 INFO L273 TraceCheckUtils]: 7: Hoare triple {5508#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5508#true} is VALID [2018-11-14 17:03:32,786 INFO L273 TraceCheckUtils]: 8: Hoare triple {5508#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5508#true} is VALID [2018-11-14 17:03:32,786 INFO L273 TraceCheckUtils]: 9: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:32,787 INFO L273 TraceCheckUtils]: 10: Hoare triple {5508#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5508#true} is VALID [2018-11-14 17:03:32,787 INFO L273 TraceCheckUtils]: 11: Hoare triple {5508#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5508#true} is VALID [2018-11-14 17:03:32,787 INFO L273 TraceCheckUtils]: 12: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:32,787 INFO L273 TraceCheckUtils]: 13: Hoare triple {5508#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5508#true} is VALID [2018-11-14 17:03:32,787 INFO L273 TraceCheckUtils]: 14: Hoare triple {5508#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5508#true} is VALID [2018-11-14 17:03:32,787 INFO L273 TraceCheckUtils]: 15: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:32,787 INFO L273 TraceCheckUtils]: 16: Hoare triple {5508#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5508#true} is VALID [2018-11-14 17:03:32,787 INFO L273 TraceCheckUtils]: 17: Hoare triple {5508#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5508#true} is VALID [2018-11-14 17:03:32,788 INFO L273 TraceCheckUtils]: 18: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:32,788 INFO L273 TraceCheckUtils]: 19: Hoare triple {5508#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5508#true} is VALID [2018-11-14 17:03:32,788 INFO L273 TraceCheckUtils]: 20: Hoare triple {5508#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5508#true} is VALID [2018-11-14 17:03:32,788 INFO L273 TraceCheckUtils]: 21: Hoare triple {5508#true} assume true; {5508#true} is VALID [2018-11-14 17:03:32,788 INFO L273 TraceCheckUtils]: 22: Hoare triple {5508#true} assume !(~i~1 < 5); {5508#true} is VALID [2018-11-14 17:03:32,788 INFO L256 TraceCheckUtils]: 23: Hoare triple {5508#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {5508#true} is VALID [2018-11-14 17:03:32,798 INFO L273 TraceCheckUtils]: 24: Hoare triple {5508#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:32,799 INFO L273 TraceCheckUtils]: 25: Hoare triple {5510#(= 0 sep_~ret~0)} assume true; {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:32,799 INFO L273 TraceCheckUtils]: 26: Hoare triple {5510#(= 0 sep_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:32,800 INFO L273 TraceCheckUtils]: 27: Hoare triple {5510#(= 0 sep_~ret~0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:32,800 INFO L273 TraceCheckUtils]: 28: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:32,800 INFO L273 TraceCheckUtils]: 29: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume true; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:32,801 INFO L273 TraceCheckUtils]: 30: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:32,801 INFO L273 TraceCheckUtils]: 31: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:32,802 INFO L273 TraceCheckUtils]: 32: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:32,802 INFO L273 TraceCheckUtils]: 33: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume true; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:32,803 INFO L273 TraceCheckUtils]: 34: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:32,804 INFO L273 TraceCheckUtils]: 35: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:32,805 INFO L273 TraceCheckUtils]: 36: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:32,805 INFO L273 TraceCheckUtils]: 37: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume true; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:32,806 INFO L273 TraceCheckUtils]: 38: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:32,825 INFO L273 TraceCheckUtils]: 39: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:32,834 INFO L273 TraceCheckUtils]: 40: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:32,847 INFO L273 TraceCheckUtils]: 41: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume true; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:32,856 INFO L273 TraceCheckUtils]: 42: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:32,860 INFO L273 TraceCheckUtils]: 43: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:32,860 INFO L273 TraceCheckUtils]: 44: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:32,861 INFO L273 TraceCheckUtils]: 45: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume true; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:32,861 INFO L273 TraceCheckUtils]: 46: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !(~i~0 < 5); {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:32,862 INFO L273 TraceCheckUtils]: 47: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5516#(= (+ |sep_#res| 5) 0)} is VALID [2018-11-14 17:03:32,863 INFO L273 TraceCheckUtils]: 48: Hoare triple {5516#(= (+ |sep_#res| 5) 0)} assume true; {5516#(= (+ |sep_#res| 5) 0)} is VALID [2018-11-14 17:03:32,863 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {5516#(= (+ |sep_#res| 5) 0)} {5508#true} #78#return; {5517#(= (+ |main_#t~ret6| 5) 0)} is VALID [2018-11-14 17:03:32,864 INFO L273 TraceCheckUtils]: 50: Hoare triple {5517#(= (+ |main_#t~ret6| 5) 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 + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {5518#(= (+ main_~ret~1 5) 0)} is VALID [2018-11-14 17:03:32,865 INFO L256 TraceCheckUtils]: 51: Hoare triple {5518#(= (+ main_~ret~1 5) 0)} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {5508#true} is VALID [2018-11-14 17:03:32,865 INFO L273 TraceCheckUtils]: 52: Hoare triple {5508#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:32,866 INFO L273 TraceCheckUtils]: 53: Hoare triple {5510#(= 0 sep_~ret~0)} assume true; {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:32,866 INFO L273 TraceCheckUtils]: 54: Hoare triple {5510#(= 0 sep_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:32,867 INFO L273 TraceCheckUtils]: 55: Hoare triple {5510#(= 0 sep_~ret~0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:32,868 INFO L273 TraceCheckUtils]: 56: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:32,868 INFO L273 TraceCheckUtils]: 57: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume true; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:32,869 INFO L273 TraceCheckUtils]: 58: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:32,870 INFO L273 TraceCheckUtils]: 59: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:32,870 INFO L273 TraceCheckUtils]: 60: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:32,871 INFO L273 TraceCheckUtils]: 61: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume true; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:32,872 INFO L273 TraceCheckUtils]: 62: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:32,873 INFO L273 TraceCheckUtils]: 63: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:32,874 INFO L273 TraceCheckUtils]: 64: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:32,874 INFO L273 TraceCheckUtils]: 65: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume true; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:32,875 INFO L273 TraceCheckUtils]: 66: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:32,876 INFO L273 TraceCheckUtils]: 67: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:32,877 INFO L273 TraceCheckUtils]: 68: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:32,877 INFO L273 TraceCheckUtils]: 69: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume true; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:32,878 INFO L273 TraceCheckUtils]: 70: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:32,879 INFO L273 TraceCheckUtils]: 71: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:32,880 INFO L273 TraceCheckUtils]: 72: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:32,880 INFO L273 TraceCheckUtils]: 73: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume true; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:32,881 INFO L273 TraceCheckUtils]: 74: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !(~i~0 < 5); {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:32,882 INFO L273 TraceCheckUtils]: 75: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5516#(= (+ |sep_#res| 5) 0)} is VALID [2018-11-14 17:03:32,883 INFO L273 TraceCheckUtils]: 76: Hoare triple {5516#(= (+ |sep_#res| 5) 0)} assume true; {5516#(= (+ |sep_#res| 5) 0)} is VALID [2018-11-14 17:03:32,884 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {5516#(= (+ |sep_#res| 5) 0)} {5518#(= (+ main_~ret~1 5) 0)} #80#return; {5519#(and (<= 0 (+ |main_#t~ret9| 5)) (<= (+ |main_#t~ret9| 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,885 INFO L273 TraceCheckUtils]: 78: Hoare triple {5519#(and (<= 0 (+ |main_#t~ret9| 5)) (<= (+ |main_#t~ret9| 5) 0) (= (+ main_~ret~1 5) 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 + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,886 INFO L273 TraceCheckUtils]: 79: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume true; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,887 INFO L273 TraceCheckUtils]: 80: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,887 INFO L273 TraceCheckUtils]: 81: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,888 INFO L273 TraceCheckUtils]: 82: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume true; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,889 INFO L273 TraceCheckUtils]: 83: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,889 INFO L273 TraceCheckUtils]: 84: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,890 INFO L273 TraceCheckUtils]: 85: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume true; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,891 INFO L273 TraceCheckUtils]: 86: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,891 INFO L273 TraceCheckUtils]: 87: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,892 INFO L273 TraceCheckUtils]: 88: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume true; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,893 INFO L273 TraceCheckUtils]: 89: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,894 INFO L273 TraceCheckUtils]: 90: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,894 INFO L273 TraceCheckUtils]: 91: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume true; {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,895 INFO L273 TraceCheckUtils]: 92: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} assume !(~i~2 < 4); {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,896 INFO L273 TraceCheckUtils]: 93: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,896 INFO L256 TraceCheckUtils]: 94: Hoare triple {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {5508#true} is VALID [2018-11-14 17:03:32,897 INFO L273 TraceCheckUtils]: 95: Hoare triple {5508#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := 0;~i~0 := 0; {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:32,897 INFO L273 TraceCheckUtils]: 96: Hoare triple {5510#(= 0 sep_~ret~0)} assume true; {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:32,898 INFO L273 TraceCheckUtils]: 97: Hoare triple {5510#(= 0 sep_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5510#(= 0 sep_~ret~0)} is VALID [2018-11-14 17:03:32,898 INFO L273 TraceCheckUtils]: 98: Hoare triple {5510#(= 0 sep_~ret~0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:32,899 INFO L273 TraceCheckUtils]: 99: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:32,899 INFO L273 TraceCheckUtils]: 100: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume true; {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:32,900 INFO L273 TraceCheckUtils]: 101: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5511#(= (+ sep_~ret~0 1) 0)} is VALID [2018-11-14 17:03:32,901 INFO L273 TraceCheckUtils]: 102: Hoare triple {5511#(= (+ sep_~ret~0 1) 0)} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:32,902 INFO L273 TraceCheckUtils]: 103: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:32,902 INFO L273 TraceCheckUtils]: 104: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume true; {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:32,903 INFO L273 TraceCheckUtils]: 105: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} is VALID [2018-11-14 17:03:32,904 INFO L273 TraceCheckUtils]: 106: Hoare triple {5512#(and (<= 0 (+ sep_~ret~0 2)) (<= (+ sep_~ret~0 2) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:32,905 INFO L273 TraceCheckUtils]: 107: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:32,905 INFO L273 TraceCheckUtils]: 108: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume true; {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:32,906 INFO L273 TraceCheckUtils]: 109: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} is VALID [2018-11-14 17:03:32,907 INFO L273 TraceCheckUtils]: 110: Hoare triple {5513#(and (<= 0 (+ sep_~ret~0 3)) (<= (+ sep_~ret~0 3) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:32,908 INFO L273 TraceCheckUtils]: 111: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:32,908 INFO L273 TraceCheckUtils]: 112: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume true; {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:32,909 INFO L273 TraceCheckUtils]: 113: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} is VALID [2018-11-14 17:03:32,910 INFO L273 TraceCheckUtils]: 114: Hoare triple {5514#(and (<= 0 (+ sep_~ret~0 4)) (<= (+ sep_~ret~0 4) 0))} assume !((if #t~mem1 < 0 && #t~mem1 % 2 != 0 then #t~mem1 % 2 - 2 else #t~mem1 % 2) == 0);havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := #t~post3 - 1;havoc #t~post3; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:32,911 INFO L273 TraceCheckUtils]: 115: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:32,911 INFO L273 TraceCheckUtils]: 116: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume true; {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:32,912 INFO L273 TraceCheckUtils]: 117: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} assume !(~i~0 < 5); {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} is VALID [2018-11-14 17:03:32,913 INFO L273 TraceCheckUtils]: 118: Hoare triple {5515#(and (<= 0 (+ sep_~ret~0 5)) (<= (+ sep_~ret~0 5) 0))} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5516#(= (+ |sep_#res| 5) 0)} is VALID [2018-11-14 17:03:32,914 INFO L273 TraceCheckUtils]: 119: Hoare triple {5516#(= (+ |sep_#res| 5) 0)} assume true; {5516#(= (+ |sep_#res| 5) 0)} is VALID [2018-11-14 17:03:32,915 INFO L268 TraceCheckUtils]: 120: Hoare quadruple {5516#(= (+ |sep_#res| 5) 0)} {5520#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret~1 5) 0))} #82#return; {5886#(and (= (+ main_~ret2~0 5) 0) (= (+ |main_#t~ret13| 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,916 INFO L273 TraceCheckUtils]: 121: Hoare triple {5886#(and (= (+ main_~ret2~0 5) 0) (= (+ |main_#t~ret13| 5) 0) (= (+ main_~ret~1 5) 0))} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {5890#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret5~0 5) 0) (= (+ main_~ret~1 5) 0))} is VALID [2018-11-14 17:03:32,917 INFO L273 TraceCheckUtils]: 122: Hoare triple {5890#(and (= (+ main_~ret2~0 5) 0) (= (+ main_~ret5~0 5) 0) (= (+ main_~ret~1 5) 0))} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5509#false} is VALID [2018-11-14 17:03:32,917 INFO L273 TraceCheckUtils]: 123: Hoare triple {5509#false} assume !false; {5509#false} is VALID [2018-11-14 17:03:32,938 INFO L134 CoverageAnalysis]: Checked inductivity of 594 backedges. 0 proven. 450 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2018-11-14 17:03:32,958 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:03:32,959 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 17 [2018-11-14 17:03:32,959 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 124 [2018-11-14 17:03:32,959 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:03:32,960 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-14 17:03:33,027 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-14 17:03:33,027 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-14 17:03:33,027 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-14 17:03:33,028 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=233, Unknown=0, NotChecked=0, Total=272 [2018-11-14 17:03:33,028 INFO L87 Difference]: Start difference. First operand 73 states and 82 transitions. Second operand 17 states. [2018-11-14 17:03:35,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:35,692 INFO L93 Difference]: Finished difference Result 192 states and 250 transitions. [2018-11-14 17:03:35,692 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-14 17:03:35,692 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 124 [2018-11-14 17:03:35,693 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:03:35,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-14 17:03:35,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 147 transitions. [2018-11-14 17:03:35,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-14 17:03:35,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 147 transitions. [2018-11-14 17:03:35,700 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 147 transitions. [2018-11-14 17:03:36,183 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:03:36,193 INFO L225 Difference]: With dead ends: 192 [2018-11-14 17:03:36,193 INFO L226 Difference]: Without dead ends: 188 [2018-11-14 17:03:36,194 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 124 SyntacticMatches, 13 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=43, Invalid=263, Unknown=0, NotChecked=0, Total=306 [2018-11-14 17:03:36,194 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2018-11-14 17:03:36,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 148. [2018-11-14 17:03:36,295 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:03:36,295 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand 148 states. [2018-11-14 17:03:36,296 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand 148 states. [2018-11-14 17:03:36,296 INFO L87 Difference]: Start difference. First operand 188 states. Second operand 148 states. [2018-11-14 17:03:36,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:36,305 INFO L93 Difference]: Finished difference Result 188 states and 246 transitions. [2018-11-14 17:03:36,305 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 246 transitions. [2018-11-14 17:03:36,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:36,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:36,307 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand 188 states. [2018-11-14 17:03:36,307 INFO L87 Difference]: Start difference. First operand 148 states. Second operand 188 states. [2018-11-14 17:03:36,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:03:36,317 INFO L93 Difference]: Finished difference Result 188 states and 246 transitions. [2018-11-14 17:03:36,317 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 246 transitions. [2018-11-14 17:03:36,319 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:03:36,319 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:03:36,319 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:03:36,319 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:03:36,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 148 states. [2018-11-14 17:03:36,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 148 states to 148 states and 180 transitions. [2018-11-14 17:03:36,326 INFO L78 Accepts]: Start accepts. Automaton has 148 states and 180 transitions. Word has length 124 [2018-11-14 17:03:36,326 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:03:36,327 INFO L480 AbstractCegarLoop]: Abstraction has 148 states and 180 transitions. [2018-11-14 17:03:36,327 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-14 17:03:36,327 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 180 transitions. [2018-11-14 17:03:36,329 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2018-11-14 17:03:36,329 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:03:36,329 INFO L375 BasicCegarLoop]: trace histogram [18, 15, 15, 14, 6, 5, 5, 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, 1] [2018-11-14 17:03:36,329 INFO L423 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:03:36,329 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:03:36,330 INFO L82 PathProgramCache]: Analyzing trace with hash 237432268, now seen corresponding path program 1 times [2018-11-14 17:03:36,330 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:03:36,330 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:03:36,331 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:36,331 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 17:03:36,331 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:03:36,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:03:37,120 WARN L179 SmtUtils]: Spent 128.00 ms on a formula simplification. DAG size of input: 11 DAG size of output: 3 [2018-11-14 17:03:38,186 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:111) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:128) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.lambda$0(UltimateNormalFormUtils.java:151) 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:152) 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-14 17:03:38,191 INFO L168 Benchmark]: Toolchain (without parser) took 25801.72 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.1 GB). Free memory was 1.4 GB in the beginning and 1.7 GB in the end (delta: -240.4 MB). Peak memory consumption was 810.8 MB. Max. memory is 7.1 GB. [2018-11-14 17:03:38,192 INFO L168 Benchmark]: CDTParser took 0.21 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-14 17:03:38,193 INFO L168 Benchmark]: CACSL2BoogieTranslator took 391.42 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: 13.2 MB). Peak memory consumption was 13.2 MB. Max. memory is 7.1 GB. [2018-11-14 17:03:38,194 INFO L168 Benchmark]: Boogie Preprocessor took 52.78 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-14 17:03:38,196 INFO L168 Benchmark]: RCFGBuilder took 928.74 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 738.2 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -770.6 MB). Peak memory consumption was 14.7 MB. Max. memory is 7.1 GB. [2018-11-14 17:03:38,197 INFO L168 Benchmark]: TraceAbstraction took 24423.32 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 313.0 MB). Free memory was 2.2 GB in the beginning and 1.7 GB in the end (delta: 517.0 MB). Peak memory consumption was 830.0 MB. Max. memory is 7.1 GB. [2018-11-14 17:03:38,200 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.21 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 391.42 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: 13.2 MB). Peak memory consumption was 13.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 52.78 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 928.74 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 738.2 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -770.6 MB). Peak memory consumption was 14.7 MB. Max. memory is 7.1 GB. * TraceAbstraction took 24423.32 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 313.0 MB). Free memory was 2.2 GB in the beginning and 1.7 GB in the end (delta: 517.0 MB). Peak memory consumption was 830.0 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:111) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...