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-Const.epf -i ../../../trunk/examples/svcomp/reducercommutativity/rangesum40_false-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-370d6ab [2018-11-14 18:49:13,831 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-14 18:49:13,834 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-14 18:49:13,845 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-14 18:49:13,846 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-14 18:49:13,847 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-14 18:49:13,848 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-14 18:49:13,850 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-14 18:49:13,852 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-14 18:49:13,853 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-14 18:49:13,854 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-14 18:49:13,854 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-14 18:49:13,855 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-14 18:49:13,857 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-14 18:49:13,858 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-14 18:49:13,859 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-14 18:49:13,860 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-14 18:49:13,862 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-14 18:49:13,864 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-14 18:49:13,865 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-14 18:49:13,867 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-14 18:49:13,868 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-14 18:49:13,874 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-14 18:49:13,874 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-14 18:49:13,874 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-14 18:49:13,878 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-14 18:49:13,880 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-14 18:49:13,880 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-14 18:49:13,884 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-14 18:49:13,885 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-14 18:49:13,886 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-14 18:49:13,886 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-14 18:49:13,890 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-14 18:49:13,890 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-14 18:49:13,891 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-14 18:49:13,892 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-14 18:49:13,892 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf [2018-11-14 18:49:13,919 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-14 18:49:13,920 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-14 18:49:13,920 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-14 18:49:13,922 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-14 18:49:13,923 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-14 18:49:13,923 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-14 18:49:13,924 INFO L133 SettingsManager]: * Use SBE=true [2018-11-14 18:49:13,924 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-14 18:49:13,924 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-14 18:49:13,924 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-14 18:49:13,924 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-14 18:49:13,924 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-14 18:49:13,925 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-14 18:49:13,925 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-14 18:49:13,925 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-14 18:49:13,925 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-14 18:49:13,925 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-14 18:49:13,926 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-14 18:49:13,927 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-14 18:49:13,927 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-14 18:49:13,927 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-14 18:49:13,927 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-14 18:49:13,928 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-14 18:49:13,928 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 18:49:13,928 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-14 18:49:13,928 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-14 18:49:13,929 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-14 18:49:13,929 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-14 18:49:13,929 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-14 18:49:13,929 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-14 18:49:13,930 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-14 18:49:13,987 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-14 18:49:14,003 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-14 18:49:14,008 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-14 18:49:14,009 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-14 18:49:14,010 INFO L276 PluginConnector]: CDTParser initialized [2018-11-14 18:49:14,010 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/reducercommutativity/rangesum40_false-unreach-call.i [2018-11-14 18:49:14,074 INFO L218 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3a24282b2/9a571c637eda460fae325e7b9143fafb/FLAG5666e6d1c [2018-11-14 18:49:14,552 INFO L298 CDTParser]: Found 1 translation units. [2018-11-14 18:49:14,555 INFO L158 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/reducercommutativity/rangesum40_false-unreach-call.i [2018-11-14 18:49:14,561 INFO L346 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3a24282b2/9a571c637eda460fae325e7b9143fafb/FLAG5666e6d1c [2018-11-14 18:49:14,574 INFO L354 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3a24282b2/9a571c637eda460fae325e7b9143fafb [2018-11-14 18:49:14,583 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-14 18:49:14,584 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-14 18:49:14,585 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-14 18:49:14,585 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-14 18:49:14,589 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-14 18:49:14,591 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:49:14" (1/1) ... [2018-11-14 18:49:14,594 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@51296a07 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:14, skipping insertion in model container [2018-11-14 18:49:14,594 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:49:14" (1/1) ... [2018-11-14 18:49:14,604 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-14 18:49:14,633 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-14 18:49:14,856 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:49:14,869 INFO L191 MainTranslator]: Completed pre-run [2018-11-14 18:49:14,901 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:49:14,920 INFO L195 MainTranslator]: Completed translation [2018-11-14 18:49:14,921 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:14 WrapperNode [2018-11-14 18:49:14,921 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-14 18:49:14,922 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-14 18:49:14,922 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-14 18:49:14,922 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-14 18:49:14,937 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:14" (1/1) ... [2018-11-14 18:49:14,937 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:14" (1/1) ... [2018-11-14 18:49:14,947 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:14" (1/1) ... [2018-11-14 18:49:14,947 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:14" (1/1) ... [2018-11-14 18:49:14,961 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:14" (1/1) ... [2018-11-14 18:49:14,967 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:14" (1/1) ... [2018-11-14 18:49:14,969 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:14" (1/1) ... [2018-11-14 18:49:14,972 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-14 18:49:14,972 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-14 18:49:14,972 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-14 18:49:14,972 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-14 18:49:14,973 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:14" (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 18:49:15,094 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-14 18:49:15,094 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-14 18:49:15,094 INFO L138 BoogieDeclarations]: Found implementation of procedure init_nondet [2018-11-14 18:49:15,094 INFO L138 BoogieDeclarations]: Found implementation of procedure rangesum [2018-11-14 18:49:15,094 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-14 18:49:15,095 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-14 18:49:15,095 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-11-14 18:49:15,095 INFO L130 BoogieDeclarations]: Found specification of procedure init_nondet [2018-11-14 18:49:15,095 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-14 18:49:15,095 INFO L130 BoogieDeclarations]: Found specification of procedure rangesum [2018-11-14 18:49:15,095 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-14 18:49:15,095 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-14 18:49:15,096 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-14 18:49:15,096 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-14 18:49:15,096 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-14 18:49:15,096 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-14 18:49:15,096 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-14 18:49:15,914 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-14 18:49:15,915 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:49:15 BoogieIcfgContainer [2018-11-14 18:49:15,915 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-14 18:49:15,916 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-14 18:49:15,916 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-14 18:49:15,919 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-14 18:49:15,920 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.11 06:49:14" (1/3) ... [2018-11-14 18:49:15,921 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7c231e73 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:49:15, skipping insertion in model container [2018-11-14 18:49:15,921 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:14" (2/3) ... [2018-11-14 18:49:15,921 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7c231e73 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:49:15, skipping insertion in model container [2018-11-14 18:49:15,921 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:49:15" (3/3) ... [2018-11-14 18:49:15,923 INFO L112 eAbstractionObserver]: Analyzing ICFG rangesum40_false-unreach-call.i [2018-11-14 18:49:15,933 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-14 18:49:15,943 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-14 18:49:15,960 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-14 18:49:15,992 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-14 18:49:15,993 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-14 18:49:15,993 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-14 18:49:15,993 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-14 18:49:15,993 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-14 18:49:15,994 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-14 18:49:15,994 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-14 18:49:15,994 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-14 18:49:15,994 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-14 18:49:16,014 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states. [2018-11-14 18:49:16,021 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-14 18:49:16,022 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:16,023 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, 1, 1, 1, 1, 1] [2018-11-14 18:49:16,025 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:16,031 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:16,031 INFO L82 PathProgramCache]: Analyzing trace with hash -1049289672, now seen corresponding path program 1 times [2018-11-14 18:49:16,033 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:16,034 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:16,082 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:16,083 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:16,083 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:16,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:16,162 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unsupported non-linear arithmetic [2018-11-14 18:49:16,162 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:16,162 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 18:49:16,182 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:16,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:16,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:16,283 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:16,527 INFO L256 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {43#true} is VALID [2018-11-14 18:49:16,531 INFO L273 TraceCheckUtils]: 1: Hoare triple {43#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {43#true} is VALID [2018-11-14 18:49:16,532 INFO L273 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2018-11-14 18:49:16,532 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #81#return; {43#true} is VALID [2018-11-14 18:49:16,532 INFO L256 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret12 := main(); {43#true} is VALID [2018-11-14 18:49:16,533 INFO L273 TraceCheckUtils]: 5: Hoare triple {43#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {43#true} is VALID [2018-11-14 18:49:16,533 INFO L256 TraceCheckUtils]: 6: Hoare triple {43#true} call init_nondet(~#x~0.base, ~#x~0.offset); {43#true} is VALID [2018-11-14 18:49:16,534 INFO L273 TraceCheckUtils]: 7: Hoare triple {43#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {43#true} is VALID [2018-11-14 18:49:16,537 INFO L273 TraceCheckUtils]: 8: Hoare triple {43#true} assume !true; {44#false} is VALID [2018-11-14 18:49:16,537 INFO L273 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2018-11-14 18:49:16,537 INFO L268 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #85#return; {44#false} is VALID [2018-11-14 18:49:16,538 INFO L273 TraceCheckUtils]: 11: Hoare triple {44#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {44#false} is VALID [2018-11-14 18:49:16,538 INFO L256 TraceCheckUtils]: 12: Hoare triple {44#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {44#false} is VALID [2018-11-14 18:49:16,538 INFO L273 TraceCheckUtils]: 13: Hoare triple {44#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {44#false} is VALID [2018-11-14 18:49:16,539 INFO L273 TraceCheckUtils]: 14: Hoare triple {44#false} assume !true; {44#false} is VALID [2018-11-14 18:49:16,539 INFO L273 TraceCheckUtils]: 15: Hoare triple {44#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {44#false} is VALID [2018-11-14 18:49:16,539 INFO L273 TraceCheckUtils]: 16: Hoare triple {44#false} assume true; {44#false} is VALID [2018-11-14 18:49:16,540 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2018-11-14 18:49:16,540 INFO L273 TraceCheckUtils]: 18: Hoare triple {44#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {44#false} is VALID [2018-11-14 18:49:16,540 INFO L256 TraceCheckUtils]: 19: Hoare triple {44#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {44#false} is VALID [2018-11-14 18:49:16,541 INFO L273 TraceCheckUtils]: 20: Hoare triple {44#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {44#false} is VALID [2018-11-14 18:49:16,541 INFO L273 TraceCheckUtils]: 21: Hoare triple {44#false} assume !true; {44#false} is VALID [2018-11-14 18:49:16,541 INFO L273 TraceCheckUtils]: 22: Hoare triple {44#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {44#false} is VALID [2018-11-14 18:49:16,542 INFO L273 TraceCheckUtils]: 23: Hoare triple {44#false} assume true; {44#false} is VALID [2018-11-14 18:49:16,542 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2018-11-14 18:49:16,542 INFO L273 TraceCheckUtils]: 25: Hoare triple {44#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {44#false} is VALID [2018-11-14 18:49:16,542 INFO L273 TraceCheckUtils]: 26: Hoare triple {44#false} assume !true; {44#false} is VALID [2018-11-14 18:49:16,543 INFO L273 TraceCheckUtils]: 27: Hoare triple {44#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {44#false} is VALID [2018-11-14 18:49:16,543 INFO L256 TraceCheckUtils]: 28: Hoare triple {44#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {44#false} is VALID [2018-11-14 18:49:16,543 INFO L273 TraceCheckUtils]: 29: Hoare triple {44#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {44#false} is VALID [2018-11-14 18:49:16,543 INFO L273 TraceCheckUtils]: 30: Hoare triple {44#false} assume !true; {44#false} is VALID [2018-11-14 18:49:16,544 INFO L273 TraceCheckUtils]: 31: Hoare triple {44#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {44#false} is VALID [2018-11-14 18:49:16,544 INFO L273 TraceCheckUtils]: 32: Hoare triple {44#false} assume true; {44#false} is VALID [2018-11-14 18:49:16,544 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {44#false} {44#false} #91#return; {44#false} is VALID [2018-11-14 18:49:16,544 INFO L273 TraceCheckUtils]: 34: Hoare triple {44#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {44#false} is VALID [2018-11-14 18:49:16,545 INFO L273 TraceCheckUtils]: 35: Hoare triple {44#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {44#false} is VALID [2018-11-14 18:49:16,545 INFO L273 TraceCheckUtils]: 36: Hoare triple {44#false} assume !false; {44#false} is VALID [2018-11-14 18:49:16,552 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 18:49:16,577 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:49:16,577 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-14 18:49:16,582 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 37 [2018-11-14 18:49:16,585 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:16,589 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-14 18:49:16,734 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:16,734 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-14 18:49:16,744 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-14 18:49:16,745 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 18:49:16,748 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 2 states. [2018-11-14 18:49:17,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:17,209 INFO L93 Difference]: Finished difference Result 69 states and 90 transitions. [2018-11-14 18:49:17,210 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-14 18:49:17,210 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 37 [2018-11-14 18:49:17,210 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:17,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:49:17,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 90 transitions. [2018-11-14 18:49:17,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:49:17,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 90 transitions. [2018-11-14 18:49:17,237 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 90 transitions. [2018-11-14 18:49:17,920 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:17,934 INFO L225 Difference]: With dead ends: 69 [2018-11-14 18:49:17,934 INFO L226 Difference]: Without dead ends: 35 [2018-11-14 18:49:17,938 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 36 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 18:49:17,957 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2018-11-14 18:49:18,014 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2018-11-14 18:49:18,014 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:18,015 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 35 states. [2018-11-14 18:49:18,015 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 35 states. [2018-11-14 18:49:18,016 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 35 states. [2018-11-14 18:49:18,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:18,022 INFO L93 Difference]: Finished difference Result 35 states and 41 transitions. [2018-11-14 18:49:18,023 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 41 transitions. [2018-11-14 18:49:18,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:18,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:18,024 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 35 states. [2018-11-14 18:49:18,024 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 35 states. [2018-11-14 18:49:18,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:18,030 INFO L93 Difference]: Finished difference Result 35 states and 41 transitions. [2018-11-14 18:49:18,030 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 41 transitions. [2018-11-14 18:49:18,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:18,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:18,032 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:18,032 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:18,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-14 18:49:18,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 41 transitions. [2018-11-14 18:49:18,041 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 41 transitions. Word has length 37 [2018-11-14 18:49:18,041 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:18,041 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 41 transitions. [2018-11-14 18:49:18,041 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-14 18:49:18,042 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 41 transitions. [2018-11-14 18:49:18,045 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-14 18:49:18,045 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:18,045 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, 1, 1, 1, 1, 1] [2018-11-14 18:49:18,046 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:18,049 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:18,049 INFO L82 PathProgramCache]: Analyzing trace with hash 1338067039, now seen corresponding path program 1 times [2018-11-14 18:49:18,049 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:18,049 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:18,051 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:18,051 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:18,051 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:18,076 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:18,077 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:18,077 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:18,093 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:18,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:18,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:18,150 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:18,288 INFO L256 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2018-11-14 18:49:18,289 INFO L273 TraceCheckUtils]: 1: Hoare triple {361#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {361#true} is VALID [2018-11-14 18:49:18,289 INFO L273 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2018-11-14 18:49:18,289 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2018-11-14 18:49:18,290 INFO L256 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret12 := main(); {361#true} is VALID [2018-11-14 18:49:18,290 INFO L273 TraceCheckUtils]: 5: Hoare triple {361#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {361#true} is VALID [2018-11-14 18:49:18,290 INFO L256 TraceCheckUtils]: 6: Hoare triple {361#true} call init_nondet(~#x~0.base, ~#x~0.offset); {361#true} is VALID [2018-11-14 18:49:18,291 INFO L273 TraceCheckUtils]: 7: Hoare triple {361#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {387#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:18,291 INFO L273 TraceCheckUtils]: 8: Hoare triple {387#(<= init_nondet_~i~0 0)} assume true; {387#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:18,292 INFO L273 TraceCheckUtils]: 9: Hoare triple {387#(<= init_nondet_~i~0 0)} assume !(~i~0 < 40); {362#false} is VALID [2018-11-14 18:49:18,292 INFO L273 TraceCheckUtils]: 10: Hoare triple {362#false} assume true; {362#false} is VALID [2018-11-14 18:49:18,293 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {362#false} {361#true} #85#return; {362#false} is VALID [2018-11-14 18:49:18,293 INFO L273 TraceCheckUtils]: 12: Hoare triple {362#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {362#false} is VALID [2018-11-14 18:49:18,294 INFO L256 TraceCheckUtils]: 13: Hoare triple {362#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {362#false} is VALID [2018-11-14 18:49:18,295 INFO L273 TraceCheckUtils]: 14: Hoare triple {362#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {362#false} is VALID [2018-11-14 18:49:18,295 INFO L273 TraceCheckUtils]: 15: Hoare triple {362#false} assume true; {362#false} is VALID [2018-11-14 18:49:18,296 INFO L273 TraceCheckUtils]: 16: Hoare triple {362#false} assume !(~i~1 < 40); {362#false} is VALID [2018-11-14 18:49:18,296 INFO L273 TraceCheckUtils]: 17: Hoare triple {362#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {362#false} is VALID [2018-11-14 18:49:18,296 INFO L273 TraceCheckUtils]: 18: Hoare triple {362#false} assume true; {362#false} is VALID [2018-11-14 18:49:18,297 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {362#false} {362#false} #87#return; {362#false} is VALID [2018-11-14 18:49:18,297 INFO L273 TraceCheckUtils]: 20: Hoare triple {362#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {362#false} is VALID [2018-11-14 18:49:18,297 INFO L256 TraceCheckUtils]: 21: Hoare triple {362#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {362#false} is VALID [2018-11-14 18:49:18,298 INFO L273 TraceCheckUtils]: 22: Hoare triple {362#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {362#false} is VALID [2018-11-14 18:49:18,298 INFO L273 TraceCheckUtils]: 23: Hoare triple {362#false} assume true; {362#false} is VALID [2018-11-14 18:49:18,298 INFO L273 TraceCheckUtils]: 24: Hoare triple {362#false} assume !(~i~1 < 40); {362#false} is VALID [2018-11-14 18:49:18,299 INFO L273 TraceCheckUtils]: 25: Hoare triple {362#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {362#false} is VALID [2018-11-14 18:49:18,299 INFO L273 TraceCheckUtils]: 26: Hoare triple {362#false} assume true; {362#false} is VALID [2018-11-14 18:49:18,300 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {362#false} {362#false} #89#return; {362#false} is VALID [2018-11-14 18:49:18,300 INFO L273 TraceCheckUtils]: 28: Hoare triple {362#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {362#false} is VALID [2018-11-14 18:49:18,300 INFO L273 TraceCheckUtils]: 29: Hoare triple {362#false} assume true; {362#false} is VALID [2018-11-14 18:49:18,301 INFO L273 TraceCheckUtils]: 30: Hoare triple {362#false} assume !(~i~2 < 39); {362#false} is VALID [2018-11-14 18:49:18,301 INFO L273 TraceCheckUtils]: 31: Hoare triple {362#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {362#false} is VALID [2018-11-14 18:49:18,301 INFO L256 TraceCheckUtils]: 32: Hoare triple {362#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {362#false} is VALID [2018-11-14 18:49:18,301 INFO L273 TraceCheckUtils]: 33: Hoare triple {362#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {362#false} is VALID [2018-11-14 18:49:18,302 INFO L273 TraceCheckUtils]: 34: Hoare triple {362#false} assume true; {362#false} is VALID [2018-11-14 18:49:18,302 INFO L273 TraceCheckUtils]: 35: Hoare triple {362#false} assume !(~i~1 < 40); {362#false} is VALID [2018-11-14 18:49:18,302 INFO L273 TraceCheckUtils]: 36: Hoare triple {362#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {362#false} is VALID [2018-11-14 18:49:18,303 INFO L273 TraceCheckUtils]: 37: Hoare triple {362#false} assume true; {362#false} is VALID [2018-11-14 18:49:18,303 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {362#false} {362#false} #91#return; {362#false} is VALID [2018-11-14 18:49:18,303 INFO L273 TraceCheckUtils]: 39: Hoare triple {362#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {362#false} is VALID [2018-11-14 18:49:18,304 INFO L273 TraceCheckUtils]: 40: Hoare triple {362#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {362#false} is VALID [2018-11-14 18:49:18,304 INFO L273 TraceCheckUtils]: 41: Hoare triple {362#false} assume !false; {362#false} is VALID [2018-11-14 18:49:18,308 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 18:49:18,337 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:49:18,337 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 18:49:18,338 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 42 [2018-11-14 18:49:18,339 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:18,339 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 18:49:18,451 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 18:49:18,451 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 18:49:18,451 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 18:49:18,451 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 18:49:18,452 INFO L87 Difference]: Start difference. First operand 35 states and 41 transitions. Second operand 3 states. [2018-11-14 18:49:18,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:18,967 INFO L93 Difference]: Finished difference Result 62 states and 74 transitions. [2018-11-14 18:49:18,967 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 18:49:18,967 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 42 [2018-11-14 18:49:18,968 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:18,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:49:18,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-14 18:49:18,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:49:18,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-14 18:49:18,976 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2018-11-14 18:49:19,152 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 18:49:19,156 INFO L225 Difference]: With dead ends: 62 [2018-11-14 18:49:19,156 INFO L226 Difference]: Without dead ends: 38 [2018-11-14 18:49:19,158 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 40 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 18:49:19,158 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-14 18:49:19,174 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 37. [2018-11-14 18:49:19,174 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:19,174 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 37 states. [2018-11-14 18:49:19,175 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 37 states. [2018-11-14 18:49:19,175 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 37 states. [2018-11-14 18:49:19,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:19,179 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2018-11-14 18:49:19,179 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2018-11-14 18:49:19,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:19,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:19,180 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 38 states. [2018-11-14 18:49:19,180 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 38 states. [2018-11-14 18:49:19,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:19,184 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2018-11-14 18:49:19,184 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2018-11-14 18:49:19,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:19,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:19,186 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:19,186 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:19,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-14 18:49:19,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 43 transitions. [2018-11-14 18:49:19,189 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 43 transitions. Word has length 42 [2018-11-14 18:49:19,189 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:19,190 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 43 transitions. [2018-11-14 18:49:19,190 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 18:49:19,190 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2018-11-14 18:49:19,191 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-14 18:49:19,192 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:19,192 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, 1, 1, 1, 1, 1] [2018-11-14 18:49:19,192 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:19,193 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:19,193 INFO L82 PathProgramCache]: Analyzing trace with hash -1866850875, now seen corresponding path program 1 times [2018-11-14 18:49:19,193 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:19,193 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:19,194 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:19,194 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:19,194 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:19,212 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:19,212 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:19,212 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:19,237 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:19,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:19,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:19,296 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:19,371 INFO L256 TraceCheckUtils]: 0: Hoare triple {698#true} call ULTIMATE.init(); {698#true} is VALID [2018-11-14 18:49:19,371 INFO L273 TraceCheckUtils]: 1: Hoare triple {698#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {698#true} is VALID [2018-11-14 18:49:19,372 INFO L273 TraceCheckUtils]: 2: Hoare triple {698#true} assume true; {698#true} is VALID [2018-11-14 18:49:19,372 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {698#true} {698#true} #81#return; {698#true} is VALID [2018-11-14 18:49:19,373 INFO L256 TraceCheckUtils]: 4: Hoare triple {698#true} call #t~ret12 := main(); {698#true} is VALID [2018-11-14 18:49:19,373 INFO L273 TraceCheckUtils]: 5: Hoare triple {698#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {698#true} is VALID [2018-11-14 18:49:19,373 INFO L256 TraceCheckUtils]: 6: Hoare triple {698#true} call init_nondet(~#x~0.base, ~#x~0.offset); {698#true} is VALID [2018-11-14 18:49:19,374 INFO L273 TraceCheckUtils]: 7: Hoare triple {698#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {698#true} is VALID [2018-11-14 18:49:19,374 INFO L273 TraceCheckUtils]: 8: Hoare triple {698#true} assume true; {698#true} is VALID [2018-11-14 18:49:19,374 INFO L273 TraceCheckUtils]: 9: Hoare triple {698#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {698#true} is VALID [2018-11-14 18:49:19,375 INFO L273 TraceCheckUtils]: 10: Hoare triple {698#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {698#true} is VALID [2018-11-14 18:49:19,375 INFO L273 TraceCheckUtils]: 11: Hoare triple {698#true} assume true; {698#true} is VALID [2018-11-14 18:49:19,375 INFO L273 TraceCheckUtils]: 12: Hoare triple {698#true} assume !(~i~0 < 40); {698#true} is VALID [2018-11-14 18:49:19,375 INFO L273 TraceCheckUtils]: 13: Hoare triple {698#true} assume true; {698#true} is VALID [2018-11-14 18:49:19,376 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {698#true} {698#true} #85#return; {698#true} is VALID [2018-11-14 18:49:19,376 INFO L273 TraceCheckUtils]: 15: Hoare triple {698#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {698#true} is VALID [2018-11-14 18:49:19,376 INFO L256 TraceCheckUtils]: 16: Hoare triple {698#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {698#true} is VALID [2018-11-14 18:49:19,378 INFO L273 TraceCheckUtils]: 17: Hoare triple {698#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {754#(= 0 rangesum_~cnt~0)} is VALID [2018-11-14 18:49:19,378 INFO L273 TraceCheckUtils]: 18: Hoare triple {754#(= 0 rangesum_~cnt~0)} assume true; {754#(= 0 rangesum_~cnt~0)} is VALID [2018-11-14 18:49:19,379 INFO L273 TraceCheckUtils]: 19: Hoare triple {754#(= 0 rangesum_~cnt~0)} assume !(~i~1 < 40); {754#(= 0 rangesum_~cnt~0)} is VALID [2018-11-14 18:49:19,379 INFO L273 TraceCheckUtils]: 20: Hoare triple {754#(= 0 rangesum_~cnt~0)} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {699#false} is VALID [2018-11-14 18:49:19,380 INFO L273 TraceCheckUtils]: 21: Hoare triple {699#false} assume true; {699#false} is VALID [2018-11-14 18:49:19,380 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {699#false} {698#true} #87#return; {699#false} is VALID [2018-11-14 18:49:19,380 INFO L273 TraceCheckUtils]: 23: Hoare triple {699#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {699#false} is VALID [2018-11-14 18:49:19,380 INFO L256 TraceCheckUtils]: 24: Hoare triple {699#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {699#false} is VALID [2018-11-14 18:49:19,381 INFO L273 TraceCheckUtils]: 25: Hoare triple {699#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {699#false} is VALID [2018-11-14 18:49:19,381 INFO L273 TraceCheckUtils]: 26: Hoare triple {699#false} assume true; {699#false} is VALID [2018-11-14 18:49:19,381 INFO L273 TraceCheckUtils]: 27: Hoare triple {699#false} assume !(~i~1 < 40); {699#false} is VALID [2018-11-14 18:49:19,382 INFO L273 TraceCheckUtils]: 28: Hoare triple {699#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {699#false} is VALID [2018-11-14 18:49:19,382 INFO L273 TraceCheckUtils]: 29: Hoare triple {699#false} assume true; {699#false} is VALID [2018-11-14 18:49:19,382 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {699#false} {699#false} #89#return; {699#false} is VALID [2018-11-14 18:49:19,383 INFO L273 TraceCheckUtils]: 31: Hoare triple {699#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {699#false} is VALID [2018-11-14 18:49:19,383 INFO L273 TraceCheckUtils]: 32: Hoare triple {699#false} assume true; {699#false} is VALID [2018-11-14 18:49:19,383 INFO L273 TraceCheckUtils]: 33: Hoare triple {699#false} assume !(~i~2 < 39); {699#false} is VALID [2018-11-14 18:49:19,383 INFO L273 TraceCheckUtils]: 34: Hoare triple {699#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {699#false} is VALID [2018-11-14 18:49:19,384 INFO L256 TraceCheckUtils]: 35: Hoare triple {699#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {699#false} is VALID [2018-11-14 18:49:19,384 INFO L273 TraceCheckUtils]: 36: Hoare triple {699#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {699#false} is VALID [2018-11-14 18:49:19,384 INFO L273 TraceCheckUtils]: 37: Hoare triple {699#false} assume true; {699#false} is VALID [2018-11-14 18:49:19,385 INFO L273 TraceCheckUtils]: 38: Hoare triple {699#false} assume !(~i~1 < 40); {699#false} is VALID [2018-11-14 18:49:19,385 INFO L273 TraceCheckUtils]: 39: Hoare triple {699#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {699#false} is VALID [2018-11-14 18:49:19,385 INFO L273 TraceCheckUtils]: 40: Hoare triple {699#false} assume true; {699#false} is VALID [2018-11-14 18:49:19,385 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {699#false} {699#false} #91#return; {699#false} is VALID [2018-11-14 18:49:19,386 INFO L273 TraceCheckUtils]: 42: Hoare triple {699#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {699#false} is VALID [2018-11-14 18:49:19,386 INFO L273 TraceCheckUtils]: 43: Hoare triple {699#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {699#false} is VALID [2018-11-14 18:49:19,386 INFO L273 TraceCheckUtils]: 44: Hoare triple {699#false} assume !false; {699#false} is VALID [2018-11-14 18:49:19,390 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-14 18:49:19,409 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:49:19,409 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 18:49:19,410 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 45 [2018-11-14 18:49:19,411 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:19,411 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 18:49:19,519 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:19,519 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 18:49:19,520 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 18:49:19,520 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 18:49:19,520 INFO L87 Difference]: Start difference. First operand 37 states and 43 transitions. Second operand 3 states. [2018-11-14 18:49:19,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:19,696 INFO L93 Difference]: Finished difference Result 64 states and 82 transitions. [2018-11-14 18:49:19,697 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 18:49:19,697 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 45 [2018-11-14 18:49:19,697 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:19,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:49:19,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 80 transitions. [2018-11-14 18:49:19,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:49:19,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 80 transitions. [2018-11-14 18:49:19,704 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 80 transitions. [2018-11-14 18:49:19,817 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 18:49:19,820 INFO L225 Difference]: With dead ends: 64 [2018-11-14 18:49:19,821 INFO L226 Difference]: Without dead ends: 44 [2018-11-14 18:49:19,821 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 43 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 18:49:19,822 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-11-14 18:49:19,840 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 42. [2018-11-14 18:49:19,841 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:19,841 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 42 states. [2018-11-14 18:49:19,841 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 42 states. [2018-11-14 18:49:19,842 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 42 states. [2018-11-14 18:49:19,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:19,846 INFO L93 Difference]: Finished difference Result 44 states and 54 transitions. [2018-11-14 18:49:19,846 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 54 transitions. [2018-11-14 18:49:19,847 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:19,847 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:19,848 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 44 states. [2018-11-14 18:49:19,848 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 44 states. [2018-11-14 18:49:19,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:19,852 INFO L93 Difference]: Finished difference Result 44 states and 54 transitions. [2018-11-14 18:49:19,852 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 54 transitions. [2018-11-14 18:49:19,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:19,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:19,853 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:19,853 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:19,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-14 18:49:19,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2018-11-14 18:49:19,856 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 50 transitions. Word has length 45 [2018-11-14 18:49:19,857 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:19,857 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 50 transitions. [2018-11-14 18:49:19,857 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 18:49:19,857 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2018-11-14 18:49:19,858 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-14 18:49:19,859 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:19,859 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, 1, 1, 1, 1, 1] [2018-11-14 18:49:19,859 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:19,859 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:19,860 INFO L82 PathProgramCache]: Analyzing trace with hash 1732845926, now seen corresponding path program 1 times [2018-11-14 18:49:19,860 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:19,860 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:19,861 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:19,861 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:19,861 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:19,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:19,952 INFO L256 TraceCheckUtils]: 0: Hoare triple {1064#true} call ULTIMATE.init(); {1064#true} is VALID [2018-11-14 18:49:19,953 INFO L273 TraceCheckUtils]: 1: Hoare triple {1064#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1064#true} is VALID [2018-11-14 18:49:19,953 INFO L273 TraceCheckUtils]: 2: Hoare triple {1064#true} assume true; {1064#true} is VALID [2018-11-14 18:49:19,954 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1064#true} {1064#true} #81#return; {1064#true} is VALID [2018-11-14 18:49:19,954 INFO L256 TraceCheckUtils]: 4: Hoare triple {1064#true} call #t~ret12 := main(); {1064#true} is VALID [2018-11-14 18:49:19,955 INFO L273 TraceCheckUtils]: 5: Hoare triple {1064#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {1064#true} is VALID [2018-11-14 18:49:19,955 INFO L256 TraceCheckUtils]: 6: Hoare triple {1064#true} call init_nondet(~#x~0.base, ~#x~0.offset); {1064#true} is VALID [2018-11-14 18:49:19,955 INFO L273 TraceCheckUtils]: 7: Hoare triple {1064#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {1064#true} is VALID [2018-11-14 18:49:19,956 INFO L273 TraceCheckUtils]: 8: Hoare triple {1064#true} assume true; {1064#true} is VALID [2018-11-14 18:49:19,956 INFO L273 TraceCheckUtils]: 9: Hoare triple {1064#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {1064#true} is VALID [2018-11-14 18:49:19,956 INFO L273 TraceCheckUtils]: 10: Hoare triple {1064#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1064#true} is VALID [2018-11-14 18:49:19,956 INFO L273 TraceCheckUtils]: 11: Hoare triple {1064#true} assume true; {1064#true} is VALID [2018-11-14 18:49:19,957 INFO L273 TraceCheckUtils]: 12: Hoare triple {1064#true} assume !(~i~0 < 40); {1064#true} is VALID [2018-11-14 18:49:19,957 INFO L273 TraceCheckUtils]: 13: Hoare triple {1064#true} assume true; {1064#true} is VALID [2018-11-14 18:49:19,957 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {1064#true} {1064#true} #85#return; {1064#true} is VALID [2018-11-14 18:49:19,958 INFO L273 TraceCheckUtils]: 15: Hoare triple {1064#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {1064#true} is VALID [2018-11-14 18:49:19,958 INFO L256 TraceCheckUtils]: 16: Hoare triple {1064#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {1064#true} is VALID [2018-11-14 18:49:19,966 INFO L273 TraceCheckUtils]: 17: Hoare triple {1064#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1066#(= rangesum_~i~1 0)} is VALID [2018-11-14 18:49:19,966 INFO L273 TraceCheckUtils]: 18: Hoare triple {1066#(= rangesum_~i~1 0)} assume true; {1066#(= rangesum_~i~1 0)} is VALID [2018-11-14 18:49:19,968 INFO L273 TraceCheckUtils]: 19: Hoare triple {1066#(= rangesum_~i~1 0)} assume !(~i~1 < 40); {1065#false} is VALID [2018-11-14 18:49:19,968 INFO L273 TraceCheckUtils]: 20: Hoare triple {1065#false} assume !(~cnt~0 != 0);#res := 0; {1065#false} is VALID [2018-11-14 18:49:19,968 INFO L273 TraceCheckUtils]: 21: Hoare triple {1065#false} assume true; {1065#false} is VALID [2018-11-14 18:49:19,968 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1065#false} {1064#true} #87#return; {1065#false} is VALID [2018-11-14 18:49:19,969 INFO L273 TraceCheckUtils]: 23: Hoare triple {1065#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {1065#false} is VALID [2018-11-14 18:49:19,969 INFO L256 TraceCheckUtils]: 24: Hoare triple {1065#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {1064#true} is VALID [2018-11-14 18:49:19,969 INFO L273 TraceCheckUtils]: 25: Hoare triple {1064#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1064#true} is VALID [2018-11-14 18:49:19,969 INFO L273 TraceCheckUtils]: 26: Hoare triple {1064#true} assume true; {1064#true} is VALID [2018-11-14 18:49:19,969 INFO L273 TraceCheckUtils]: 27: Hoare triple {1064#true} assume !(~i~1 < 40); {1064#true} is VALID [2018-11-14 18:49:19,970 INFO L273 TraceCheckUtils]: 28: Hoare triple {1064#true} assume !(~cnt~0 != 0);#res := 0; {1064#true} is VALID [2018-11-14 18:49:19,970 INFO L273 TraceCheckUtils]: 29: Hoare triple {1064#true} assume true; {1064#true} is VALID [2018-11-14 18:49:19,970 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {1064#true} {1065#false} #89#return; {1065#false} is VALID [2018-11-14 18:49:19,970 INFO L273 TraceCheckUtils]: 31: Hoare triple {1065#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {1065#false} is VALID [2018-11-14 18:49:19,971 INFO L273 TraceCheckUtils]: 32: Hoare triple {1065#false} assume true; {1065#false} is VALID [2018-11-14 18:49:19,971 INFO L273 TraceCheckUtils]: 33: Hoare triple {1065#false} assume !(~i~2 < 39); {1065#false} is VALID [2018-11-14 18:49:19,971 INFO L273 TraceCheckUtils]: 34: Hoare triple {1065#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {1065#false} is VALID [2018-11-14 18:49:19,971 INFO L256 TraceCheckUtils]: 35: Hoare triple {1065#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {1064#true} is VALID [2018-11-14 18:49:19,971 INFO L273 TraceCheckUtils]: 36: Hoare triple {1064#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1064#true} is VALID [2018-11-14 18:49:19,972 INFO L273 TraceCheckUtils]: 37: Hoare triple {1064#true} assume true; {1064#true} is VALID [2018-11-14 18:49:19,972 INFO L273 TraceCheckUtils]: 38: Hoare triple {1064#true} assume !(~i~1 < 40); {1064#true} is VALID [2018-11-14 18:49:19,972 INFO L273 TraceCheckUtils]: 39: Hoare triple {1064#true} assume !(~cnt~0 != 0);#res := 0; {1064#true} is VALID [2018-11-14 18:49:19,972 INFO L273 TraceCheckUtils]: 40: Hoare triple {1064#true} assume true; {1064#true} is VALID [2018-11-14 18:49:19,973 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {1064#true} {1065#false} #91#return; {1065#false} is VALID [2018-11-14 18:49:19,973 INFO L273 TraceCheckUtils]: 42: Hoare triple {1065#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {1065#false} is VALID [2018-11-14 18:49:19,973 INFO L273 TraceCheckUtils]: 43: Hoare triple {1065#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1065#false} is VALID [2018-11-14 18:49:19,974 INFO L273 TraceCheckUtils]: 44: Hoare triple {1065#false} assume !false; {1065#false} is VALID [2018-11-14 18:49:19,977 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 18:49:19,978 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:19,978 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 18:49:20,001 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:20,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:20,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:20,071 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:20,370 INFO L256 TraceCheckUtils]: 0: Hoare triple {1064#true} call ULTIMATE.init(); {1064#true} is VALID [2018-11-14 18:49:20,371 INFO L273 TraceCheckUtils]: 1: Hoare triple {1064#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1064#true} is VALID [2018-11-14 18:49:20,371 INFO L273 TraceCheckUtils]: 2: Hoare triple {1064#true} assume true; {1064#true} is VALID [2018-11-14 18:49:20,372 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1064#true} {1064#true} #81#return; {1064#true} is VALID [2018-11-14 18:49:20,372 INFO L256 TraceCheckUtils]: 4: Hoare triple {1064#true} call #t~ret12 := main(); {1064#true} is VALID [2018-11-14 18:49:20,372 INFO L273 TraceCheckUtils]: 5: Hoare triple {1064#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {1064#true} is VALID [2018-11-14 18:49:20,373 INFO L256 TraceCheckUtils]: 6: Hoare triple {1064#true} call init_nondet(~#x~0.base, ~#x~0.offset); {1064#true} is VALID [2018-11-14 18:49:20,373 INFO L273 TraceCheckUtils]: 7: Hoare triple {1064#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {1064#true} is VALID [2018-11-14 18:49:20,373 INFO L273 TraceCheckUtils]: 8: Hoare triple {1064#true} assume true; {1064#true} is VALID [2018-11-14 18:49:20,374 INFO L273 TraceCheckUtils]: 9: Hoare triple {1064#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {1064#true} is VALID [2018-11-14 18:49:20,374 INFO L273 TraceCheckUtils]: 10: Hoare triple {1064#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1064#true} is VALID [2018-11-14 18:49:20,374 INFO L273 TraceCheckUtils]: 11: Hoare triple {1064#true} assume true; {1064#true} is VALID [2018-11-14 18:49:20,374 INFO L273 TraceCheckUtils]: 12: Hoare triple {1064#true} assume !(~i~0 < 40); {1064#true} is VALID [2018-11-14 18:49:20,375 INFO L273 TraceCheckUtils]: 13: Hoare triple {1064#true} assume true; {1064#true} is VALID [2018-11-14 18:49:20,375 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {1064#true} {1064#true} #85#return; {1064#true} is VALID [2018-11-14 18:49:20,375 INFO L273 TraceCheckUtils]: 15: Hoare triple {1064#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {1064#true} is VALID [2018-11-14 18:49:20,375 INFO L256 TraceCheckUtils]: 16: Hoare triple {1064#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {1064#true} is VALID [2018-11-14 18:49:20,377 INFO L273 TraceCheckUtils]: 17: Hoare triple {1064#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1121#(<= rangesum_~i~1 0)} is VALID [2018-11-14 18:49:20,377 INFO L273 TraceCheckUtils]: 18: Hoare triple {1121#(<= rangesum_~i~1 0)} assume true; {1121#(<= rangesum_~i~1 0)} is VALID [2018-11-14 18:49:20,390 INFO L273 TraceCheckUtils]: 19: Hoare triple {1121#(<= rangesum_~i~1 0)} assume !(~i~1 < 40); {1065#false} is VALID [2018-11-14 18:49:20,391 INFO L273 TraceCheckUtils]: 20: Hoare triple {1065#false} assume !(~cnt~0 != 0);#res := 0; {1065#false} is VALID [2018-11-14 18:49:20,391 INFO L273 TraceCheckUtils]: 21: Hoare triple {1065#false} assume true; {1065#false} is VALID [2018-11-14 18:49:20,391 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1065#false} {1064#true} #87#return; {1065#false} is VALID [2018-11-14 18:49:20,391 INFO L273 TraceCheckUtils]: 23: Hoare triple {1065#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {1065#false} is VALID [2018-11-14 18:49:20,392 INFO L256 TraceCheckUtils]: 24: Hoare triple {1065#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {1065#false} is VALID [2018-11-14 18:49:20,392 INFO L273 TraceCheckUtils]: 25: Hoare triple {1065#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1065#false} is VALID [2018-11-14 18:49:20,392 INFO L273 TraceCheckUtils]: 26: Hoare triple {1065#false} assume true; {1065#false} is VALID [2018-11-14 18:49:20,393 INFO L273 TraceCheckUtils]: 27: Hoare triple {1065#false} assume !(~i~1 < 40); {1065#false} is VALID [2018-11-14 18:49:20,393 INFO L273 TraceCheckUtils]: 28: Hoare triple {1065#false} assume !(~cnt~0 != 0);#res := 0; {1065#false} is VALID [2018-11-14 18:49:20,393 INFO L273 TraceCheckUtils]: 29: Hoare triple {1065#false} assume true; {1065#false} is VALID [2018-11-14 18:49:20,393 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {1065#false} {1065#false} #89#return; {1065#false} is VALID [2018-11-14 18:49:20,394 INFO L273 TraceCheckUtils]: 31: Hoare triple {1065#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {1065#false} is VALID [2018-11-14 18:49:20,394 INFO L273 TraceCheckUtils]: 32: Hoare triple {1065#false} assume true; {1065#false} is VALID [2018-11-14 18:49:20,394 INFO L273 TraceCheckUtils]: 33: Hoare triple {1065#false} assume !(~i~2 < 39); {1065#false} is VALID [2018-11-14 18:49:20,394 INFO L273 TraceCheckUtils]: 34: Hoare triple {1065#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {1065#false} is VALID [2018-11-14 18:49:20,395 INFO L256 TraceCheckUtils]: 35: Hoare triple {1065#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {1065#false} is VALID [2018-11-14 18:49:20,395 INFO L273 TraceCheckUtils]: 36: Hoare triple {1065#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1065#false} is VALID [2018-11-14 18:49:20,395 INFO L273 TraceCheckUtils]: 37: Hoare triple {1065#false} assume true; {1065#false} is VALID [2018-11-14 18:49:20,396 INFO L273 TraceCheckUtils]: 38: Hoare triple {1065#false} assume !(~i~1 < 40); {1065#false} is VALID [2018-11-14 18:49:20,396 INFO L273 TraceCheckUtils]: 39: Hoare triple {1065#false} assume !(~cnt~0 != 0);#res := 0; {1065#false} is VALID [2018-11-14 18:49:20,396 INFO L273 TraceCheckUtils]: 40: Hoare triple {1065#false} assume true; {1065#false} is VALID [2018-11-14 18:49:20,396 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {1065#false} {1065#false} #91#return; {1065#false} is VALID [2018-11-14 18:49:20,397 INFO L273 TraceCheckUtils]: 42: Hoare triple {1065#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {1065#false} is VALID [2018-11-14 18:49:20,397 INFO L273 TraceCheckUtils]: 43: Hoare triple {1065#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1065#false} is VALID [2018-11-14 18:49:20,397 INFO L273 TraceCheckUtils]: 44: Hoare triple {1065#false} assume !false; {1065#false} is VALID [2018-11-14 18:49:20,399 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 18:49:20,428 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:20,428 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [3] total 4 [2018-11-14 18:49:20,429 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 45 [2018-11-14 18:49:20,431 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:20,432 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-14 18:49:20,583 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:20,583 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-14 18:49:20,583 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-14 18:49:20,584 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-14 18:49:20,584 INFO L87 Difference]: Start difference. First operand 42 states and 50 transitions. Second operand 4 states. [2018-11-14 18:49:20,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:20,722 INFO L93 Difference]: Finished difference Result 71 states and 90 transitions. [2018-11-14 18:49:20,722 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 18:49:20,722 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 45 [2018-11-14 18:49:20,723 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:20,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:49:20,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-14 18:49:20,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:49:20,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2018-11-14 18:49:20,728 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2018-11-14 18:49:20,864 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 18:49:20,868 INFO L225 Difference]: With dead ends: 71 [2018-11-14 18:49:20,868 INFO L226 Difference]: Without dead ends: 46 [2018-11-14 18:49:20,869 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 45 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 18:49:20,869 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-11-14 18:49:20,901 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2018-11-14 18:49:20,901 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:20,902 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 45 states. [2018-11-14 18:49:20,902 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 45 states. [2018-11-14 18:49:20,902 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 45 states. [2018-11-14 18:49:20,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:20,906 INFO L93 Difference]: Finished difference Result 46 states and 54 transitions. [2018-11-14 18:49:20,906 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 54 transitions. [2018-11-14 18:49:20,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:20,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:20,907 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 46 states. [2018-11-14 18:49:20,907 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 46 states. [2018-11-14 18:49:20,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:20,910 INFO L93 Difference]: Finished difference Result 46 states and 54 transitions. [2018-11-14 18:49:20,910 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 54 transitions. [2018-11-14 18:49:20,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:20,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:20,911 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:20,911 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:20,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-14 18:49:20,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 53 transitions. [2018-11-14 18:49:20,914 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 53 transitions. Word has length 45 [2018-11-14 18:49:20,915 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:20,915 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 53 transitions. [2018-11-14 18:49:20,915 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-14 18:49:20,915 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 53 transitions. [2018-11-14 18:49:20,917 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2018-11-14 18:49:20,917 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:20,917 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, 1, 1, 1, 1, 1] [2018-11-14 18:49:20,917 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:20,918 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:20,918 INFO L82 PathProgramCache]: Analyzing trace with hash 1097185759, now seen corresponding path program 1 times [2018-11-14 18:49:20,918 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:20,918 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:20,919 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:20,919 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:20,919 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:20,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:21,036 INFO L256 TraceCheckUtils]: 0: Hoare triple {1448#true} call ULTIMATE.init(); {1448#true} is VALID [2018-11-14 18:49:21,036 INFO L273 TraceCheckUtils]: 1: Hoare triple {1448#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1448#true} is VALID [2018-11-14 18:49:21,038 INFO L273 TraceCheckUtils]: 2: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,040 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1448#true} {1448#true} #81#return; {1448#true} is VALID [2018-11-14 18:49:21,040 INFO L256 TraceCheckUtils]: 4: Hoare triple {1448#true} call #t~ret12 := main(); {1448#true} is VALID [2018-11-14 18:49:21,040 INFO L273 TraceCheckUtils]: 5: Hoare triple {1448#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {1448#true} is VALID [2018-11-14 18:49:21,041 INFO L256 TraceCheckUtils]: 6: Hoare triple {1448#true} call init_nondet(~#x~0.base, ~#x~0.offset); {1448#true} is VALID [2018-11-14 18:49:21,041 INFO L273 TraceCheckUtils]: 7: Hoare triple {1448#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {1448#true} is VALID [2018-11-14 18:49:21,041 INFO L273 TraceCheckUtils]: 8: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,041 INFO L273 TraceCheckUtils]: 9: Hoare triple {1448#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {1448#true} is VALID [2018-11-14 18:49:21,042 INFO L273 TraceCheckUtils]: 10: Hoare triple {1448#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1448#true} is VALID [2018-11-14 18:49:21,042 INFO L273 TraceCheckUtils]: 11: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,042 INFO L273 TraceCheckUtils]: 12: Hoare triple {1448#true} assume !(~i~0 < 40); {1448#true} is VALID [2018-11-14 18:49:21,042 INFO L273 TraceCheckUtils]: 13: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,043 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {1448#true} {1448#true} #85#return; {1448#true} is VALID [2018-11-14 18:49:21,043 INFO L273 TraceCheckUtils]: 15: Hoare triple {1448#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {1448#true} is VALID [2018-11-14 18:49:21,043 INFO L256 TraceCheckUtils]: 16: Hoare triple {1448#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {1448#true} is VALID [2018-11-14 18:49:21,043 INFO L273 TraceCheckUtils]: 17: Hoare triple {1448#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1448#true} is VALID [2018-11-14 18:49:21,044 INFO L273 TraceCheckUtils]: 18: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,044 INFO L273 TraceCheckUtils]: 19: Hoare triple {1448#true} assume !!(~i~1 < 40); {1448#true} is VALID [2018-11-14 18:49:21,045 INFO L273 TraceCheckUtils]: 20: Hoare triple {1448#true} assume !(~i~1 > 20); {1450#(<= rangesum_~i~1 20)} is VALID [2018-11-14 18:49:21,047 INFO L273 TraceCheckUtils]: 21: Hoare triple {1450#(<= rangesum_~i~1 20)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {1451#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:21,049 INFO L273 TraceCheckUtils]: 22: Hoare triple {1451#(<= rangesum_~i~1 21)} assume true; {1451#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:21,049 INFO L273 TraceCheckUtils]: 23: Hoare triple {1451#(<= rangesum_~i~1 21)} assume !(~i~1 < 40); {1449#false} is VALID [2018-11-14 18:49:21,049 INFO L273 TraceCheckUtils]: 24: Hoare triple {1449#false} assume !(~cnt~0 != 0);#res := 0; {1449#false} is VALID [2018-11-14 18:49:21,050 INFO L273 TraceCheckUtils]: 25: Hoare triple {1449#false} assume true; {1449#false} is VALID [2018-11-14 18:49:21,050 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1449#false} {1448#true} #87#return; {1449#false} is VALID [2018-11-14 18:49:21,050 INFO L273 TraceCheckUtils]: 27: Hoare triple {1449#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {1449#false} is VALID [2018-11-14 18:49:21,050 INFO L256 TraceCheckUtils]: 28: Hoare triple {1449#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {1448#true} is VALID [2018-11-14 18:49:21,050 INFO L273 TraceCheckUtils]: 29: Hoare triple {1448#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1448#true} is VALID [2018-11-14 18:49:21,051 INFO L273 TraceCheckUtils]: 30: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,051 INFO L273 TraceCheckUtils]: 31: Hoare triple {1448#true} assume !!(~i~1 < 40); {1448#true} is VALID [2018-11-14 18:49:21,051 INFO L273 TraceCheckUtils]: 32: Hoare triple {1448#true} assume !(~i~1 > 20); {1448#true} is VALID [2018-11-14 18:49:21,051 INFO L273 TraceCheckUtils]: 33: Hoare triple {1448#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {1448#true} is VALID [2018-11-14 18:49:21,051 INFO L273 TraceCheckUtils]: 34: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,052 INFO L273 TraceCheckUtils]: 35: Hoare triple {1448#true} assume !(~i~1 < 40); {1448#true} is VALID [2018-11-14 18:49:21,052 INFO L273 TraceCheckUtils]: 36: Hoare triple {1448#true} assume !(~cnt~0 != 0);#res := 0; {1448#true} is VALID [2018-11-14 18:49:21,052 INFO L273 TraceCheckUtils]: 37: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,052 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {1448#true} {1449#false} #89#return; {1449#false} is VALID [2018-11-14 18:49:21,053 INFO L273 TraceCheckUtils]: 39: Hoare triple {1449#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {1449#false} is VALID [2018-11-14 18:49:21,053 INFO L273 TraceCheckUtils]: 40: Hoare triple {1449#false} assume true; {1449#false} is VALID [2018-11-14 18:49:21,053 INFO L273 TraceCheckUtils]: 41: Hoare triple {1449#false} assume !(~i~2 < 39); {1449#false} is VALID [2018-11-14 18:49:21,053 INFO L273 TraceCheckUtils]: 42: Hoare triple {1449#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {1449#false} is VALID [2018-11-14 18:49:21,054 INFO L256 TraceCheckUtils]: 43: Hoare triple {1449#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {1448#true} is VALID [2018-11-14 18:49:21,054 INFO L273 TraceCheckUtils]: 44: Hoare triple {1448#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1448#true} is VALID [2018-11-14 18:49:21,054 INFO L273 TraceCheckUtils]: 45: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,054 INFO L273 TraceCheckUtils]: 46: Hoare triple {1448#true} assume !!(~i~1 < 40); {1448#true} is VALID [2018-11-14 18:49:21,055 INFO L273 TraceCheckUtils]: 47: Hoare triple {1448#true} assume !(~i~1 > 20); {1448#true} is VALID [2018-11-14 18:49:21,055 INFO L273 TraceCheckUtils]: 48: Hoare triple {1448#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {1448#true} is VALID [2018-11-14 18:49:21,055 INFO L273 TraceCheckUtils]: 49: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,055 INFO L273 TraceCheckUtils]: 50: Hoare triple {1448#true} assume !(~i~1 < 40); {1448#true} is VALID [2018-11-14 18:49:21,055 INFO L273 TraceCheckUtils]: 51: Hoare triple {1448#true} assume !(~cnt~0 != 0);#res := 0; {1448#true} is VALID [2018-11-14 18:49:21,056 INFO L273 TraceCheckUtils]: 52: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,056 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {1448#true} {1449#false} #91#return; {1449#false} is VALID [2018-11-14 18:49:21,056 INFO L273 TraceCheckUtils]: 54: Hoare triple {1449#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {1449#false} is VALID [2018-11-14 18:49:21,056 INFO L273 TraceCheckUtils]: 55: Hoare triple {1449#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1449#false} is VALID [2018-11-14 18:49:21,056 INFO L273 TraceCheckUtils]: 56: Hoare triple {1449#false} assume !false; {1449#false} is VALID [2018-11-14 18:49:21,060 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 2 proven. 16 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2018-11-14 18:49:21,060 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:21,060 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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 18:49:21,070 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:21,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:21,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:21,153 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:21,567 INFO L256 TraceCheckUtils]: 0: Hoare triple {1448#true} call ULTIMATE.init(); {1448#true} is VALID [2018-11-14 18:49:21,568 INFO L273 TraceCheckUtils]: 1: Hoare triple {1448#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1448#true} is VALID [2018-11-14 18:49:21,568 INFO L273 TraceCheckUtils]: 2: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,569 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1448#true} {1448#true} #81#return; {1448#true} is VALID [2018-11-14 18:49:21,569 INFO L256 TraceCheckUtils]: 4: Hoare triple {1448#true} call #t~ret12 := main(); {1448#true} is VALID [2018-11-14 18:49:21,569 INFO L273 TraceCheckUtils]: 5: Hoare triple {1448#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {1448#true} is VALID [2018-11-14 18:49:21,570 INFO L256 TraceCheckUtils]: 6: Hoare triple {1448#true} call init_nondet(~#x~0.base, ~#x~0.offset); {1448#true} is VALID [2018-11-14 18:49:21,570 INFO L273 TraceCheckUtils]: 7: Hoare triple {1448#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {1448#true} is VALID [2018-11-14 18:49:21,570 INFO L273 TraceCheckUtils]: 8: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,570 INFO L273 TraceCheckUtils]: 9: Hoare triple {1448#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {1448#true} is VALID [2018-11-14 18:49:21,571 INFO L273 TraceCheckUtils]: 10: Hoare triple {1448#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1448#true} is VALID [2018-11-14 18:49:21,571 INFO L273 TraceCheckUtils]: 11: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,571 INFO L273 TraceCheckUtils]: 12: Hoare triple {1448#true} assume !(~i~0 < 40); {1448#true} is VALID [2018-11-14 18:49:21,571 INFO L273 TraceCheckUtils]: 13: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,571 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {1448#true} {1448#true} #85#return; {1448#true} is VALID [2018-11-14 18:49:21,572 INFO L273 TraceCheckUtils]: 15: Hoare triple {1448#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {1448#true} is VALID [2018-11-14 18:49:21,572 INFO L256 TraceCheckUtils]: 16: Hoare triple {1448#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {1448#true} is VALID [2018-11-14 18:49:21,572 INFO L273 TraceCheckUtils]: 17: Hoare triple {1448#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1448#true} is VALID [2018-11-14 18:49:21,572 INFO L273 TraceCheckUtils]: 18: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,572 INFO L273 TraceCheckUtils]: 19: Hoare triple {1448#true} assume !!(~i~1 < 40); {1448#true} is VALID [2018-11-14 18:49:21,573 INFO L273 TraceCheckUtils]: 20: Hoare triple {1448#true} assume !(~i~1 > 20); {1448#true} is VALID [2018-11-14 18:49:21,573 INFO L273 TraceCheckUtils]: 21: Hoare triple {1448#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {1448#true} is VALID [2018-11-14 18:49:21,573 INFO L273 TraceCheckUtils]: 22: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,573 INFO L273 TraceCheckUtils]: 23: Hoare triple {1448#true} assume !(~i~1 < 40); {1448#true} is VALID [2018-11-14 18:49:21,573 INFO L273 TraceCheckUtils]: 24: Hoare triple {1448#true} assume !(~cnt~0 != 0);#res := 0; {1448#true} is VALID [2018-11-14 18:49:21,574 INFO L273 TraceCheckUtils]: 25: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,574 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1448#true} {1448#true} #87#return; {1448#true} is VALID [2018-11-14 18:49:21,574 INFO L273 TraceCheckUtils]: 27: Hoare triple {1448#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {1448#true} is VALID [2018-11-14 18:49:21,574 INFO L256 TraceCheckUtils]: 28: Hoare triple {1448#true} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {1448#true} is VALID [2018-11-14 18:49:21,575 INFO L273 TraceCheckUtils]: 29: Hoare triple {1448#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1448#true} is VALID [2018-11-14 18:49:21,575 INFO L273 TraceCheckUtils]: 30: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,575 INFO L273 TraceCheckUtils]: 31: Hoare triple {1448#true} assume !!(~i~1 < 40); {1448#true} is VALID [2018-11-14 18:49:21,575 INFO L273 TraceCheckUtils]: 32: Hoare triple {1448#true} assume !(~i~1 > 20); {1448#true} is VALID [2018-11-14 18:49:21,576 INFO L273 TraceCheckUtils]: 33: Hoare triple {1448#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {1448#true} is VALID [2018-11-14 18:49:21,576 INFO L273 TraceCheckUtils]: 34: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,576 INFO L273 TraceCheckUtils]: 35: Hoare triple {1448#true} assume !(~i~1 < 40); {1448#true} is VALID [2018-11-14 18:49:21,576 INFO L273 TraceCheckUtils]: 36: Hoare triple {1448#true} assume !(~cnt~0 != 0);#res := 0; {1448#true} is VALID [2018-11-14 18:49:21,577 INFO L273 TraceCheckUtils]: 37: Hoare triple {1448#true} assume true; {1448#true} is VALID [2018-11-14 18:49:21,577 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {1448#true} {1448#true} #89#return; {1448#true} is VALID [2018-11-14 18:49:21,586 INFO L273 TraceCheckUtils]: 39: Hoare triple {1448#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {1572#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:21,586 INFO L273 TraceCheckUtils]: 40: Hoare triple {1572#(<= main_~i~2 0)} assume true; {1572#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:21,587 INFO L273 TraceCheckUtils]: 41: Hoare triple {1572#(<= main_~i~2 0)} assume !(~i~2 < 39); {1449#false} is VALID [2018-11-14 18:49:21,587 INFO L273 TraceCheckUtils]: 42: Hoare triple {1449#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {1449#false} is VALID [2018-11-14 18:49:21,587 INFO L256 TraceCheckUtils]: 43: Hoare triple {1449#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {1449#false} is VALID [2018-11-14 18:49:21,588 INFO L273 TraceCheckUtils]: 44: Hoare triple {1449#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1449#false} is VALID [2018-11-14 18:49:21,588 INFO L273 TraceCheckUtils]: 45: Hoare triple {1449#false} assume true; {1449#false} is VALID [2018-11-14 18:49:21,588 INFO L273 TraceCheckUtils]: 46: Hoare triple {1449#false} assume !!(~i~1 < 40); {1449#false} is VALID [2018-11-14 18:49:21,588 INFO L273 TraceCheckUtils]: 47: Hoare triple {1449#false} assume !(~i~1 > 20); {1449#false} is VALID [2018-11-14 18:49:21,589 INFO L273 TraceCheckUtils]: 48: Hoare triple {1449#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {1449#false} is VALID [2018-11-14 18:49:21,589 INFO L273 TraceCheckUtils]: 49: Hoare triple {1449#false} assume true; {1449#false} is VALID [2018-11-14 18:49:21,589 INFO L273 TraceCheckUtils]: 50: Hoare triple {1449#false} assume !(~i~1 < 40); {1449#false} is VALID [2018-11-14 18:49:21,589 INFO L273 TraceCheckUtils]: 51: Hoare triple {1449#false} assume !(~cnt~0 != 0);#res := 0; {1449#false} is VALID [2018-11-14 18:49:21,589 INFO L273 TraceCheckUtils]: 52: Hoare triple {1449#false} assume true; {1449#false} is VALID [2018-11-14 18:49:21,590 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {1449#false} {1449#false} #91#return; {1449#false} is VALID [2018-11-14 18:49:21,590 INFO L273 TraceCheckUtils]: 54: Hoare triple {1449#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {1449#false} is VALID [2018-11-14 18:49:21,590 INFO L273 TraceCheckUtils]: 55: Hoare triple {1449#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1449#false} is VALID [2018-11-14 18:49:21,590 INFO L273 TraceCheckUtils]: 56: Hoare triple {1449#false} assume !false; {1449#false} is VALID [2018-11-14 18:49:21,594 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 28 proven. 0 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2018-11-14 18:49:21,624 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:21,624 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [4] total 5 [2018-11-14 18:49:21,625 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 57 [2018-11-14 18:49:21,625 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:21,626 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-14 18:49:21,750 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:21,750 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-14 18:49:21,751 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-14 18:49:21,751 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2018-11-14 18:49:21,751 INFO L87 Difference]: Start difference. First operand 45 states and 53 transitions. Second operand 5 states. [2018-11-14 18:49:21,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:21,983 INFO L93 Difference]: Finished difference Result 80 states and 100 transitions. [2018-11-14 18:49:21,983 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 18:49:21,983 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 57 [2018-11-14 18:49:21,984 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:21,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 18:49:21,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2018-11-14 18:49:21,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 18:49:21,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2018-11-14 18:49:21,989 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 82 transitions. [2018-11-14 18:49:22,182 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 18:49:22,185 INFO L225 Difference]: With dead ends: 80 [2018-11-14 18:49:22,185 INFO L226 Difference]: Without dead ends: 52 [2018-11-14 18:49:22,186 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2018-11-14 18:49:22,186 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-14 18:49:22,211 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 45. [2018-11-14 18:49:22,211 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:22,211 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 45 states. [2018-11-14 18:49:22,211 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 45 states. [2018-11-14 18:49:22,211 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 45 states. [2018-11-14 18:49:22,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:22,214 INFO L93 Difference]: Finished difference Result 52 states and 60 transitions. [2018-11-14 18:49:22,215 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 60 transitions. [2018-11-14 18:49:22,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:22,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:22,216 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 52 states. [2018-11-14 18:49:22,216 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 52 states. [2018-11-14 18:49:22,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:22,219 INFO L93 Difference]: Finished difference Result 52 states and 60 transitions. [2018-11-14 18:49:22,219 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 60 transitions. [2018-11-14 18:49:22,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:22,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:22,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:22,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:22,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-14 18:49:22,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 51 transitions. [2018-11-14 18:49:22,223 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 51 transitions. Word has length 57 [2018-11-14 18:49:22,223 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:22,223 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 51 transitions. [2018-11-14 18:49:22,223 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-14 18:49:22,223 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2018-11-14 18:49:22,225 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2018-11-14 18:49:22,225 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:22,226 INFO L375 BasicCegarLoop]: trace histogram [9, 6, 6, 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, 1, 1, 1, 1, 1] [2018-11-14 18:49:22,226 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:22,226 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:22,226 INFO L82 PathProgramCache]: Analyzing trace with hash 1443367440, now seen corresponding path program 1 times [2018-11-14 18:49:22,226 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:22,227 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:22,227 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:22,228 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:22,228 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:22,240 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:22,240 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:22,240 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:22,257 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:22,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:22,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:22,316 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:22,469 INFO L256 TraceCheckUtils]: 0: Hoare triple {1894#true} call ULTIMATE.init(); {1894#true} is VALID [2018-11-14 18:49:22,470 INFO L273 TraceCheckUtils]: 1: Hoare triple {1894#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1894#true} is VALID [2018-11-14 18:49:22,470 INFO L273 TraceCheckUtils]: 2: Hoare triple {1894#true} assume true; {1894#true} is VALID [2018-11-14 18:49:22,471 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1894#true} {1894#true} #81#return; {1894#true} is VALID [2018-11-14 18:49:22,471 INFO L256 TraceCheckUtils]: 4: Hoare triple {1894#true} call #t~ret12 := main(); {1894#true} is VALID [2018-11-14 18:49:22,471 INFO L273 TraceCheckUtils]: 5: Hoare triple {1894#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {1894#true} is VALID [2018-11-14 18:49:22,472 INFO L256 TraceCheckUtils]: 6: Hoare triple {1894#true} call init_nondet(~#x~0.base, ~#x~0.offset); {1894#true} is VALID [2018-11-14 18:49:22,472 INFO L273 TraceCheckUtils]: 7: Hoare triple {1894#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {1920#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:22,473 INFO L273 TraceCheckUtils]: 8: Hoare triple {1920#(<= init_nondet_~i~0 0)} assume true; {1920#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:22,474 INFO L273 TraceCheckUtils]: 9: Hoare triple {1920#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {1920#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:22,475 INFO L273 TraceCheckUtils]: 10: Hoare triple {1920#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1930#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:22,476 INFO L273 TraceCheckUtils]: 11: Hoare triple {1930#(<= init_nondet_~i~0 1)} assume true; {1930#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:22,477 INFO L273 TraceCheckUtils]: 12: Hoare triple {1930#(<= init_nondet_~i~0 1)} assume !(~i~0 < 40); {1895#false} is VALID [2018-11-14 18:49:22,477 INFO L273 TraceCheckUtils]: 13: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,477 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {1895#false} {1894#true} #85#return; {1895#false} is VALID [2018-11-14 18:49:22,478 INFO L273 TraceCheckUtils]: 15: Hoare triple {1895#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {1895#false} is VALID [2018-11-14 18:49:22,478 INFO L256 TraceCheckUtils]: 16: Hoare triple {1895#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {1895#false} is VALID [2018-11-14 18:49:22,478 INFO L273 TraceCheckUtils]: 17: Hoare triple {1895#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1895#false} is VALID [2018-11-14 18:49:22,479 INFO L273 TraceCheckUtils]: 18: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,479 INFO L273 TraceCheckUtils]: 19: Hoare triple {1895#false} assume !!(~i~1 < 40); {1895#false} is VALID [2018-11-14 18:49:22,479 INFO L273 TraceCheckUtils]: 20: Hoare triple {1895#false} assume !(~i~1 > 20); {1895#false} is VALID [2018-11-14 18:49:22,480 INFO L273 TraceCheckUtils]: 21: Hoare triple {1895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {1895#false} is VALID [2018-11-14 18:49:22,480 INFO L273 TraceCheckUtils]: 22: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,480 INFO L273 TraceCheckUtils]: 23: Hoare triple {1895#false} assume !!(~i~1 < 40); {1895#false} is VALID [2018-11-14 18:49:22,480 INFO L273 TraceCheckUtils]: 24: Hoare triple {1895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {1895#false} is VALID [2018-11-14 18:49:22,481 INFO L273 TraceCheckUtils]: 25: Hoare triple {1895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {1895#false} is VALID [2018-11-14 18:49:22,481 INFO L273 TraceCheckUtils]: 26: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,481 INFO L273 TraceCheckUtils]: 27: Hoare triple {1895#false} assume !(~i~1 < 40); {1895#false} is VALID [2018-11-14 18:49:22,481 INFO L273 TraceCheckUtils]: 28: Hoare triple {1895#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {1895#false} is VALID [2018-11-14 18:49:22,482 INFO L273 TraceCheckUtils]: 29: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,482 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {1895#false} {1895#false} #87#return; {1895#false} is VALID [2018-11-14 18:49:22,482 INFO L273 TraceCheckUtils]: 31: Hoare triple {1895#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {1895#false} is VALID [2018-11-14 18:49:22,482 INFO L256 TraceCheckUtils]: 32: Hoare triple {1895#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {1895#false} is VALID [2018-11-14 18:49:22,483 INFO L273 TraceCheckUtils]: 33: Hoare triple {1895#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1895#false} is VALID [2018-11-14 18:49:22,483 INFO L273 TraceCheckUtils]: 34: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,483 INFO L273 TraceCheckUtils]: 35: Hoare triple {1895#false} assume !!(~i~1 < 40); {1895#false} is VALID [2018-11-14 18:49:22,483 INFO L273 TraceCheckUtils]: 36: Hoare triple {1895#false} assume !(~i~1 > 20); {1895#false} is VALID [2018-11-14 18:49:22,484 INFO L273 TraceCheckUtils]: 37: Hoare triple {1895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {1895#false} is VALID [2018-11-14 18:49:22,484 INFO L273 TraceCheckUtils]: 38: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,484 INFO L273 TraceCheckUtils]: 39: Hoare triple {1895#false} assume !!(~i~1 < 40); {1895#false} is VALID [2018-11-14 18:49:22,484 INFO L273 TraceCheckUtils]: 40: Hoare triple {1895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {1895#false} is VALID [2018-11-14 18:49:22,485 INFO L273 TraceCheckUtils]: 41: Hoare triple {1895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {1895#false} is VALID [2018-11-14 18:49:22,485 INFO L273 TraceCheckUtils]: 42: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,485 INFO L273 TraceCheckUtils]: 43: Hoare triple {1895#false} assume !(~i~1 < 40); {1895#false} is VALID [2018-11-14 18:49:22,485 INFO L273 TraceCheckUtils]: 44: Hoare triple {1895#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {1895#false} is VALID [2018-11-14 18:49:22,486 INFO L273 TraceCheckUtils]: 45: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,486 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {1895#false} {1895#false} #89#return; {1895#false} is VALID [2018-11-14 18:49:22,486 INFO L273 TraceCheckUtils]: 47: Hoare triple {1895#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {1895#false} is VALID [2018-11-14 18:49:22,486 INFO L273 TraceCheckUtils]: 48: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,487 INFO L273 TraceCheckUtils]: 49: Hoare triple {1895#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {1895#false} is VALID [2018-11-14 18:49:22,487 INFO L273 TraceCheckUtils]: 50: Hoare triple {1895#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {1895#false} is VALID [2018-11-14 18:49:22,487 INFO L273 TraceCheckUtils]: 51: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,488 INFO L273 TraceCheckUtils]: 52: Hoare triple {1895#false} assume !(~i~2 < 39); {1895#false} is VALID [2018-11-14 18:49:22,488 INFO L273 TraceCheckUtils]: 53: Hoare triple {1895#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {1895#false} is VALID [2018-11-14 18:49:22,488 INFO L256 TraceCheckUtils]: 54: Hoare triple {1895#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {1895#false} is VALID [2018-11-14 18:49:22,488 INFO L273 TraceCheckUtils]: 55: Hoare triple {1895#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {1895#false} is VALID [2018-11-14 18:49:22,489 INFO L273 TraceCheckUtils]: 56: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,489 INFO L273 TraceCheckUtils]: 57: Hoare triple {1895#false} assume !!(~i~1 < 40); {1895#false} is VALID [2018-11-14 18:49:22,489 INFO L273 TraceCheckUtils]: 58: Hoare triple {1895#false} assume !(~i~1 > 20); {1895#false} is VALID [2018-11-14 18:49:22,489 INFO L273 TraceCheckUtils]: 59: Hoare triple {1895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {1895#false} is VALID [2018-11-14 18:49:22,490 INFO L273 TraceCheckUtils]: 60: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,490 INFO L273 TraceCheckUtils]: 61: Hoare triple {1895#false} assume !!(~i~1 < 40); {1895#false} is VALID [2018-11-14 18:49:22,490 INFO L273 TraceCheckUtils]: 62: Hoare triple {1895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {1895#false} is VALID [2018-11-14 18:49:22,490 INFO L273 TraceCheckUtils]: 63: Hoare triple {1895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {1895#false} is VALID [2018-11-14 18:49:22,492 INFO L273 TraceCheckUtils]: 64: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,492 INFO L273 TraceCheckUtils]: 65: Hoare triple {1895#false} assume !(~i~1 < 40); {1895#false} is VALID [2018-11-14 18:49:22,492 INFO L273 TraceCheckUtils]: 66: Hoare triple {1895#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {1895#false} is VALID [2018-11-14 18:49:22,492 INFO L273 TraceCheckUtils]: 67: Hoare triple {1895#false} assume true; {1895#false} is VALID [2018-11-14 18:49:22,493 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {1895#false} {1895#false} #91#return; {1895#false} is VALID [2018-11-14 18:49:22,493 INFO L273 TraceCheckUtils]: 69: Hoare triple {1895#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {1895#false} is VALID [2018-11-14 18:49:22,493 INFO L273 TraceCheckUtils]: 70: Hoare triple {1895#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1895#false} is VALID [2018-11-14 18:49:22,493 INFO L273 TraceCheckUtils]: 71: Hoare triple {1895#false} assume !false; {1895#false} is VALID [2018-11-14 18:49:22,499 INFO L134 CoverageAnalysis]: Checked inductivity of 118 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 116 trivial. 0 not checked. [2018-11-14 18:49:22,520 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:22,520 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4] total 4 [2018-11-14 18:49:22,520 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 72 [2018-11-14 18:49:22,521 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:22,521 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-14 18:49:22,572 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:22,572 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-14 18:49:22,572 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-14 18:49:22,573 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-14 18:49:22,573 INFO L87 Difference]: Start difference. First operand 45 states and 51 transitions. Second operand 4 states. [2018-11-14 18:49:22,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:22,818 INFO L93 Difference]: Finished difference Result 81 states and 93 transitions. [2018-11-14 18:49:22,818 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-14 18:49:22,818 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 72 [2018-11-14 18:49:22,819 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:22,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:49:22,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 77 transitions. [2018-11-14 18:49:22,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:49:22,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 77 transitions. [2018-11-14 18:49:22,824 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 77 transitions. [2018-11-14 18:49:22,992 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:22,995 INFO L225 Difference]: With dead ends: 81 [2018-11-14 18:49:22,995 INFO L226 Difference]: Without dead ends: 49 [2018-11-14 18:49:22,996 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 69 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 18:49:22,996 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2018-11-14 18:49:23,043 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 48. [2018-11-14 18:49:23,043 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:23,044 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 48 states. [2018-11-14 18:49:23,044 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 48 states. [2018-11-14 18:49:23,044 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 48 states. [2018-11-14 18:49:23,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:23,046 INFO L93 Difference]: Finished difference Result 49 states and 55 transitions. [2018-11-14 18:49:23,046 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 55 transitions. [2018-11-14 18:49:23,046 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:23,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:23,047 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 49 states. [2018-11-14 18:49:23,047 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 49 states. [2018-11-14 18:49:23,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:23,049 INFO L93 Difference]: Finished difference Result 49 states and 55 transitions. [2018-11-14 18:49:23,050 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 55 transitions. [2018-11-14 18:49:23,050 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:23,050 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:23,050 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:23,051 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:23,051 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-14 18:49:23,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 54 transitions. [2018-11-14 18:49:23,053 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 54 transitions. Word has length 72 [2018-11-14 18:49:23,053 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:23,053 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 54 transitions. [2018-11-14 18:49:23,054 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-14 18:49:23,054 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 54 transitions. [2018-11-14 18:49:23,055 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2018-11-14 18:49:23,055 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:23,055 INFO L375 BasicCegarLoop]: trace histogram [9, 6, 6, 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, 1, 1, 1, 1, 1] [2018-11-14 18:49:23,055 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:23,055 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:23,056 INFO L82 PathProgramCache]: Analyzing trace with hash -1738675978, now seen corresponding path program 2 times [2018-11-14 18:49:23,056 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:23,056 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:23,057 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:23,057 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:23,057 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:23,071 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:23,071 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:23,071 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:23,089 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:49:23,130 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:49:23,130 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:23,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:23,163 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:23,365 INFO L256 TraceCheckUtils]: 0: Hoare triple {2385#true} call ULTIMATE.init(); {2385#true} is VALID [2018-11-14 18:49:23,365 INFO L273 TraceCheckUtils]: 1: Hoare triple {2385#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2385#true} is VALID [2018-11-14 18:49:23,365 INFO L273 TraceCheckUtils]: 2: Hoare triple {2385#true} assume true; {2385#true} is VALID [2018-11-14 18:49:23,365 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2385#true} {2385#true} #81#return; {2385#true} is VALID [2018-11-14 18:49:23,366 INFO L256 TraceCheckUtils]: 4: Hoare triple {2385#true} call #t~ret12 := main(); {2385#true} is VALID [2018-11-14 18:49:23,366 INFO L273 TraceCheckUtils]: 5: Hoare triple {2385#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {2385#true} is VALID [2018-11-14 18:49:23,366 INFO L256 TraceCheckUtils]: 6: Hoare triple {2385#true} call init_nondet(~#x~0.base, ~#x~0.offset); {2385#true} is VALID [2018-11-14 18:49:23,366 INFO L273 TraceCheckUtils]: 7: Hoare triple {2385#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {2411#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:23,367 INFO L273 TraceCheckUtils]: 8: Hoare triple {2411#(<= init_nondet_~i~0 0)} assume true; {2411#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:23,367 INFO L273 TraceCheckUtils]: 9: Hoare triple {2411#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {2411#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:23,368 INFO L273 TraceCheckUtils]: 10: Hoare triple {2411#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2421#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:23,368 INFO L273 TraceCheckUtils]: 11: Hoare triple {2421#(<= init_nondet_~i~0 1)} assume true; {2421#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:23,369 INFO L273 TraceCheckUtils]: 12: Hoare triple {2421#(<= init_nondet_~i~0 1)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {2421#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:23,369 INFO L273 TraceCheckUtils]: 13: Hoare triple {2421#(<= init_nondet_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2431#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:23,370 INFO L273 TraceCheckUtils]: 14: Hoare triple {2431#(<= init_nondet_~i~0 2)} assume true; {2431#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:23,371 INFO L273 TraceCheckUtils]: 15: Hoare triple {2431#(<= init_nondet_~i~0 2)} assume !(~i~0 < 40); {2386#false} is VALID [2018-11-14 18:49:23,371 INFO L273 TraceCheckUtils]: 16: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,371 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {2386#false} {2385#true} #85#return; {2386#false} is VALID [2018-11-14 18:49:23,372 INFO L273 TraceCheckUtils]: 18: Hoare triple {2386#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {2386#false} is VALID [2018-11-14 18:49:23,372 INFO L256 TraceCheckUtils]: 19: Hoare triple {2386#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {2386#false} is VALID [2018-11-14 18:49:23,372 INFO L273 TraceCheckUtils]: 20: Hoare triple {2386#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {2386#false} is VALID [2018-11-14 18:49:23,373 INFO L273 TraceCheckUtils]: 21: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,373 INFO L273 TraceCheckUtils]: 22: Hoare triple {2386#false} assume !!(~i~1 < 40); {2386#false} is VALID [2018-11-14 18:49:23,373 INFO L273 TraceCheckUtils]: 23: Hoare triple {2386#false} assume !(~i~1 > 20); {2386#false} is VALID [2018-11-14 18:49:23,373 INFO L273 TraceCheckUtils]: 24: Hoare triple {2386#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {2386#false} is VALID [2018-11-14 18:49:23,374 INFO L273 TraceCheckUtils]: 25: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,374 INFO L273 TraceCheckUtils]: 26: Hoare triple {2386#false} assume !!(~i~1 < 40); {2386#false} is VALID [2018-11-14 18:49:23,375 INFO L273 TraceCheckUtils]: 27: Hoare triple {2386#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {2386#false} is VALID [2018-11-14 18:49:23,375 INFO L273 TraceCheckUtils]: 28: Hoare triple {2386#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {2386#false} is VALID [2018-11-14 18:49:23,375 INFO L273 TraceCheckUtils]: 29: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,376 INFO L273 TraceCheckUtils]: 30: Hoare triple {2386#false} assume !(~i~1 < 40); {2386#false} is VALID [2018-11-14 18:49:23,376 INFO L273 TraceCheckUtils]: 31: Hoare triple {2386#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {2386#false} is VALID [2018-11-14 18:49:23,376 INFO L273 TraceCheckUtils]: 32: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,377 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {2386#false} {2386#false} #87#return; {2386#false} is VALID [2018-11-14 18:49:23,377 INFO L273 TraceCheckUtils]: 34: Hoare triple {2386#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {2386#false} is VALID [2018-11-14 18:49:23,377 INFO L256 TraceCheckUtils]: 35: Hoare triple {2386#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {2386#false} is VALID [2018-11-14 18:49:23,377 INFO L273 TraceCheckUtils]: 36: Hoare triple {2386#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {2386#false} is VALID [2018-11-14 18:49:23,377 INFO L273 TraceCheckUtils]: 37: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,377 INFO L273 TraceCheckUtils]: 38: Hoare triple {2386#false} assume !!(~i~1 < 40); {2386#false} is VALID [2018-11-14 18:49:23,378 INFO L273 TraceCheckUtils]: 39: Hoare triple {2386#false} assume !(~i~1 > 20); {2386#false} is VALID [2018-11-14 18:49:23,378 INFO L273 TraceCheckUtils]: 40: Hoare triple {2386#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {2386#false} is VALID [2018-11-14 18:49:23,378 INFO L273 TraceCheckUtils]: 41: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,378 INFO L273 TraceCheckUtils]: 42: Hoare triple {2386#false} assume !!(~i~1 < 40); {2386#false} is VALID [2018-11-14 18:49:23,378 INFO L273 TraceCheckUtils]: 43: Hoare triple {2386#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {2386#false} is VALID [2018-11-14 18:49:23,379 INFO L273 TraceCheckUtils]: 44: Hoare triple {2386#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {2386#false} is VALID [2018-11-14 18:49:23,379 INFO L273 TraceCheckUtils]: 45: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,379 INFO L273 TraceCheckUtils]: 46: Hoare triple {2386#false} assume !(~i~1 < 40); {2386#false} is VALID [2018-11-14 18:49:23,379 INFO L273 TraceCheckUtils]: 47: Hoare triple {2386#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {2386#false} is VALID [2018-11-14 18:49:23,379 INFO L273 TraceCheckUtils]: 48: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,380 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {2386#false} {2386#false} #89#return; {2386#false} is VALID [2018-11-14 18:49:23,380 INFO L273 TraceCheckUtils]: 50: Hoare triple {2386#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {2386#false} is VALID [2018-11-14 18:49:23,380 INFO L273 TraceCheckUtils]: 51: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,380 INFO L273 TraceCheckUtils]: 52: Hoare triple {2386#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {2386#false} is VALID [2018-11-14 18:49:23,380 INFO L273 TraceCheckUtils]: 53: Hoare triple {2386#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {2386#false} is VALID [2018-11-14 18:49:23,380 INFO L273 TraceCheckUtils]: 54: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,381 INFO L273 TraceCheckUtils]: 55: Hoare triple {2386#false} assume !(~i~2 < 39); {2386#false} is VALID [2018-11-14 18:49:23,381 INFO L273 TraceCheckUtils]: 56: Hoare triple {2386#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {2386#false} is VALID [2018-11-14 18:49:23,381 INFO L256 TraceCheckUtils]: 57: Hoare triple {2386#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {2386#false} is VALID [2018-11-14 18:49:23,381 INFO L273 TraceCheckUtils]: 58: Hoare triple {2386#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {2386#false} is VALID [2018-11-14 18:49:23,381 INFO L273 TraceCheckUtils]: 59: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,381 INFO L273 TraceCheckUtils]: 60: Hoare triple {2386#false} assume !!(~i~1 < 40); {2386#false} is VALID [2018-11-14 18:49:23,382 INFO L273 TraceCheckUtils]: 61: Hoare triple {2386#false} assume !(~i~1 > 20); {2386#false} is VALID [2018-11-14 18:49:23,382 INFO L273 TraceCheckUtils]: 62: Hoare triple {2386#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {2386#false} is VALID [2018-11-14 18:49:23,382 INFO L273 TraceCheckUtils]: 63: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,382 INFO L273 TraceCheckUtils]: 64: Hoare triple {2386#false} assume !!(~i~1 < 40); {2386#false} is VALID [2018-11-14 18:49:23,383 INFO L273 TraceCheckUtils]: 65: Hoare triple {2386#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {2386#false} is VALID [2018-11-14 18:49:23,383 INFO L273 TraceCheckUtils]: 66: Hoare triple {2386#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {2386#false} is VALID [2018-11-14 18:49:23,383 INFO L273 TraceCheckUtils]: 67: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,383 INFO L273 TraceCheckUtils]: 68: Hoare triple {2386#false} assume !(~i~1 < 40); {2386#false} is VALID [2018-11-14 18:49:23,384 INFO L273 TraceCheckUtils]: 69: Hoare triple {2386#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {2386#false} is VALID [2018-11-14 18:49:23,384 INFO L273 TraceCheckUtils]: 70: Hoare triple {2386#false} assume true; {2386#false} is VALID [2018-11-14 18:49:23,384 INFO L268 TraceCheckUtils]: 71: Hoare quadruple {2386#false} {2386#false} #91#return; {2386#false} is VALID [2018-11-14 18:49:23,384 INFO L273 TraceCheckUtils]: 72: Hoare triple {2386#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {2386#false} is VALID [2018-11-14 18:49:23,385 INFO L273 TraceCheckUtils]: 73: Hoare triple {2386#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2386#false} is VALID [2018-11-14 18:49:23,385 INFO L273 TraceCheckUtils]: 74: Hoare triple {2386#false} assume !false; {2386#false} is VALID [2018-11-14 18:49:23,404 INFO L134 CoverageAnalysis]: Checked inductivity of 123 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 116 trivial. 0 not checked. [2018-11-14 18:49:23,429 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:23,430 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5] total 5 [2018-11-14 18:49:23,430 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 75 [2018-11-14 18:49:23,430 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:23,431 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-14 18:49:23,478 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 18:49:23,479 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-14 18:49:23,479 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-14 18:49:23,479 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-14 18:49:23,479 INFO L87 Difference]: Start difference. First operand 48 states and 54 transitions. Second operand 5 states. [2018-11-14 18:49:23,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:23,875 INFO L93 Difference]: Finished difference Result 84 states and 96 transitions. [2018-11-14 18:49:23,875 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 18:49:23,875 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 75 [2018-11-14 18:49:23,875 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:23,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 18:49:23,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 80 transitions. [2018-11-14 18:49:23,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 18:49:23,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 80 transitions. [2018-11-14 18:49:23,879 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 80 transitions. [2018-11-14 18:49:24,043 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 18:49:24,044 INFO L225 Difference]: With dead ends: 84 [2018-11-14 18:49:24,045 INFO L226 Difference]: Without dead ends: 52 [2018-11-14 18:49:24,045 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 71 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 18:49:24,046 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-14 18:49:24,178 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 51. [2018-11-14 18:49:24,178 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:24,179 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 51 states. [2018-11-14 18:49:24,179 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 51 states. [2018-11-14 18:49:24,179 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 51 states. [2018-11-14 18:49:24,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:24,182 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2018-11-14 18:49:24,182 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2018-11-14 18:49:24,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:24,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:24,183 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 52 states. [2018-11-14 18:49:24,183 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 52 states. [2018-11-14 18:49:24,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:24,186 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2018-11-14 18:49:24,186 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2018-11-14 18:49:24,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:24,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:24,186 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:24,186 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:24,187 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-14 18:49:24,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 57 transitions. [2018-11-14 18:49:24,189 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 57 transitions. Word has length 75 [2018-11-14 18:49:24,189 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:24,189 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 57 transitions. [2018-11-14 18:49:24,189 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-14 18:49:24,189 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 57 transitions. [2018-11-14 18:49:24,190 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2018-11-14 18:49:24,190 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:24,190 INFO L375 BasicCegarLoop]: trace histogram [9, 6, 6, 4, 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, 1, 1, 1, 1, 1] [2018-11-14 18:49:24,190 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:24,192 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:24,192 INFO L82 PathProgramCache]: Analyzing trace with hash 524015696, now seen corresponding path program 3 times [2018-11-14 18:49:24,192 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:24,192 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:24,193 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:24,193 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:24,193 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:24,221 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:24,222 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:24,222 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:24,244 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 18:49:24,276 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-14 18:49:24,277 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:24,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:24,316 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:24,458 INFO L256 TraceCheckUtils]: 0: Hoare triple {2900#true} call ULTIMATE.init(); {2900#true} is VALID [2018-11-14 18:49:24,458 INFO L273 TraceCheckUtils]: 1: Hoare triple {2900#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2900#true} is VALID [2018-11-14 18:49:24,459 INFO L273 TraceCheckUtils]: 2: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,459 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2900#true} {2900#true} #81#return; {2900#true} is VALID [2018-11-14 18:49:24,459 INFO L256 TraceCheckUtils]: 4: Hoare triple {2900#true} call #t~ret12 := main(); {2900#true} is VALID [2018-11-14 18:49:24,459 INFO L273 TraceCheckUtils]: 5: Hoare triple {2900#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {2900#true} is VALID [2018-11-14 18:49:24,459 INFO L256 TraceCheckUtils]: 6: Hoare triple {2900#true} call init_nondet(~#x~0.base, ~#x~0.offset); {2900#true} is VALID [2018-11-14 18:49:24,459 INFO L273 TraceCheckUtils]: 7: Hoare triple {2900#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {2900#true} is VALID [2018-11-14 18:49:24,459 INFO L273 TraceCheckUtils]: 8: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,460 INFO L273 TraceCheckUtils]: 9: Hoare triple {2900#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {2900#true} is VALID [2018-11-14 18:49:24,460 INFO L273 TraceCheckUtils]: 10: Hoare triple {2900#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2900#true} is VALID [2018-11-14 18:49:24,460 INFO L273 TraceCheckUtils]: 11: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,460 INFO L273 TraceCheckUtils]: 12: Hoare triple {2900#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {2900#true} is VALID [2018-11-14 18:49:24,460 INFO L273 TraceCheckUtils]: 13: Hoare triple {2900#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2900#true} is VALID [2018-11-14 18:49:24,460 INFO L273 TraceCheckUtils]: 14: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,460 INFO L273 TraceCheckUtils]: 15: Hoare triple {2900#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {2900#true} is VALID [2018-11-14 18:49:24,461 INFO L273 TraceCheckUtils]: 16: Hoare triple {2900#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2900#true} is VALID [2018-11-14 18:49:24,461 INFO L273 TraceCheckUtils]: 17: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,461 INFO L273 TraceCheckUtils]: 18: Hoare triple {2900#true} assume !(~i~0 < 40); {2900#true} is VALID [2018-11-14 18:49:24,461 INFO L273 TraceCheckUtils]: 19: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,461 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {2900#true} {2900#true} #85#return; {2900#true} is VALID [2018-11-14 18:49:24,461 INFO L273 TraceCheckUtils]: 21: Hoare triple {2900#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {2900#true} is VALID [2018-11-14 18:49:24,461 INFO L256 TraceCheckUtils]: 22: Hoare triple {2900#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {2900#true} is VALID [2018-11-14 18:49:24,461 INFO L273 TraceCheckUtils]: 23: Hoare triple {2900#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {2900#true} is VALID [2018-11-14 18:49:24,462 INFO L273 TraceCheckUtils]: 24: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,462 INFO L273 TraceCheckUtils]: 25: Hoare triple {2900#true} assume !!(~i~1 < 40); {2900#true} is VALID [2018-11-14 18:49:24,462 INFO L273 TraceCheckUtils]: 26: Hoare triple {2900#true} assume !(~i~1 > 20); {2900#true} is VALID [2018-11-14 18:49:24,462 INFO L273 TraceCheckUtils]: 27: Hoare triple {2900#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {2900#true} is VALID [2018-11-14 18:49:24,462 INFO L273 TraceCheckUtils]: 28: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,462 INFO L273 TraceCheckUtils]: 29: Hoare triple {2900#true} assume !!(~i~1 < 40); {2900#true} is VALID [2018-11-14 18:49:24,462 INFO L273 TraceCheckUtils]: 30: Hoare triple {2900#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {2900#true} is VALID [2018-11-14 18:49:24,463 INFO L273 TraceCheckUtils]: 31: Hoare triple {2900#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {2900#true} is VALID [2018-11-14 18:49:24,463 INFO L273 TraceCheckUtils]: 32: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,463 INFO L273 TraceCheckUtils]: 33: Hoare triple {2900#true} assume !(~i~1 < 40); {2900#true} is VALID [2018-11-14 18:49:24,463 INFO L273 TraceCheckUtils]: 34: Hoare triple {2900#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {2900#true} is VALID [2018-11-14 18:49:24,463 INFO L273 TraceCheckUtils]: 35: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,463 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {2900#true} {2900#true} #87#return; {2900#true} is VALID [2018-11-14 18:49:24,465 INFO L273 TraceCheckUtils]: 37: Hoare triple {2900#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {2900#true} is VALID [2018-11-14 18:49:24,465 INFO L256 TraceCheckUtils]: 38: Hoare triple {2900#true} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {2900#true} is VALID [2018-11-14 18:49:24,465 INFO L273 TraceCheckUtils]: 39: Hoare triple {2900#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {2900#true} is VALID [2018-11-14 18:49:24,465 INFO L273 TraceCheckUtils]: 40: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,465 INFO L273 TraceCheckUtils]: 41: Hoare triple {2900#true} assume !!(~i~1 < 40); {2900#true} is VALID [2018-11-14 18:49:24,466 INFO L273 TraceCheckUtils]: 42: Hoare triple {2900#true} assume !(~i~1 > 20); {2900#true} is VALID [2018-11-14 18:49:24,466 INFO L273 TraceCheckUtils]: 43: Hoare triple {2900#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {2900#true} is VALID [2018-11-14 18:49:24,466 INFO L273 TraceCheckUtils]: 44: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,466 INFO L273 TraceCheckUtils]: 45: Hoare triple {2900#true} assume !!(~i~1 < 40); {2900#true} is VALID [2018-11-14 18:49:24,466 INFO L273 TraceCheckUtils]: 46: Hoare triple {2900#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {2900#true} is VALID [2018-11-14 18:49:24,466 INFO L273 TraceCheckUtils]: 47: Hoare triple {2900#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {2900#true} is VALID [2018-11-14 18:49:24,467 INFO L273 TraceCheckUtils]: 48: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,467 INFO L273 TraceCheckUtils]: 49: Hoare triple {2900#true} assume !(~i~1 < 40); {2900#true} is VALID [2018-11-14 18:49:24,467 INFO L273 TraceCheckUtils]: 50: Hoare triple {2900#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {2900#true} is VALID [2018-11-14 18:49:24,467 INFO L273 TraceCheckUtils]: 51: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,467 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {2900#true} {2900#true} #89#return; {2900#true} is VALID [2018-11-14 18:49:24,468 INFO L273 TraceCheckUtils]: 53: Hoare triple {2900#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {2900#true} is VALID [2018-11-14 18:49:24,468 INFO L273 TraceCheckUtils]: 54: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,468 INFO L273 TraceCheckUtils]: 55: Hoare triple {2900#true} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {2900#true} is VALID [2018-11-14 18:49:24,468 INFO L273 TraceCheckUtils]: 56: Hoare triple {2900#true} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {2900#true} is VALID [2018-11-14 18:49:24,468 INFO L273 TraceCheckUtils]: 57: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,468 INFO L273 TraceCheckUtils]: 58: Hoare triple {2900#true} assume !(~i~2 < 39); {2900#true} is VALID [2018-11-14 18:49:24,469 INFO L273 TraceCheckUtils]: 59: Hoare triple {2900#true} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {2900#true} is VALID [2018-11-14 18:49:24,469 INFO L256 TraceCheckUtils]: 60: Hoare triple {2900#true} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {2900#true} is VALID [2018-11-14 18:49:24,469 INFO L273 TraceCheckUtils]: 61: Hoare triple {2900#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {2900#true} is VALID [2018-11-14 18:49:24,469 INFO L273 TraceCheckUtils]: 62: Hoare triple {2900#true} assume true; {2900#true} is VALID [2018-11-14 18:49:24,469 INFO L273 TraceCheckUtils]: 63: Hoare triple {2900#true} assume !!(~i~1 < 40); {2900#true} is VALID [2018-11-14 18:49:24,483 INFO L273 TraceCheckUtils]: 64: Hoare triple {2900#true} assume !(~i~1 > 20); {3097#(<= rangesum_~i~1 20)} is VALID [2018-11-14 18:49:24,496 INFO L273 TraceCheckUtils]: 65: Hoare triple {3097#(<= rangesum_~i~1 20)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {3101#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:24,500 INFO L273 TraceCheckUtils]: 66: Hoare triple {3101#(<= rangesum_~i~1 21)} assume true; {3101#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:24,500 INFO L273 TraceCheckUtils]: 67: Hoare triple {3101#(<= rangesum_~i~1 21)} assume !!(~i~1 < 40); {3101#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:24,502 INFO L273 TraceCheckUtils]: 68: Hoare triple {3101#(<= rangesum_~i~1 21)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {3101#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:24,502 INFO L273 TraceCheckUtils]: 69: Hoare triple {3101#(<= rangesum_~i~1 21)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {3114#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:24,504 INFO L273 TraceCheckUtils]: 70: Hoare triple {3114#(<= rangesum_~i~1 22)} assume true; {3114#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:24,504 INFO L273 TraceCheckUtils]: 71: Hoare triple {3114#(<= rangesum_~i~1 22)} assume !(~i~1 < 40); {2901#false} is VALID [2018-11-14 18:49:24,504 INFO L273 TraceCheckUtils]: 72: Hoare triple {2901#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {2901#false} is VALID [2018-11-14 18:49:24,504 INFO L273 TraceCheckUtils]: 73: Hoare triple {2901#false} assume true; {2901#false} is VALID [2018-11-14 18:49:24,504 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {2901#false} {2900#true} #91#return; {2901#false} is VALID [2018-11-14 18:49:24,505 INFO L273 TraceCheckUtils]: 75: Hoare triple {2901#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {2901#false} is VALID [2018-11-14 18:49:24,505 INFO L273 TraceCheckUtils]: 76: Hoare triple {2901#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2901#false} is VALID [2018-11-14 18:49:24,505 INFO L273 TraceCheckUtils]: 77: Hoare triple {2901#false} assume !false; {2901#false} is VALID [2018-11-14 18:49:24,508 INFO L134 CoverageAnalysis]: Checked inductivity of 131 backedges. 47 proven. 3 refuted. 0 times theorem prover too weak. 81 trivial. 0 not checked. [2018-11-14 18:49:24,529 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:24,529 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5] total 5 [2018-11-14 18:49:24,530 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 78 [2018-11-14 18:49:24,530 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:24,530 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-14 18:49:24,659 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:24,659 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-14 18:49:24,659 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-14 18:49:24,659 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-14 18:49:24,660 INFO L87 Difference]: Start difference. First operand 51 states and 57 transitions. Second operand 5 states. [2018-11-14 18:49:24,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:24,808 INFO L93 Difference]: Finished difference Result 85 states and 101 transitions. [2018-11-14 18:49:24,808 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 18:49:24,809 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 78 [2018-11-14 18:49:24,809 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:24,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 18:49:24,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2018-11-14 18:49:24,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 18:49:24,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2018-11-14 18:49:24,813 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2018-11-14 18:49:24,929 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:24,931 INFO L225 Difference]: With dead ends: 85 [2018-11-14 18:49:24,931 INFO L226 Difference]: Without dead ends: 57 [2018-11-14 18:49:24,932 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 74 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 18:49:24,932 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2018-11-14 18:49:24,962 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 55. [2018-11-14 18:49:24,962 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:24,962 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 55 states. [2018-11-14 18:49:24,962 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 55 states. [2018-11-14 18:49:24,962 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 55 states. [2018-11-14 18:49:24,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:24,965 INFO L93 Difference]: Finished difference Result 57 states and 65 transitions. [2018-11-14 18:49:24,965 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 65 transitions. [2018-11-14 18:49:24,965 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:24,966 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:24,966 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 57 states. [2018-11-14 18:49:24,966 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 57 states. [2018-11-14 18:49:24,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:24,968 INFO L93 Difference]: Finished difference Result 57 states and 65 transitions. [2018-11-14 18:49:24,968 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 65 transitions. [2018-11-14 18:49:24,969 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:24,969 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:24,969 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:24,969 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:24,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-11-14 18:49:24,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 62 transitions. [2018-11-14 18:49:24,971 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 62 transitions. Word has length 78 [2018-11-14 18:49:24,972 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:24,972 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 62 transitions. [2018-11-14 18:49:24,972 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-14 18:49:24,972 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 62 transitions. [2018-11-14 18:49:24,973 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2018-11-14 18:49:24,973 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:24,973 INFO L375 BasicCegarLoop]: trace histogram [12, 9, 9, 6, 4, 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, 1, 1, 1, 1] [2018-11-14 18:49:24,974 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:24,974 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:24,974 INFO L82 PathProgramCache]: Analyzing trace with hash 684707691, now seen corresponding path program 4 times [2018-11-14 18:49:24,974 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:24,974 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:24,975 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:24,975 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:24,975 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:24,989 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:24,989 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:24,989 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:25,019 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 18:49:25,062 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 18:49:25,062 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:25,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:25,093 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:25,492 INFO L256 TraceCheckUtils]: 0: Hoare triple {3440#true} call ULTIMATE.init(); {3440#true} is VALID [2018-11-14 18:49:25,492 INFO L273 TraceCheckUtils]: 1: Hoare triple {3440#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3440#true} is VALID [2018-11-14 18:49:25,493 INFO L273 TraceCheckUtils]: 2: Hoare triple {3440#true} assume true; {3440#true} is VALID [2018-11-14 18:49:25,493 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3440#true} {3440#true} #81#return; {3440#true} is VALID [2018-11-14 18:49:25,493 INFO L256 TraceCheckUtils]: 4: Hoare triple {3440#true} call #t~ret12 := main(); {3440#true} is VALID [2018-11-14 18:49:25,493 INFO L273 TraceCheckUtils]: 5: Hoare triple {3440#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {3440#true} is VALID [2018-11-14 18:49:25,493 INFO L256 TraceCheckUtils]: 6: Hoare triple {3440#true} call init_nondet(~#x~0.base, ~#x~0.offset); {3440#true} is VALID [2018-11-14 18:49:25,494 INFO L273 TraceCheckUtils]: 7: Hoare triple {3440#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {3466#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:25,494 INFO L273 TraceCheckUtils]: 8: Hoare triple {3466#(<= init_nondet_~i~0 0)} assume true; {3466#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:25,495 INFO L273 TraceCheckUtils]: 9: Hoare triple {3466#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {3466#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:25,495 INFO L273 TraceCheckUtils]: 10: Hoare triple {3466#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3476#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:25,495 INFO L273 TraceCheckUtils]: 11: Hoare triple {3476#(<= init_nondet_~i~0 1)} assume true; {3476#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:25,496 INFO L273 TraceCheckUtils]: 12: Hoare triple {3476#(<= init_nondet_~i~0 1)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {3476#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:25,496 INFO L273 TraceCheckUtils]: 13: Hoare triple {3476#(<= init_nondet_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3486#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:25,497 INFO L273 TraceCheckUtils]: 14: Hoare triple {3486#(<= init_nondet_~i~0 2)} assume true; {3486#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:25,497 INFO L273 TraceCheckUtils]: 15: Hoare triple {3486#(<= init_nondet_~i~0 2)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {3486#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:25,498 INFO L273 TraceCheckUtils]: 16: Hoare triple {3486#(<= init_nondet_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3496#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:25,498 INFO L273 TraceCheckUtils]: 17: Hoare triple {3496#(<= init_nondet_~i~0 3)} assume true; {3496#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:25,499 INFO L273 TraceCheckUtils]: 18: Hoare triple {3496#(<= init_nondet_~i~0 3)} assume !(~i~0 < 40); {3441#false} is VALID [2018-11-14 18:49:25,499 INFO L273 TraceCheckUtils]: 19: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,500 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {3441#false} {3440#true} #85#return; {3441#false} is VALID [2018-11-14 18:49:25,500 INFO L273 TraceCheckUtils]: 21: Hoare triple {3441#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {3441#false} is VALID [2018-11-14 18:49:25,500 INFO L256 TraceCheckUtils]: 22: Hoare triple {3441#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {3441#false} is VALID [2018-11-14 18:49:25,500 INFO L273 TraceCheckUtils]: 23: Hoare triple {3441#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {3441#false} is VALID [2018-11-14 18:49:25,500 INFO L273 TraceCheckUtils]: 24: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,501 INFO L273 TraceCheckUtils]: 25: Hoare triple {3441#false} assume !!(~i~1 < 40); {3441#false} is VALID [2018-11-14 18:49:25,501 INFO L273 TraceCheckUtils]: 26: Hoare triple {3441#false} assume !(~i~1 > 20); {3441#false} is VALID [2018-11-14 18:49:25,501 INFO L273 TraceCheckUtils]: 27: Hoare triple {3441#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {3441#false} is VALID [2018-11-14 18:49:25,501 INFO L273 TraceCheckUtils]: 28: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,502 INFO L273 TraceCheckUtils]: 29: Hoare triple {3441#false} assume !!(~i~1 < 40); {3441#false} is VALID [2018-11-14 18:49:25,502 INFO L273 TraceCheckUtils]: 30: Hoare triple {3441#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {3441#false} is VALID [2018-11-14 18:49:25,502 INFO L273 TraceCheckUtils]: 31: Hoare triple {3441#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {3441#false} is VALID [2018-11-14 18:49:25,502 INFO L273 TraceCheckUtils]: 32: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,502 INFO L273 TraceCheckUtils]: 33: Hoare triple {3441#false} assume !!(~i~1 < 40); {3441#false} is VALID [2018-11-14 18:49:25,503 INFO L273 TraceCheckUtils]: 34: Hoare triple {3441#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {3441#false} is VALID [2018-11-14 18:49:25,503 INFO L273 TraceCheckUtils]: 35: Hoare triple {3441#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {3441#false} is VALID [2018-11-14 18:49:25,503 INFO L273 TraceCheckUtils]: 36: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,503 INFO L273 TraceCheckUtils]: 37: Hoare triple {3441#false} assume !(~i~1 < 40); {3441#false} is VALID [2018-11-14 18:49:25,503 INFO L273 TraceCheckUtils]: 38: Hoare triple {3441#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {3441#false} is VALID [2018-11-14 18:49:25,503 INFO L273 TraceCheckUtils]: 39: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,503 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {3441#false} {3441#false} #87#return; {3441#false} is VALID [2018-11-14 18:49:25,503 INFO L273 TraceCheckUtils]: 41: Hoare triple {3441#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {3441#false} is VALID [2018-11-14 18:49:25,503 INFO L256 TraceCheckUtils]: 42: Hoare triple {3441#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {3441#false} is VALID [2018-11-14 18:49:25,504 INFO L273 TraceCheckUtils]: 43: Hoare triple {3441#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {3441#false} is VALID [2018-11-14 18:49:25,504 INFO L273 TraceCheckUtils]: 44: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,504 INFO L273 TraceCheckUtils]: 45: Hoare triple {3441#false} assume !!(~i~1 < 40); {3441#false} is VALID [2018-11-14 18:49:25,504 INFO L273 TraceCheckUtils]: 46: Hoare triple {3441#false} assume !(~i~1 > 20); {3441#false} is VALID [2018-11-14 18:49:25,504 INFO L273 TraceCheckUtils]: 47: Hoare triple {3441#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {3441#false} is VALID [2018-11-14 18:49:25,504 INFO L273 TraceCheckUtils]: 48: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,504 INFO L273 TraceCheckUtils]: 49: Hoare triple {3441#false} assume !!(~i~1 < 40); {3441#false} is VALID [2018-11-14 18:49:25,504 INFO L273 TraceCheckUtils]: 50: Hoare triple {3441#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {3441#false} is VALID [2018-11-14 18:49:25,505 INFO L273 TraceCheckUtils]: 51: Hoare triple {3441#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {3441#false} is VALID [2018-11-14 18:49:25,505 INFO L273 TraceCheckUtils]: 52: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,505 INFO L273 TraceCheckUtils]: 53: Hoare triple {3441#false} assume !!(~i~1 < 40); {3441#false} is VALID [2018-11-14 18:49:25,505 INFO L273 TraceCheckUtils]: 54: Hoare triple {3441#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {3441#false} is VALID [2018-11-14 18:49:25,505 INFO L273 TraceCheckUtils]: 55: Hoare triple {3441#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {3441#false} is VALID [2018-11-14 18:49:25,505 INFO L273 TraceCheckUtils]: 56: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,505 INFO L273 TraceCheckUtils]: 57: Hoare triple {3441#false} assume !(~i~1 < 40); {3441#false} is VALID [2018-11-14 18:49:25,505 INFO L273 TraceCheckUtils]: 58: Hoare triple {3441#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {3441#false} is VALID [2018-11-14 18:49:25,506 INFO L273 TraceCheckUtils]: 59: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,506 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {3441#false} {3441#false} #89#return; {3441#false} is VALID [2018-11-14 18:49:25,506 INFO L273 TraceCheckUtils]: 61: Hoare triple {3441#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {3441#false} is VALID [2018-11-14 18:49:25,506 INFO L273 TraceCheckUtils]: 62: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,506 INFO L273 TraceCheckUtils]: 63: Hoare triple {3441#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {3441#false} is VALID [2018-11-14 18:49:25,506 INFO L273 TraceCheckUtils]: 64: Hoare triple {3441#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {3441#false} is VALID [2018-11-14 18:49:25,506 INFO L273 TraceCheckUtils]: 65: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,506 INFO L273 TraceCheckUtils]: 66: Hoare triple {3441#false} assume !(~i~2 < 39); {3441#false} is VALID [2018-11-14 18:49:25,507 INFO L273 TraceCheckUtils]: 67: Hoare triple {3441#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {3441#false} is VALID [2018-11-14 18:49:25,507 INFO L256 TraceCheckUtils]: 68: Hoare triple {3441#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {3441#false} is VALID [2018-11-14 18:49:25,507 INFO L273 TraceCheckUtils]: 69: Hoare triple {3441#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {3441#false} is VALID [2018-11-14 18:49:25,507 INFO L273 TraceCheckUtils]: 70: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,507 INFO L273 TraceCheckUtils]: 71: Hoare triple {3441#false} assume !!(~i~1 < 40); {3441#false} is VALID [2018-11-14 18:49:25,507 INFO L273 TraceCheckUtils]: 72: Hoare triple {3441#false} assume !(~i~1 > 20); {3441#false} is VALID [2018-11-14 18:49:25,507 INFO L273 TraceCheckUtils]: 73: Hoare triple {3441#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {3441#false} is VALID [2018-11-14 18:49:25,507 INFO L273 TraceCheckUtils]: 74: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,508 INFO L273 TraceCheckUtils]: 75: Hoare triple {3441#false} assume !!(~i~1 < 40); {3441#false} is VALID [2018-11-14 18:49:25,508 INFO L273 TraceCheckUtils]: 76: Hoare triple {3441#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {3441#false} is VALID [2018-11-14 18:49:25,508 INFO L273 TraceCheckUtils]: 77: Hoare triple {3441#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {3441#false} is VALID [2018-11-14 18:49:25,508 INFO L273 TraceCheckUtils]: 78: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,508 INFO L273 TraceCheckUtils]: 79: Hoare triple {3441#false} assume !!(~i~1 < 40); {3441#false} is VALID [2018-11-14 18:49:25,508 INFO L273 TraceCheckUtils]: 80: Hoare triple {3441#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {3441#false} is VALID [2018-11-14 18:49:25,508 INFO L273 TraceCheckUtils]: 81: Hoare triple {3441#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {3441#false} is VALID [2018-11-14 18:49:25,508 INFO L273 TraceCheckUtils]: 82: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,509 INFO L273 TraceCheckUtils]: 83: Hoare triple {3441#false} assume !(~i~1 < 40); {3441#false} is VALID [2018-11-14 18:49:25,509 INFO L273 TraceCheckUtils]: 84: Hoare triple {3441#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {3441#false} is VALID [2018-11-14 18:49:25,509 INFO L273 TraceCheckUtils]: 85: Hoare triple {3441#false} assume true; {3441#false} is VALID [2018-11-14 18:49:25,509 INFO L268 TraceCheckUtils]: 86: Hoare quadruple {3441#false} {3441#false} #91#return; {3441#false} is VALID [2018-11-14 18:49:25,509 INFO L273 TraceCheckUtils]: 87: Hoare triple {3441#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {3441#false} is VALID [2018-11-14 18:49:25,509 INFO L273 TraceCheckUtils]: 88: Hoare triple {3441#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3441#false} is VALID [2018-11-14 18:49:25,509 INFO L273 TraceCheckUtils]: 89: Hoare triple {3441#false} assume !false; {3441#false} is VALID [2018-11-14 18:49:25,515 INFO L134 CoverageAnalysis]: Checked inductivity of 233 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 218 trivial. 0 not checked. [2018-11-14 18:49:25,535 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:25,535 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6] total 6 [2018-11-14 18:49:25,536 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 90 [2018-11-14 18:49:25,536 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:25,536 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 18:49:25,584 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:25,584 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 18:49:25,584 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 18:49:25,585 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:49:25,585 INFO L87 Difference]: Start difference. First operand 55 states and 62 transitions. Second operand 6 states. [2018-11-14 18:49:25,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:25,743 INFO L93 Difference]: Finished difference Result 95 states and 109 transitions. [2018-11-14 18:49:25,743 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 18:49:25,743 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 90 [2018-11-14 18:49:25,744 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:25,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:49:25,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 83 transitions. [2018-11-14 18:49:25,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:49:25,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 83 transitions. [2018-11-14 18:49:25,747 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 83 transitions. [2018-11-14 18:49:25,871 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:25,873 INFO L225 Difference]: With dead ends: 95 [2018-11-14 18:49:25,874 INFO L226 Difference]: Without dead ends: 59 [2018-11-14 18:49:25,875 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:49:25,875 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2018-11-14 18:49:25,906 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 58. [2018-11-14 18:49:25,907 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:25,907 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 58 states. [2018-11-14 18:49:25,907 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 58 states. [2018-11-14 18:49:25,907 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 58 states. [2018-11-14 18:49:25,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:25,911 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2018-11-14 18:49:25,911 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 66 transitions. [2018-11-14 18:49:25,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:25,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:25,911 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 59 states. [2018-11-14 18:49:25,912 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 59 states. [2018-11-14 18:49:25,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:25,913 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2018-11-14 18:49:25,913 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 66 transitions. [2018-11-14 18:49:25,914 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:25,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:25,914 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:25,914 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:25,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2018-11-14 18:49:25,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 65 transitions. [2018-11-14 18:49:25,916 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 65 transitions. Word has length 90 [2018-11-14 18:49:25,916 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:25,916 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 65 transitions. [2018-11-14 18:49:25,916 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 18:49:25,916 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 65 transitions. [2018-11-14 18:49:25,917 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 94 [2018-11-14 18:49:25,917 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:25,917 INFO L375 BasicCegarLoop]: trace histogram [12, 9, 9, 6, 5, 4, 4, 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, 1, 1, 1, 1] [2018-11-14 18:49:25,918 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:25,918 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:25,918 INFO L82 PathProgramCache]: Analyzing trace with hash -406978351, now seen corresponding path program 5 times [2018-11-14 18:49:25,918 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:25,918 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:25,919 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:25,919 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:25,919 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:25,938 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:25,939 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:25,939 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:25,956 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-14 18:49:25,976 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-14 18:49:25,976 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:25,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:25,995 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:26,149 INFO L256 TraceCheckUtils]: 0: Hoare triple {4038#true} call ULTIMATE.init(); {4038#true} is VALID [2018-11-14 18:49:26,149 INFO L273 TraceCheckUtils]: 1: Hoare triple {4038#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4038#true} is VALID [2018-11-14 18:49:26,149 INFO L273 TraceCheckUtils]: 2: Hoare triple {4038#true} assume true; {4038#true} is VALID [2018-11-14 18:49:26,150 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4038#true} {4038#true} #81#return; {4038#true} is VALID [2018-11-14 18:49:26,150 INFO L256 TraceCheckUtils]: 4: Hoare triple {4038#true} call #t~ret12 := main(); {4038#true} is VALID [2018-11-14 18:49:26,150 INFO L273 TraceCheckUtils]: 5: Hoare triple {4038#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {4038#true} is VALID [2018-11-14 18:49:26,150 INFO L256 TraceCheckUtils]: 6: Hoare triple {4038#true} call init_nondet(~#x~0.base, ~#x~0.offset); {4038#true} is VALID [2018-11-14 18:49:26,151 INFO L273 TraceCheckUtils]: 7: Hoare triple {4038#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {4038#true} is VALID [2018-11-14 18:49:26,151 INFO L273 TraceCheckUtils]: 8: Hoare triple {4038#true} assume true; {4038#true} is VALID [2018-11-14 18:49:26,151 INFO L273 TraceCheckUtils]: 9: Hoare triple {4038#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {4038#true} is VALID [2018-11-14 18:49:26,151 INFO L273 TraceCheckUtils]: 10: Hoare triple {4038#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4038#true} is VALID [2018-11-14 18:49:26,151 INFO L273 TraceCheckUtils]: 11: Hoare triple {4038#true} assume true; {4038#true} is VALID [2018-11-14 18:49:26,152 INFO L273 TraceCheckUtils]: 12: Hoare triple {4038#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {4038#true} is VALID [2018-11-14 18:49:26,152 INFO L273 TraceCheckUtils]: 13: Hoare triple {4038#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4038#true} is VALID [2018-11-14 18:49:26,152 INFO L273 TraceCheckUtils]: 14: Hoare triple {4038#true} assume true; {4038#true} is VALID [2018-11-14 18:49:26,152 INFO L273 TraceCheckUtils]: 15: Hoare triple {4038#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {4038#true} is VALID [2018-11-14 18:49:26,152 INFO L273 TraceCheckUtils]: 16: Hoare triple {4038#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4038#true} is VALID [2018-11-14 18:49:26,152 INFO L273 TraceCheckUtils]: 17: Hoare triple {4038#true} assume true; {4038#true} is VALID [2018-11-14 18:49:26,152 INFO L273 TraceCheckUtils]: 18: Hoare triple {4038#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {4038#true} is VALID [2018-11-14 18:49:26,153 INFO L273 TraceCheckUtils]: 19: Hoare triple {4038#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4038#true} is VALID [2018-11-14 18:49:26,153 INFO L273 TraceCheckUtils]: 20: Hoare triple {4038#true} assume true; {4038#true} is VALID [2018-11-14 18:49:26,153 INFO L273 TraceCheckUtils]: 21: Hoare triple {4038#true} assume !(~i~0 < 40); {4038#true} is VALID [2018-11-14 18:49:26,153 INFO L273 TraceCheckUtils]: 22: Hoare triple {4038#true} assume true; {4038#true} is VALID [2018-11-14 18:49:26,153 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {4038#true} {4038#true} #85#return; {4038#true} is VALID [2018-11-14 18:49:26,153 INFO L273 TraceCheckUtils]: 24: Hoare triple {4038#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {4038#true} is VALID [2018-11-14 18:49:26,154 INFO L256 TraceCheckUtils]: 25: Hoare triple {4038#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {4038#true} is VALID [2018-11-14 18:49:26,154 INFO L273 TraceCheckUtils]: 26: Hoare triple {4038#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {4038#true} is VALID [2018-11-14 18:49:26,154 INFO L273 TraceCheckUtils]: 27: Hoare triple {4038#true} assume true; {4038#true} is VALID [2018-11-14 18:49:26,154 INFO L273 TraceCheckUtils]: 28: Hoare triple {4038#true} assume !!(~i~1 < 40); {4038#true} is VALID [2018-11-14 18:49:26,175 INFO L273 TraceCheckUtils]: 29: Hoare triple {4038#true} assume !(~i~1 > 20); {4130#(<= rangesum_~i~1 20)} is VALID [2018-11-14 18:49:26,175 INFO L273 TraceCheckUtils]: 30: Hoare triple {4130#(<= rangesum_~i~1 20)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4134#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:26,176 INFO L273 TraceCheckUtils]: 31: Hoare triple {4134#(<= rangesum_~i~1 21)} assume true; {4134#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:26,176 INFO L273 TraceCheckUtils]: 32: Hoare triple {4134#(<= rangesum_~i~1 21)} assume !!(~i~1 < 40); {4134#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:26,176 INFO L273 TraceCheckUtils]: 33: Hoare triple {4134#(<= rangesum_~i~1 21)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4134#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:26,177 INFO L273 TraceCheckUtils]: 34: Hoare triple {4134#(<= rangesum_~i~1 21)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4147#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:26,177 INFO L273 TraceCheckUtils]: 35: Hoare triple {4147#(<= rangesum_~i~1 22)} assume true; {4147#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:26,177 INFO L273 TraceCheckUtils]: 36: Hoare triple {4147#(<= rangesum_~i~1 22)} assume !!(~i~1 < 40); {4147#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:26,178 INFO L273 TraceCheckUtils]: 37: Hoare triple {4147#(<= rangesum_~i~1 22)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4147#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:26,179 INFO L273 TraceCheckUtils]: 38: Hoare triple {4147#(<= rangesum_~i~1 22)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4160#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:26,180 INFO L273 TraceCheckUtils]: 39: Hoare triple {4160#(<= rangesum_~i~1 23)} assume true; {4160#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:26,180 INFO L273 TraceCheckUtils]: 40: Hoare triple {4160#(<= rangesum_~i~1 23)} assume !(~i~1 < 40); {4039#false} is VALID [2018-11-14 18:49:26,181 INFO L273 TraceCheckUtils]: 41: Hoare triple {4039#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {4039#false} is VALID [2018-11-14 18:49:26,181 INFO L273 TraceCheckUtils]: 42: Hoare triple {4039#false} assume true; {4039#false} is VALID [2018-11-14 18:49:26,181 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {4039#false} {4038#true} #87#return; {4039#false} is VALID [2018-11-14 18:49:26,181 INFO L273 TraceCheckUtils]: 44: Hoare triple {4039#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {4039#false} is VALID [2018-11-14 18:49:26,182 INFO L256 TraceCheckUtils]: 45: Hoare triple {4039#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {4039#false} is VALID [2018-11-14 18:49:26,182 INFO L273 TraceCheckUtils]: 46: Hoare triple {4039#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {4039#false} is VALID [2018-11-14 18:49:26,182 INFO L273 TraceCheckUtils]: 47: Hoare triple {4039#false} assume true; {4039#false} is VALID [2018-11-14 18:49:26,182 INFO L273 TraceCheckUtils]: 48: Hoare triple {4039#false} assume !!(~i~1 < 40); {4039#false} is VALID [2018-11-14 18:49:26,182 INFO L273 TraceCheckUtils]: 49: Hoare triple {4039#false} assume !(~i~1 > 20); {4039#false} is VALID [2018-11-14 18:49:26,183 INFO L273 TraceCheckUtils]: 50: Hoare triple {4039#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4039#false} is VALID [2018-11-14 18:49:26,183 INFO L273 TraceCheckUtils]: 51: Hoare triple {4039#false} assume true; {4039#false} is VALID [2018-11-14 18:49:26,183 INFO L273 TraceCheckUtils]: 52: Hoare triple {4039#false} assume !!(~i~1 < 40); {4039#false} is VALID [2018-11-14 18:49:26,183 INFO L273 TraceCheckUtils]: 53: Hoare triple {4039#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4039#false} is VALID [2018-11-14 18:49:26,184 INFO L273 TraceCheckUtils]: 54: Hoare triple {4039#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4039#false} is VALID [2018-11-14 18:49:26,184 INFO L273 TraceCheckUtils]: 55: Hoare triple {4039#false} assume true; {4039#false} is VALID [2018-11-14 18:49:26,184 INFO L273 TraceCheckUtils]: 56: Hoare triple {4039#false} assume !!(~i~1 < 40); {4039#false} is VALID [2018-11-14 18:49:26,184 INFO L273 TraceCheckUtils]: 57: Hoare triple {4039#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4039#false} is VALID [2018-11-14 18:49:26,184 INFO L273 TraceCheckUtils]: 58: Hoare triple {4039#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4039#false} is VALID [2018-11-14 18:49:26,184 INFO L273 TraceCheckUtils]: 59: Hoare triple {4039#false} assume true; {4039#false} is VALID [2018-11-14 18:49:26,184 INFO L273 TraceCheckUtils]: 60: Hoare triple {4039#false} assume !(~i~1 < 40); {4039#false} is VALID [2018-11-14 18:49:26,184 INFO L273 TraceCheckUtils]: 61: Hoare triple {4039#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {4039#false} is VALID [2018-11-14 18:49:26,185 INFO L273 TraceCheckUtils]: 62: Hoare triple {4039#false} assume true; {4039#false} is VALID [2018-11-14 18:49:26,185 INFO L268 TraceCheckUtils]: 63: Hoare quadruple {4039#false} {4039#false} #89#return; {4039#false} is VALID [2018-11-14 18:49:26,185 INFO L273 TraceCheckUtils]: 64: Hoare triple {4039#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {4039#false} is VALID [2018-11-14 18:49:26,185 INFO L273 TraceCheckUtils]: 65: Hoare triple {4039#false} assume true; {4039#false} is VALID [2018-11-14 18:49:26,185 INFO L273 TraceCheckUtils]: 66: Hoare triple {4039#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {4039#false} is VALID [2018-11-14 18:49:26,185 INFO L273 TraceCheckUtils]: 67: Hoare triple {4039#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {4039#false} is VALID [2018-11-14 18:49:26,185 INFO L273 TraceCheckUtils]: 68: Hoare triple {4039#false} assume true; {4039#false} is VALID [2018-11-14 18:49:26,185 INFO L273 TraceCheckUtils]: 69: Hoare triple {4039#false} assume !(~i~2 < 39); {4039#false} is VALID [2018-11-14 18:49:26,186 INFO L273 TraceCheckUtils]: 70: Hoare triple {4039#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {4039#false} is VALID [2018-11-14 18:49:26,186 INFO L256 TraceCheckUtils]: 71: Hoare triple {4039#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {4039#false} is VALID [2018-11-14 18:49:26,186 INFO L273 TraceCheckUtils]: 72: Hoare triple {4039#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {4039#false} is VALID [2018-11-14 18:49:26,186 INFO L273 TraceCheckUtils]: 73: Hoare triple {4039#false} assume true; {4039#false} is VALID [2018-11-14 18:49:26,186 INFO L273 TraceCheckUtils]: 74: Hoare triple {4039#false} assume !!(~i~1 < 40); {4039#false} is VALID [2018-11-14 18:49:26,186 INFO L273 TraceCheckUtils]: 75: Hoare triple {4039#false} assume !(~i~1 > 20); {4039#false} is VALID [2018-11-14 18:49:26,186 INFO L273 TraceCheckUtils]: 76: Hoare triple {4039#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4039#false} is VALID [2018-11-14 18:49:26,186 INFO L273 TraceCheckUtils]: 77: Hoare triple {4039#false} assume true; {4039#false} is VALID [2018-11-14 18:49:26,186 INFO L273 TraceCheckUtils]: 78: Hoare triple {4039#false} assume !!(~i~1 < 40); {4039#false} is VALID [2018-11-14 18:49:26,187 INFO L273 TraceCheckUtils]: 79: Hoare triple {4039#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4039#false} is VALID [2018-11-14 18:49:26,187 INFO L273 TraceCheckUtils]: 80: Hoare triple {4039#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4039#false} is VALID [2018-11-14 18:49:26,187 INFO L273 TraceCheckUtils]: 81: Hoare triple {4039#false} assume true; {4039#false} is VALID [2018-11-14 18:49:26,187 INFO L273 TraceCheckUtils]: 82: Hoare triple {4039#false} assume !!(~i~1 < 40); {4039#false} is VALID [2018-11-14 18:49:26,187 INFO L273 TraceCheckUtils]: 83: Hoare triple {4039#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4039#false} is VALID [2018-11-14 18:49:26,187 INFO L273 TraceCheckUtils]: 84: Hoare triple {4039#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4039#false} is VALID [2018-11-14 18:49:26,187 INFO L273 TraceCheckUtils]: 85: Hoare triple {4039#false} assume true; {4039#false} is VALID [2018-11-14 18:49:26,187 INFO L273 TraceCheckUtils]: 86: Hoare triple {4039#false} assume !(~i~1 < 40); {4039#false} is VALID [2018-11-14 18:49:26,188 INFO L273 TraceCheckUtils]: 87: Hoare triple {4039#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {4039#false} is VALID [2018-11-14 18:49:26,188 INFO L273 TraceCheckUtils]: 88: Hoare triple {4039#false} assume true; {4039#false} is VALID [2018-11-14 18:49:26,188 INFO L268 TraceCheckUtils]: 89: Hoare quadruple {4039#false} {4039#false} #91#return; {4039#false} is VALID [2018-11-14 18:49:26,188 INFO L273 TraceCheckUtils]: 90: Hoare triple {4039#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {4039#false} is VALID [2018-11-14 18:49:26,188 INFO L273 TraceCheckUtils]: 91: Hoare triple {4039#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4039#false} is VALID [2018-11-14 18:49:26,188 INFO L273 TraceCheckUtils]: 92: Hoare triple {4039#false} assume !false; {4039#false} is VALID [2018-11-14 18:49:26,192 INFO L134 CoverageAnalysis]: Checked inductivity of 244 backedges. 110 proven. 10 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2018-11-14 18:49:26,214 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:26,214 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6] total 6 [2018-11-14 18:49:26,214 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 93 [2018-11-14 18:49:26,215 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:26,215 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 18:49:26,316 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 18:49:26,316 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 18:49:26,316 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 18:49:26,317 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:49:26,317 INFO L87 Difference]: Start difference. First operand 58 states and 65 transitions. Second operand 6 states. [2018-11-14 18:49:26,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:26,535 INFO L93 Difference]: Finished difference Result 96 states and 114 transitions. [2018-11-14 18:49:26,535 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 18:49:26,535 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 93 [2018-11-14 18:49:26,536 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:26,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:49:26,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 88 transitions. [2018-11-14 18:49:26,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:49:26,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 88 transitions. [2018-11-14 18:49:26,539 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 88 transitions. [2018-11-14 18:49:26,629 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:26,631 INFO L225 Difference]: With dead ends: 96 [2018-11-14 18:49:26,631 INFO L226 Difference]: Without dead ends: 64 [2018-11-14 18:49:26,633 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 88 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:49:26,633 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2018-11-14 18:49:26,649 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 62. [2018-11-14 18:49:26,650 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:26,650 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand 62 states. [2018-11-14 18:49:26,650 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 62 states. [2018-11-14 18:49:26,650 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 62 states. [2018-11-14 18:49:26,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:26,653 INFO L93 Difference]: Finished difference Result 64 states and 73 transitions. [2018-11-14 18:49:26,653 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 73 transitions. [2018-11-14 18:49:26,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:26,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:26,653 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 64 states. [2018-11-14 18:49:26,654 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 64 states. [2018-11-14 18:49:26,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:26,656 INFO L93 Difference]: Finished difference Result 64 states and 73 transitions. [2018-11-14 18:49:26,656 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 73 transitions. [2018-11-14 18:49:26,656 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:26,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:26,656 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:26,657 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:26,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 62 states. [2018-11-14 18:49:26,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 70 transitions. [2018-11-14 18:49:26,658 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 70 transitions. Word has length 93 [2018-11-14 18:49:26,659 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:26,659 INFO L480 AbstractCegarLoop]: Abstraction has 62 states and 70 transitions. [2018-11-14 18:49:26,659 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 18:49:26,659 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 70 transitions. [2018-11-14 18:49:26,660 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2018-11-14 18:49:26,660 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:26,660 INFO L375 BasicCegarLoop]: trace histogram [15, 12, 12, 9, 5, 4, 4, 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, 1, 1, 1, 1] [2018-11-14 18:49:26,660 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:26,661 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:26,661 INFO L82 PathProgramCache]: Analyzing trace with hash -78709140, now seen corresponding path program 6 times [2018-11-14 18:49:26,661 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:26,661 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:26,662 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:26,662 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:26,662 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:26,675 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:26,675 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:26,675 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:26,696 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-14 18:49:26,761 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-14 18:49:26,761 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:26,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:26,786 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:26,895 INFO L256 TraceCheckUtils]: 0: Hoare triple {4661#true} call ULTIMATE.init(); {4661#true} is VALID [2018-11-14 18:49:26,895 INFO L273 TraceCheckUtils]: 1: Hoare triple {4661#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4661#true} is VALID [2018-11-14 18:49:26,895 INFO L273 TraceCheckUtils]: 2: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,896 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4661#true} {4661#true} #81#return; {4661#true} is VALID [2018-11-14 18:49:26,896 INFO L256 TraceCheckUtils]: 4: Hoare triple {4661#true} call #t~ret12 := main(); {4661#true} is VALID [2018-11-14 18:49:26,896 INFO L273 TraceCheckUtils]: 5: Hoare triple {4661#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {4661#true} is VALID [2018-11-14 18:49:26,896 INFO L256 TraceCheckUtils]: 6: Hoare triple {4661#true} call init_nondet(~#x~0.base, ~#x~0.offset); {4661#true} is VALID [2018-11-14 18:49:26,896 INFO L273 TraceCheckUtils]: 7: Hoare triple {4661#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {4661#true} is VALID [2018-11-14 18:49:26,896 INFO L273 TraceCheckUtils]: 8: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,897 INFO L273 TraceCheckUtils]: 9: Hoare triple {4661#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {4661#true} is VALID [2018-11-14 18:49:26,897 INFO L273 TraceCheckUtils]: 10: Hoare triple {4661#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4661#true} is VALID [2018-11-14 18:49:26,897 INFO L273 TraceCheckUtils]: 11: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,897 INFO L273 TraceCheckUtils]: 12: Hoare triple {4661#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {4661#true} is VALID [2018-11-14 18:49:26,897 INFO L273 TraceCheckUtils]: 13: Hoare triple {4661#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4661#true} is VALID [2018-11-14 18:49:26,898 INFO L273 TraceCheckUtils]: 14: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,898 INFO L273 TraceCheckUtils]: 15: Hoare triple {4661#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {4661#true} is VALID [2018-11-14 18:49:26,898 INFO L273 TraceCheckUtils]: 16: Hoare triple {4661#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4661#true} is VALID [2018-11-14 18:49:26,898 INFO L273 TraceCheckUtils]: 17: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,898 INFO L273 TraceCheckUtils]: 18: Hoare triple {4661#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {4661#true} is VALID [2018-11-14 18:49:26,898 INFO L273 TraceCheckUtils]: 19: Hoare triple {4661#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4661#true} is VALID [2018-11-14 18:49:26,899 INFO L273 TraceCheckUtils]: 20: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,899 INFO L273 TraceCheckUtils]: 21: Hoare triple {4661#true} assume !(~i~0 < 40); {4661#true} is VALID [2018-11-14 18:49:26,899 INFO L273 TraceCheckUtils]: 22: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,899 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {4661#true} {4661#true} #85#return; {4661#true} is VALID [2018-11-14 18:49:26,899 INFO L273 TraceCheckUtils]: 24: Hoare triple {4661#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {4661#true} is VALID [2018-11-14 18:49:26,899 INFO L256 TraceCheckUtils]: 25: Hoare triple {4661#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {4661#true} is VALID [2018-11-14 18:49:26,899 INFO L273 TraceCheckUtils]: 26: Hoare triple {4661#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {4661#true} is VALID [2018-11-14 18:49:26,899 INFO L273 TraceCheckUtils]: 27: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,899 INFO L273 TraceCheckUtils]: 28: Hoare triple {4661#true} assume !!(~i~1 < 40); {4661#true} is VALID [2018-11-14 18:49:26,900 INFO L273 TraceCheckUtils]: 29: Hoare triple {4661#true} assume !(~i~1 > 20); {4661#true} is VALID [2018-11-14 18:49:26,900 INFO L273 TraceCheckUtils]: 30: Hoare triple {4661#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4661#true} is VALID [2018-11-14 18:49:26,900 INFO L273 TraceCheckUtils]: 31: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,900 INFO L273 TraceCheckUtils]: 32: Hoare triple {4661#true} assume !!(~i~1 < 40); {4661#true} is VALID [2018-11-14 18:49:26,900 INFO L273 TraceCheckUtils]: 33: Hoare triple {4661#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4661#true} is VALID [2018-11-14 18:49:26,900 INFO L273 TraceCheckUtils]: 34: Hoare triple {4661#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4661#true} is VALID [2018-11-14 18:49:26,900 INFO L273 TraceCheckUtils]: 35: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,901 INFO L273 TraceCheckUtils]: 36: Hoare triple {4661#true} assume !!(~i~1 < 40); {4661#true} is VALID [2018-11-14 18:49:26,901 INFO L273 TraceCheckUtils]: 37: Hoare triple {4661#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4661#true} is VALID [2018-11-14 18:49:26,901 INFO L273 TraceCheckUtils]: 38: Hoare triple {4661#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4661#true} is VALID [2018-11-14 18:49:26,901 INFO L273 TraceCheckUtils]: 39: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,901 INFO L273 TraceCheckUtils]: 40: Hoare triple {4661#true} assume !!(~i~1 < 40); {4661#true} is VALID [2018-11-14 18:49:26,901 INFO L273 TraceCheckUtils]: 41: Hoare triple {4661#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4661#true} is VALID [2018-11-14 18:49:26,902 INFO L273 TraceCheckUtils]: 42: Hoare triple {4661#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4661#true} is VALID [2018-11-14 18:49:26,902 INFO L273 TraceCheckUtils]: 43: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,902 INFO L273 TraceCheckUtils]: 44: Hoare triple {4661#true} assume !(~i~1 < 40); {4661#true} is VALID [2018-11-14 18:49:26,902 INFO L273 TraceCheckUtils]: 45: Hoare triple {4661#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {4661#true} is VALID [2018-11-14 18:49:26,902 INFO L273 TraceCheckUtils]: 46: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,902 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {4661#true} {4661#true} #87#return; {4661#true} is VALID [2018-11-14 18:49:26,903 INFO L273 TraceCheckUtils]: 48: Hoare triple {4661#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {4661#true} is VALID [2018-11-14 18:49:26,903 INFO L256 TraceCheckUtils]: 49: Hoare triple {4661#true} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {4661#true} is VALID [2018-11-14 18:49:26,903 INFO L273 TraceCheckUtils]: 50: Hoare triple {4661#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {4661#true} is VALID [2018-11-14 18:49:26,903 INFO L273 TraceCheckUtils]: 51: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,903 INFO L273 TraceCheckUtils]: 52: Hoare triple {4661#true} assume !!(~i~1 < 40); {4661#true} is VALID [2018-11-14 18:49:26,903 INFO L273 TraceCheckUtils]: 53: Hoare triple {4661#true} assume !(~i~1 > 20); {4661#true} is VALID [2018-11-14 18:49:26,904 INFO L273 TraceCheckUtils]: 54: Hoare triple {4661#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4661#true} is VALID [2018-11-14 18:49:26,904 INFO L273 TraceCheckUtils]: 55: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,904 INFO L273 TraceCheckUtils]: 56: Hoare triple {4661#true} assume !!(~i~1 < 40); {4661#true} is VALID [2018-11-14 18:49:26,904 INFO L273 TraceCheckUtils]: 57: Hoare triple {4661#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4661#true} is VALID [2018-11-14 18:49:26,904 INFO L273 TraceCheckUtils]: 58: Hoare triple {4661#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4661#true} is VALID [2018-11-14 18:49:26,904 INFO L273 TraceCheckUtils]: 59: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,905 INFO L273 TraceCheckUtils]: 60: Hoare triple {4661#true} assume !!(~i~1 < 40); {4661#true} is VALID [2018-11-14 18:49:26,905 INFO L273 TraceCheckUtils]: 61: Hoare triple {4661#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4661#true} is VALID [2018-11-14 18:49:26,905 INFO L273 TraceCheckUtils]: 62: Hoare triple {4661#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4661#true} is VALID [2018-11-14 18:49:26,905 INFO L273 TraceCheckUtils]: 63: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,905 INFO L273 TraceCheckUtils]: 64: Hoare triple {4661#true} assume !!(~i~1 < 40); {4661#true} is VALID [2018-11-14 18:49:26,906 INFO L273 TraceCheckUtils]: 65: Hoare triple {4661#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4661#true} is VALID [2018-11-14 18:49:26,906 INFO L273 TraceCheckUtils]: 66: Hoare triple {4661#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4661#true} is VALID [2018-11-14 18:49:26,906 INFO L273 TraceCheckUtils]: 67: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,906 INFO L273 TraceCheckUtils]: 68: Hoare triple {4661#true} assume !(~i~1 < 40); {4661#true} is VALID [2018-11-14 18:49:26,906 INFO L273 TraceCheckUtils]: 69: Hoare triple {4661#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {4661#true} is VALID [2018-11-14 18:49:26,906 INFO L273 TraceCheckUtils]: 70: Hoare triple {4661#true} assume true; {4661#true} is VALID [2018-11-14 18:49:26,907 INFO L268 TraceCheckUtils]: 71: Hoare quadruple {4661#true} {4661#true} #89#return; {4661#true} is VALID [2018-11-14 18:49:26,925 INFO L273 TraceCheckUtils]: 72: Hoare triple {4661#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {4882#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:26,938 INFO L273 TraceCheckUtils]: 73: Hoare triple {4882#(<= main_~i~2 0)} assume true; {4882#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:26,941 INFO L273 TraceCheckUtils]: 74: Hoare triple {4882#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {4882#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:26,941 INFO L273 TraceCheckUtils]: 75: Hoare triple {4882#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {4892#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:26,943 INFO L273 TraceCheckUtils]: 76: Hoare triple {4892#(<= main_~i~2 1)} assume true; {4892#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:26,943 INFO L273 TraceCheckUtils]: 77: Hoare triple {4892#(<= main_~i~2 1)} assume !(~i~2 < 39); {4662#false} is VALID [2018-11-14 18:49:26,943 INFO L273 TraceCheckUtils]: 78: Hoare triple {4662#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {4662#false} is VALID [2018-11-14 18:49:26,943 INFO L256 TraceCheckUtils]: 79: Hoare triple {4662#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {4662#false} is VALID [2018-11-14 18:49:26,943 INFO L273 TraceCheckUtils]: 80: Hoare triple {4662#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {4662#false} is VALID [2018-11-14 18:49:26,944 INFO L273 TraceCheckUtils]: 81: Hoare triple {4662#false} assume true; {4662#false} is VALID [2018-11-14 18:49:26,944 INFO L273 TraceCheckUtils]: 82: Hoare triple {4662#false} assume !!(~i~1 < 40); {4662#false} is VALID [2018-11-14 18:49:26,944 INFO L273 TraceCheckUtils]: 83: Hoare triple {4662#false} assume !(~i~1 > 20); {4662#false} is VALID [2018-11-14 18:49:26,944 INFO L273 TraceCheckUtils]: 84: Hoare triple {4662#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4662#false} is VALID [2018-11-14 18:49:26,944 INFO L273 TraceCheckUtils]: 85: Hoare triple {4662#false} assume true; {4662#false} is VALID [2018-11-14 18:49:26,944 INFO L273 TraceCheckUtils]: 86: Hoare triple {4662#false} assume !!(~i~1 < 40); {4662#false} is VALID [2018-11-14 18:49:26,944 INFO L273 TraceCheckUtils]: 87: Hoare triple {4662#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4662#false} is VALID [2018-11-14 18:49:26,944 INFO L273 TraceCheckUtils]: 88: Hoare triple {4662#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4662#false} is VALID [2018-11-14 18:49:26,945 INFO L273 TraceCheckUtils]: 89: Hoare triple {4662#false} assume true; {4662#false} is VALID [2018-11-14 18:49:26,945 INFO L273 TraceCheckUtils]: 90: Hoare triple {4662#false} assume !!(~i~1 < 40); {4662#false} is VALID [2018-11-14 18:49:26,945 INFO L273 TraceCheckUtils]: 91: Hoare triple {4662#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4662#false} is VALID [2018-11-14 18:49:26,945 INFO L273 TraceCheckUtils]: 92: Hoare triple {4662#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4662#false} is VALID [2018-11-14 18:49:26,945 INFO L273 TraceCheckUtils]: 93: Hoare triple {4662#false} assume true; {4662#false} is VALID [2018-11-14 18:49:26,945 INFO L273 TraceCheckUtils]: 94: Hoare triple {4662#false} assume !!(~i~1 < 40); {4662#false} is VALID [2018-11-14 18:49:26,945 INFO L273 TraceCheckUtils]: 95: Hoare triple {4662#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {4662#false} is VALID [2018-11-14 18:49:26,945 INFO L273 TraceCheckUtils]: 96: Hoare triple {4662#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {4662#false} is VALID [2018-11-14 18:49:26,946 INFO L273 TraceCheckUtils]: 97: Hoare triple {4662#false} assume true; {4662#false} is VALID [2018-11-14 18:49:26,947 INFO L273 TraceCheckUtils]: 98: Hoare triple {4662#false} assume !(~i~1 < 40); {4662#false} is VALID [2018-11-14 18:49:26,947 INFO L273 TraceCheckUtils]: 99: Hoare triple {4662#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {4662#false} is VALID [2018-11-14 18:49:26,948 INFO L273 TraceCheckUtils]: 100: Hoare triple {4662#false} assume true; {4662#false} is VALID [2018-11-14 18:49:26,948 INFO L268 TraceCheckUtils]: 101: Hoare quadruple {4662#false} {4662#false} #91#return; {4662#false} is VALID [2018-11-14 18:49:26,948 INFO L273 TraceCheckUtils]: 102: Hoare triple {4662#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {4662#false} is VALID [2018-11-14 18:49:26,948 INFO L273 TraceCheckUtils]: 103: Hoare triple {4662#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4662#false} is VALID [2018-11-14 18:49:26,948 INFO L273 TraceCheckUtils]: 104: Hoare triple {4662#false} assume !false; {4662#false} is VALID [2018-11-14 18:49:26,954 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 172 proven. 2 refuted. 0 times theorem prover too weak. 208 trivial. 0 not checked. [2018-11-14 18:49:26,982 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:26,982 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4] total 4 [2018-11-14 18:49:26,982 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 105 [2018-11-14 18:49:26,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:26,983 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-14 18:49:27,069 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:27,070 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-14 18:49:27,070 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-14 18:49:27,070 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-14 18:49:27,070 INFO L87 Difference]: Start difference. First operand 62 states and 70 transitions. Second operand 4 states. [2018-11-14 18:49:27,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:27,311 INFO L93 Difference]: Finished difference Result 94 states and 107 transitions. [2018-11-14 18:49:27,312 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-14 18:49:27,312 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 105 [2018-11-14 18:49:27,312 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:27,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:49:27,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2018-11-14 18:49:27,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:49:27,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2018-11-14 18:49:27,316 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 64 transitions. [2018-11-14 18:49:27,432 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 18:49:27,434 INFO L225 Difference]: With dead ends: 94 [2018-11-14 18:49:27,434 INFO L226 Difference]: Without dead ends: 66 [2018-11-14 18:49:27,435 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 102 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 18:49:27,435 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2018-11-14 18:49:27,477 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 65. [2018-11-14 18:49:27,478 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:27,478 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 65 states. [2018-11-14 18:49:27,478 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 65 states. [2018-11-14 18:49:27,478 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 65 states. [2018-11-14 18:49:27,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:27,481 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2018-11-14 18:49:27,481 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2018-11-14 18:49:27,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:27,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:27,481 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 66 states. [2018-11-14 18:49:27,482 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 66 states. [2018-11-14 18:49:27,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:27,483 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2018-11-14 18:49:27,484 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2018-11-14 18:49:27,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:27,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:27,484 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:27,484 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:27,484 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 65 states. [2018-11-14 18:49:27,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 73 transitions. [2018-11-14 18:49:27,486 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 73 transitions. Word has length 105 [2018-11-14 18:49:27,487 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:27,487 INFO L480 AbstractCegarLoop]: Abstraction has 65 states and 73 transitions. [2018-11-14 18:49:27,487 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-14 18:49:27,487 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 73 transitions. [2018-11-14 18:49:27,488 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2018-11-14 18:49:27,488 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:27,488 INFO L375 BasicCegarLoop]: trace histogram [15, 12, 12, 9, 5, 4, 4, 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, 1] [2018-11-14 18:49:27,488 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:27,489 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:27,489 INFO L82 PathProgramCache]: Analyzing trace with hash 50032029, now seen corresponding path program 7 times [2018-11-14 18:49:27,489 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:27,489 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:27,490 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:27,490 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:27,490 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:27,502 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:27,503 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:27,503 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:27,527 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:27,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:27,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:27,603 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:27,827 INFO L256 TraceCheckUtils]: 0: Hoare triple {5323#true} call ULTIMATE.init(); {5323#true} is VALID [2018-11-14 18:49:27,828 INFO L273 TraceCheckUtils]: 1: Hoare triple {5323#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5323#true} is VALID [2018-11-14 18:49:27,828 INFO L273 TraceCheckUtils]: 2: Hoare triple {5323#true} assume true; {5323#true} is VALID [2018-11-14 18:49:27,828 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5323#true} {5323#true} #81#return; {5323#true} is VALID [2018-11-14 18:49:27,829 INFO L256 TraceCheckUtils]: 4: Hoare triple {5323#true} call #t~ret12 := main(); {5323#true} is VALID [2018-11-14 18:49:27,829 INFO L273 TraceCheckUtils]: 5: Hoare triple {5323#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {5323#true} is VALID [2018-11-14 18:49:27,829 INFO L256 TraceCheckUtils]: 6: Hoare triple {5323#true} call init_nondet(~#x~0.base, ~#x~0.offset); {5323#true} is VALID [2018-11-14 18:49:27,830 INFO L273 TraceCheckUtils]: 7: Hoare triple {5323#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {5349#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:27,830 INFO L273 TraceCheckUtils]: 8: Hoare triple {5349#(<= init_nondet_~i~0 0)} assume true; {5349#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:27,830 INFO L273 TraceCheckUtils]: 9: Hoare triple {5349#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {5349#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:27,831 INFO L273 TraceCheckUtils]: 10: Hoare triple {5349#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5359#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:27,831 INFO L273 TraceCheckUtils]: 11: Hoare triple {5359#(<= init_nondet_~i~0 1)} assume true; {5359#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:27,831 INFO L273 TraceCheckUtils]: 12: Hoare triple {5359#(<= init_nondet_~i~0 1)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {5359#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:27,832 INFO L273 TraceCheckUtils]: 13: Hoare triple {5359#(<= init_nondet_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5369#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:27,833 INFO L273 TraceCheckUtils]: 14: Hoare triple {5369#(<= init_nondet_~i~0 2)} assume true; {5369#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:27,833 INFO L273 TraceCheckUtils]: 15: Hoare triple {5369#(<= init_nondet_~i~0 2)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {5369#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:27,834 INFO L273 TraceCheckUtils]: 16: Hoare triple {5369#(<= init_nondet_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5379#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:27,834 INFO L273 TraceCheckUtils]: 17: Hoare triple {5379#(<= init_nondet_~i~0 3)} assume true; {5379#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:27,835 INFO L273 TraceCheckUtils]: 18: Hoare triple {5379#(<= init_nondet_~i~0 3)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {5379#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:27,836 INFO L273 TraceCheckUtils]: 19: Hoare triple {5379#(<= init_nondet_~i~0 3)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5389#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:27,836 INFO L273 TraceCheckUtils]: 20: Hoare triple {5389#(<= init_nondet_~i~0 4)} assume true; {5389#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:27,837 INFO L273 TraceCheckUtils]: 21: Hoare triple {5389#(<= init_nondet_~i~0 4)} assume !(~i~0 < 40); {5324#false} is VALID [2018-11-14 18:49:27,837 INFO L273 TraceCheckUtils]: 22: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,837 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {5324#false} {5323#true} #85#return; {5324#false} is VALID [2018-11-14 18:49:27,838 INFO L273 TraceCheckUtils]: 24: Hoare triple {5324#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {5324#false} is VALID [2018-11-14 18:49:27,838 INFO L256 TraceCheckUtils]: 25: Hoare triple {5324#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {5324#false} is VALID [2018-11-14 18:49:27,838 INFO L273 TraceCheckUtils]: 26: Hoare triple {5324#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {5324#false} is VALID [2018-11-14 18:49:27,838 INFO L273 TraceCheckUtils]: 27: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,838 INFO L273 TraceCheckUtils]: 28: Hoare triple {5324#false} assume !!(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,839 INFO L273 TraceCheckUtils]: 29: Hoare triple {5324#false} assume !(~i~1 > 20); {5324#false} is VALID [2018-11-14 18:49:27,839 INFO L273 TraceCheckUtils]: 30: Hoare triple {5324#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {5324#false} is VALID [2018-11-14 18:49:27,839 INFO L273 TraceCheckUtils]: 31: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,839 INFO L273 TraceCheckUtils]: 32: Hoare triple {5324#false} assume !!(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,839 INFO L273 TraceCheckUtils]: 33: Hoare triple {5324#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {5324#false} is VALID [2018-11-14 18:49:27,840 INFO L273 TraceCheckUtils]: 34: Hoare triple {5324#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {5324#false} is VALID [2018-11-14 18:49:27,840 INFO L273 TraceCheckUtils]: 35: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,840 INFO L273 TraceCheckUtils]: 36: Hoare triple {5324#false} assume !!(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,840 INFO L273 TraceCheckUtils]: 37: Hoare triple {5324#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {5324#false} is VALID [2018-11-14 18:49:27,840 INFO L273 TraceCheckUtils]: 38: Hoare triple {5324#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {5324#false} is VALID [2018-11-14 18:49:27,841 INFO L273 TraceCheckUtils]: 39: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,841 INFO L273 TraceCheckUtils]: 40: Hoare triple {5324#false} assume !!(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,841 INFO L273 TraceCheckUtils]: 41: Hoare triple {5324#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {5324#false} is VALID [2018-11-14 18:49:27,841 INFO L273 TraceCheckUtils]: 42: Hoare triple {5324#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {5324#false} is VALID [2018-11-14 18:49:27,841 INFO L273 TraceCheckUtils]: 43: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,841 INFO L273 TraceCheckUtils]: 44: Hoare triple {5324#false} assume !(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,841 INFO L273 TraceCheckUtils]: 45: Hoare triple {5324#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {5324#false} is VALID [2018-11-14 18:49:27,841 INFO L273 TraceCheckUtils]: 46: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,842 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {5324#false} {5324#false} #87#return; {5324#false} is VALID [2018-11-14 18:49:27,842 INFO L273 TraceCheckUtils]: 48: Hoare triple {5324#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {5324#false} is VALID [2018-11-14 18:49:27,842 INFO L256 TraceCheckUtils]: 49: Hoare triple {5324#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {5324#false} is VALID [2018-11-14 18:49:27,842 INFO L273 TraceCheckUtils]: 50: Hoare triple {5324#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {5324#false} is VALID [2018-11-14 18:49:27,842 INFO L273 TraceCheckUtils]: 51: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,842 INFO L273 TraceCheckUtils]: 52: Hoare triple {5324#false} assume !!(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,842 INFO L273 TraceCheckUtils]: 53: Hoare triple {5324#false} assume !(~i~1 > 20); {5324#false} is VALID [2018-11-14 18:49:27,842 INFO L273 TraceCheckUtils]: 54: Hoare triple {5324#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {5324#false} is VALID [2018-11-14 18:49:27,843 INFO L273 TraceCheckUtils]: 55: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,843 INFO L273 TraceCheckUtils]: 56: Hoare triple {5324#false} assume !!(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,843 INFO L273 TraceCheckUtils]: 57: Hoare triple {5324#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {5324#false} is VALID [2018-11-14 18:49:27,843 INFO L273 TraceCheckUtils]: 58: Hoare triple {5324#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {5324#false} is VALID [2018-11-14 18:49:27,843 INFO L273 TraceCheckUtils]: 59: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,843 INFO L273 TraceCheckUtils]: 60: Hoare triple {5324#false} assume !!(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,843 INFO L273 TraceCheckUtils]: 61: Hoare triple {5324#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {5324#false} is VALID [2018-11-14 18:49:27,843 INFO L273 TraceCheckUtils]: 62: Hoare triple {5324#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {5324#false} is VALID [2018-11-14 18:49:27,843 INFO L273 TraceCheckUtils]: 63: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,844 INFO L273 TraceCheckUtils]: 64: Hoare triple {5324#false} assume !!(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,844 INFO L273 TraceCheckUtils]: 65: Hoare triple {5324#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {5324#false} is VALID [2018-11-14 18:49:27,844 INFO L273 TraceCheckUtils]: 66: Hoare triple {5324#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {5324#false} is VALID [2018-11-14 18:49:27,844 INFO L273 TraceCheckUtils]: 67: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,844 INFO L273 TraceCheckUtils]: 68: Hoare triple {5324#false} assume !(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,844 INFO L273 TraceCheckUtils]: 69: Hoare triple {5324#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {5324#false} is VALID [2018-11-14 18:49:27,844 INFO L273 TraceCheckUtils]: 70: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,844 INFO L268 TraceCheckUtils]: 71: Hoare quadruple {5324#false} {5324#false} #89#return; {5324#false} is VALID [2018-11-14 18:49:27,845 INFO L273 TraceCheckUtils]: 72: Hoare triple {5324#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {5324#false} is VALID [2018-11-14 18:49:27,845 INFO L273 TraceCheckUtils]: 73: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,845 INFO L273 TraceCheckUtils]: 74: Hoare triple {5324#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {5324#false} is VALID [2018-11-14 18:49:27,845 INFO L273 TraceCheckUtils]: 75: Hoare triple {5324#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {5324#false} is VALID [2018-11-14 18:49:27,845 INFO L273 TraceCheckUtils]: 76: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,845 INFO L273 TraceCheckUtils]: 77: Hoare triple {5324#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {5324#false} is VALID [2018-11-14 18:49:27,845 INFO L273 TraceCheckUtils]: 78: Hoare triple {5324#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {5324#false} is VALID [2018-11-14 18:49:27,845 INFO L273 TraceCheckUtils]: 79: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,845 INFO L273 TraceCheckUtils]: 80: Hoare triple {5324#false} assume !(~i~2 < 39); {5324#false} is VALID [2018-11-14 18:49:27,846 INFO L273 TraceCheckUtils]: 81: Hoare triple {5324#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {5324#false} is VALID [2018-11-14 18:49:27,846 INFO L256 TraceCheckUtils]: 82: Hoare triple {5324#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {5324#false} is VALID [2018-11-14 18:49:27,846 INFO L273 TraceCheckUtils]: 83: Hoare triple {5324#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {5324#false} is VALID [2018-11-14 18:49:27,846 INFO L273 TraceCheckUtils]: 84: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,846 INFO L273 TraceCheckUtils]: 85: Hoare triple {5324#false} assume !!(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,846 INFO L273 TraceCheckUtils]: 86: Hoare triple {5324#false} assume !(~i~1 > 20); {5324#false} is VALID [2018-11-14 18:49:27,846 INFO L273 TraceCheckUtils]: 87: Hoare triple {5324#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {5324#false} is VALID [2018-11-14 18:49:27,846 INFO L273 TraceCheckUtils]: 88: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,847 INFO L273 TraceCheckUtils]: 89: Hoare triple {5324#false} assume !!(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,847 INFO L273 TraceCheckUtils]: 90: Hoare triple {5324#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {5324#false} is VALID [2018-11-14 18:49:27,847 INFO L273 TraceCheckUtils]: 91: Hoare triple {5324#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {5324#false} is VALID [2018-11-14 18:49:27,847 INFO L273 TraceCheckUtils]: 92: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,847 INFO L273 TraceCheckUtils]: 93: Hoare triple {5324#false} assume !!(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,847 INFO L273 TraceCheckUtils]: 94: Hoare triple {5324#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {5324#false} is VALID [2018-11-14 18:49:27,847 INFO L273 TraceCheckUtils]: 95: Hoare triple {5324#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {5324#false} is VALID [2018-11-14 18:49:27,847 INFO L273 TraceCheckUtils]: 96: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,847 INFO L273 TraceCheckUtils]: 97: Hoare triple {5324#false} assume !!(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,848 INFO L273 TraceCheckUtils]: 98: Hoare triple {5324#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {5324#false} is VALID [2018-11-14 18:49:27,848 INFO L273 TraceCheckUtils]: 99: Hoare triple {5324#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {5324#false} is VALID [2018-11-14 18:49:27,848 INFO L273 TraceCheckUtils]: 100: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,848 INFO L273 TraceCheckUtils]: 101: Hoare triple {5324#false} assume !(~i~1 < 40); {5324#false} is VALID [2018-11-14 18:49:27,848 INFO L273 TraceCheckUtils]: 102: Hoare triple {5324#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {5324#false} is VALID [2018-11-14 18:49:27,848 INFO L273 TraceCheckUtils]: 103: Hoare triple {5324#false} assume true; {5324#false} is VALID [2018-11-14 18:49:27,848 INFO L268 TraceCheckUtils]: 104: Hoare quadruple {5324#false} {5324#false} #91#return; {5324#false} is VALID [2018-11-14 18:49:27,848 INFO L273 TraceCheckUtils]: 105: Hoare triple {5324#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {5324#false} is VALID [2018-11-14 18:49:27,848 INFO L273 TraceCheckUtils]: 106: Hoare triple {5324#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5324#false} is VALID [2018-11-14 18:49:27,849 INFO L273 TraceCheckUtils]: 107: Hoare triple {5324#false} assume !false; {5324#false} is VALID [2018-11-14 18:49:27,854 INFO L134 CoverageAnalysis]: Checked inductivity of 387 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 361 trivial. 0 not checked. [2018-11-14 18:49:27,873 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:27,873 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2018-11-14 18:49:27,873 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 108 [2018-11-14 18:49:27,874 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:27,874 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-14 18:49:27,927 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:27,927 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-14 18:49:27,927 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-14 18:49:27,927 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 18:49:27,927 INFO L87 Difference]: Start difference. First operand 65 states and 73 transitions. Second operand 7 states. [2018-11-14 18:49:28,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:28,246 INFO L93 Difference]: Finished difference Result 112 states and 128 transitions. [2018-11-14 18:49:28,246 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-14 18:49:28,246 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 108 [2018-11-14 18:49:28,246 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:28,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 18:49:28,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 86 transitions. [2018-11-14 18:49:28,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 18:49:28,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 86 transitions. [2018-11-14 18:49:28,249 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 86 transitions. [2018-11-14 18:49:28,390 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:28,391 INFO L225 Difference]: With dead ends: 112 [2018-11-14 18:49:28,392 INFO L226 Difference]: Without dead ends: 69 [2018-11-14 18:49:28,392 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 102 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 18:49:28,392 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2018-11-14 18:49:28,417 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 68. [2018-11-14 18:49:28,417 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:28,418 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand 68 states. [2018-11-14 18:49:28,418 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 68 states. [2018-11-14 18:49:28,418 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 68 states. [2018-11-14 18:49:28,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:28,420 INFO L93 Difference]: Finished difference Result 69 states and 77 transitions. [2018-11-14 18:49:28,420 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 77 transitions. [2018-11-14 18:49:28,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:28,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:28,421 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 69 states. [2018-11-14 18:49:28,421 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 69 states. [2018-11-14 18:49:28,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:28,423 INFO L93 Difference]: Finished difference Result 69 states and 77 transitions. [2018-11-14 18:49:28,423 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 77 transitions. [2018-11-14 18:49:28,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:28,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:28,424 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:28,424 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:28,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2018-11-14 18:49:28,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 76 transitions. [2018-11-14 18:49:28,426 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 76 transitions. Word has length 108 [2018-11-14 18:49:28,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:28,427 INFO L480 AbstractCegarLoop]: Abstraction has 68 states and 76 transitions. [2018-11-14 18:49:28,427 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-14 18:49:28,427 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 76 transitions. [2018-11-14 18:49:28,428 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2018-11-14 18:49:28,428 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:28,428 INFO L375 BasicCegarLoop]: trace histogram [15, 12, 12, 9, 6, 5, 5, 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, 1] [2018-11-14 18:49:28,429 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:28,429 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:28,429 INFO L82 PathProgramCache]: Analyzing trace with hash -1325248125, now seen corresponding path program 8 times [2018-11-14 18:49:28,429 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:28,429 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:28,430 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:28,430 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:28,431 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:28,444 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:28,445 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:28,445 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:28,464 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:49:28,515 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:49:28,515 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:28,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:28,554 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:29,145 INFO L256 TraceCheckUtils]: 0: Hoare triple {6031#true} call ULTIMATE.init(); {6031#true} is VALID [2018-11-14 18:49:29,146 INFO L273 TraceCheckUtils]: 1: Hoare triple {6031#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6031#true} is VALID [2018-11-14 18:49:29,146 INFO L273 TraceCheckUtils]: 2: Hoare triple {6031#true} assume true; {6031#true} is VALID [2018-11-14 18:49:29,147 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6031#true} {6031#true} #81#return; {6031#true} is VALID [2018-11-14 18:49:29,147 INFO L256 TraceCheckUtils]: 4: Hoare triple {6031#true} call #t~ret12 := main(); {6031#true} is VALID [2018-11-14 18:49:29,147 INFO L273 TraceCheckUtils]: 5: Hoare triple {6031#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {6031#true} is VALID [2018-11-14 18:49:29,148 INFO L256 TraceCheckUtils]: 6: Hoare triple {6031#true} call init_nondet(~#x~0.base, ~#x~0.offset); {6031#true} is VALID [2018-11-14 18:49:29,148 INFO L273 TraceCheckUtils]: 7: Hoare triple {6031#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {6057#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:29,149 INFO L273 TraceCheckUtils]: 8: Hoare triple {6057#(<= init_nondet_~i~0 0)} assume true; {6057#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:29,149 INFO L273 TraceCheckUtils]: 9: Hoare triple {6057#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {6057#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:29,150 INFO L273 TraceCheckUtils]: 10: Hoare triple {6057#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {6067#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:29,150 INFO L273 TraceCheckUtils]: 11: Hoare triple {6067#(<= init_nondet_~i~0 1)} assume true; {6067#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:29,150 INFO L273 TraceCheckUtils]: 12: Hoare triple {6067#(<= init_nondet_~i~0 1)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {6067#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:29,151 INFO L273 TraceCheckUtils]: 13: Hoare triple {6067#(<= init_nondet_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {6077#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:29,151 INFO L273 TraceCheckUtils]: 14: Hoare triple {6077#(<= init_nondet_~i~0 2)} assume true; {6077#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:29,152 INFO L273 TraceCheckUtils]: 15: Hoare triple {6077#(<= init_nondet_~i~0 2)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {6077#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:29,153 INFO L273 TraceCheckUtils]: 16: Hoare triple {6077#(<= init_nondet_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {6087#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:29,154 INFO L273 TraceCheckUtils]: 17: Hoare triple {6087#(<= init_nondet_~i~0 3)} assume true; {6087#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:29,154 INFO L273 TraceCheckUtils]: 18: Hoare triple {6087#(<= init_nondet_~i~0 3)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {6087#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:29,155 INFO L273 TraceCheckUtils]: 19: Hoare triple {6087#(<= init_nondet_~i~0 3)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {6097#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:29,156 INFO L273 TraceCheckUtils]: 20: Hoare triple {6097#(<= init_nondet_~i~0 4)} assume true; {6097#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:29,156 INFO L273 TraceCheckUtils]: 21: Hoare triple {6097#(<= init_nondet_~i~0 4)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {6097#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:29,157 INFO L273 TraceCheckUtils]: 22: Hoare triple {6097#(<= init_nondet_~i~0 4)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {6107#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:29,158 INFO L273 TraceCheckUtils]: 23: Hoare triple {6107#(<= init_nondet_~i~0 5)} assume true; {6107#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:29,159 INFO L273 TraceCheckUtils]: 24: Hoare triple {6107#(<= init_nondet_~i~0 5)} assume !(~i~0 < 40); {6032#false} is VALID [2018-11-14 18:49:29,159 INFO L273 TraceCheckUtils]: 25: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,159 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {6032#false} {6031#true} #85#return; {6032#false} is VALID [2018-11-14 18:49:29,159 INFO L273 TraceCheckUtils]: 27: Hoare triple {6032#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {6032#false} is VALID [2018-11-14 18:49:29,160 INFO L256 TraceCheckUtils]: 28: Hoare triple {6032#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {6032#false} is VALID [2018-11-14 18:49:29,160 INFO L273 TraceCheckUtils]: 29: Hoare triple {6032#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {6032#false} is VALID [2018-11-14 18:49:29,160 INFO L273 TraceCheckUtils]: 30: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,160 INFO L273 TraceCheckUtils]: 31: Hoare triple {6032#false} assume !!(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,161 INFO L273 TraceCheckUtils]: 32: Hoare triple {6032#false} assume !(~i~1 > 20); {6032#false} is VALID [2018-11-14 18:49:29,161 INFO L273 TraceCheckUtils]: 33: Hoare triple {6032#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6032#false} is VALID [2018-11-14 18:49:29,161 INFO L273 TraceCheckUtils]: 34: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,161 INFO L273 TraceCheckUtils]: 35: Hoare triple {6032#false} assume !!(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,162 INFO L273 TraceCheckUtils]: 36: Hoare triple {6032#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6032#false} is VALID [2018-11-14 18:49:29,162 INFO L273 TraceCheckUtils]: 37: Hoare triple {6032#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6032#false} is VALID [2018-11-14 18:49:29,162 INFO L273 TraceCheckUtils]: 38: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,162 INFO L273 TraceCheckUtils]: 39: Hoare triple {6032#false} assume !!(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,162 INFO L273 TraceCheckUtils]: 40: Hoare triple {6032#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6032#false} is VALID [2018-11-14 18:49:29,162 INFO L273 TraceCheckUtils]: 41: Hoare triple {6032#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6032#false} is VALID [2018-11-14 18:49:29,162 INFO L273 TraceCheckUtils]: 42: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,163 INFO L273 TraceCheckUtils]: 43: Hoare triple {6032#false} assume !!(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,163 INFO L273 TraceCheckUtils]: 44: Hoare triple {6032#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6032#false} is VALID [2018-11-14 18:49:29,163 INFO L273 TraceCheckUtils]: 45: Hoare triple {6032#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6032#false} is VALID [2018-11-14 18:49:29,163 INFO L273 TraceCheckUtils]: 46: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,163 INFO L273 TraceCheckUtils]: 47: Hoare triple {6032#false} assume !(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,163 INFO L273 TraceCheckUtils]: 48: Hoare triple {6032#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {6032#false} is VALID [2018-11-14 18:49:29,163 INFO L273 TraceCheckUtils]: 49: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,164 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {6032#false} {6032#false} #87#return; {6032#false} is VALID [2018-11-14 18:49:29,164 INFO L273 TraceCheckUtils]: 51: Hoare triple {6032#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {6032#false} is VALID [2018-11-14 18:49:29,164 INFO L256 TraceCheckUtils]: 52: Hoare triple {6032#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {6032#false} is VALID [2018-11-14 18:49:29,164 INFO L273 TraceCheckUtils]: 53: Hoare triple {6032#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {6032#false} is VALID [2018-11-14 18:49:29,164 INFO L273 TraceCheckUtils]: 54: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,164 INFO L273 TraceCheckUtils]: 55: Hoare triple {6032#false} assume !!(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,164 INFO L273 TraceCheckUtils]: 56: Hoare triple {6032#false} assume !(~i~1 > 20); {6032#false} is VALID [2018-11-14 18:49:29,165 INFO L273 TraceCheckUtils]: 57: Hoare triple {6032#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6032#false} is VALID [2018-11-14 18:49:29,165 INFO L273 TraceCheckUtils]: 58: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,165 INFO L273 TraceCheckUtils]: 59: Hoare triple {6032#false} assume !!(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,165 INFO L273 TraceCheckUtils]: 60: Hoare triple {6032#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6032#false} is VALID [2018-11-14 18:49:29,165 INFO L273 TraceCheckUtils]: 61: Hoare triple {6032#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6032#false} is VALID [2018-11-14 18:49:29,165 INFO L273 TraceCheckUtils]: 62: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,166 INFO L273 TraceCheckUtils]: 63: Hoare triple {6032#false} assume !!(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,166 INFO L273 TraceCheckUtils]: 64: Hoare triple {6032#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6032#false} is VALID [2018-11-14 18:49:29,166 INFO L273 TraceCheckUtils]: 65: Hoare triple {6032#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6032#false} is VALID [2018-11-14 18:49:29,166 INFO L273 TraceCheckUtils]: 66: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,166 INFO L273 TraceCheckUtils]: 67: Hoare triple {6032#false} assume !!(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,166 INFO L273 TraceCheckUtils]: 68: Hoare triple {6032#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6032#false} is VALID [2018-11-14 18:49:29,166 INFO L273 TraceCheckUtils]: 69: Hoare triple {6032#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6032#false} is VALID [2018-11-14 18:49:29,167 INFO L273 TraceCheckUtils]: 70: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,167 INFO L273 TraceCheckUtils]: 71: Hoare triple {6032#false} assume !(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,167 INFO L273 TraceCheckUtils]: 72: Hoare triple {6032#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {6032#false} is VALID [2018-11-14 18:49:29,167 INFO L273 TraceCheckUtils]: 73: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,167 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {6032#false} {6032#false} #89#return; {6032#false} is VALID [2018-11-14 18:49:29,167 INFO L273 TraceCheckUtils]: 75: Hoare triple {6032#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {6032#false} is VALID [2018-11-14 18:49:29,168 INFO L273 TraceCheckUtils]: 76: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,168 INFO L273 TraceCheckUtils]: 77: Hoare triple {6032#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {6032#false} is VALID [2018-11-14 18:49:29,168 INFO L273 TraceCheckUtils]: 78: Hoare triple {6032#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {6032#false} is VALID [2018-11-14 18:49:29,168 INFO L273 TraceCheckUtils]: 79: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,168 INFO L273 TraceCheckUtils]: 80: Hoare triple {6032#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {6032#false} is VALID [2018-11-14 18:49:29,168 INFO L273 TraceCheckUtils]: 81: Hoare triple {6032#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {6032#false} is VALID [2018-11-14 18:49:29,168 INFO L273 TraceCheckUtils]: 82: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,169 INFO L273 TraceCheckUtils]: 83: Hoare triple {6032#false} assume !(~i~2 < 39); {6032#false} is VALID [2018-11-14 18:49:29,169 INFO L273 TraceCheckUtils]: 84: Hoare triple {6032#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {6032#false} is VALID [2018-11-14 18:49:29,169 INFO L256 TraceCheckUtils]: 85: Hoare triple {6032#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {6032#false} is VALID [2018-11-14 18:49:29,169 INFO L273 TraceCheckUtils]: 86: Hoare triple {6032#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {6032#false} is VALID [2018-11-14 18:49:29,169 INFO L273 TraceCheckUtils]: 87: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,169 INFO L273 TraceCheckUtils]: 88: Hoare triple {6032#false} assume !!(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,169 INFO L273 TraceCheckUtils]: 89: Hoare triple {6032#false} assume !(~i~1 > 20); {6032#false} is VALID [2018-11-14 18:49:29,170 INFO L273 TraceCheckUtils]: 90: Hoare triple {6032#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6032#false} is VALID [2018-11-14 18:49:29,170 INFO L273 TraceCheckUtils]: 91: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,170 INFO L273 TraceCheckUtils]: 92: Hoare triple {6032#false} assume !!(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,170 INFO L273 TraceCheckUtils]: 93: Hoare triple {6032#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6032#false} is VALID [2018-11-14 18:49:29,170 INFO L273 TraceCheckUtils]: 94: Hoare triple {6032#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6032#false} is VALID [2018-11-14 18:49:29,170 INFO L273 TraceCheckUtils]: 95: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,170 INFO L273 TraceCheckUtils]: 96: Hoare triple {6032#false} assume !!(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,171 INFO L273 TraceCheckUtils]: 97: Hoare triple {6032#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6032#false} is VALID [2018-11-14 18:49:29,171 INFO L273 TraceCheckUtils]: 98: Hoare triple {6032#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6032#false} is VALID [2018-11-14 18:49:29,171 INFO L273 TraceCheckUtils]: 99: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,171 INFO L273 TraceCheckUtils]: 100: Hoare triple {6032#false} assume !!(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,171 INFO L273 TraceCheckUtils]: 101: Hoare triple {6032#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6032#false} is VALID [2018-11-14 18:49:29,171 INFO L273 TraceCheckUtils]: 102: Hoare triple {6032#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6032#false} is VALID [2018-11-14 18:49:29,172 INFO L273 TraceCheckUtils]: 103: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,172 INFO L273 TraceCheckUtils]: 104: Hoare triple {6032#false} assume !(~i~1 < 40); {6032#false} is VALID [2018-11-14 18:49:29,172 INFO L273 TraceCheckUtils]: 105: Hoare triple {6032#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {6032#false} is VALID [2018-11-14 18:49:29,172 INFO L273 TraceCheckUtils]: 106: Hoare triple {6032#false} assume true; {6032#false} is VALID [2018-11-14 18:49:29,172 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {6032#false} {6032#false} #91#return; {6032#false} is VALID [2018-11-14 18:49:29,172 INFO L273 TraceCheckUtils]: 108: Hoare triple {6032#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {6032#false} is VALID [2018-11-14 18:49:29,172 INFO L273 TraceCheckUtils]: 109: Hoare triple {6032#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {6032#false} is VALID [2018-11-14 18:49:29,173 INFO L273 TraceCheckUtils]: 110: Hoare triple {6032#false} assume !false; {6032#false} is VALID [2018-11-14 18:49:29,183 INFO L134 CoverageAnalysis]: Checked inductivity of 401 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 361 trivial. 0 not checked. [2018-11-14 18:49:29,206 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:29,206 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2018-11-14 18:49:29,207 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 111 [2018-11-14 18:49:29,207 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:29,207 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-14 18:49:29,283 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 18:49:29,283 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-14 18:49:29,284 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-14 18:49:29,284 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-14 18:49:29,284 INFO L87 Difference]: Start difference. First operand 68 states and 76 transitions. Second operand 8 states. [2018-11-14 18:49:29,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:29,447 INFO L93 Difference]: Finished difference Result 115 states and 131 transitions. [2018-11-14 18:49:29,447 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-14 18:49:29,447 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 111 [2018-11-14 18:49:29,448 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:29,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 18:49:29,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2018-11-14 18:49:29,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 18:49:29,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2018-11-14 18:49:29,463 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 89 transitions. [2018-11-14 18:49:29,587 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:29,590 INFO L225 Difference]: With dead ends: 115 [2018-11-14 18:49:29,590 INFO L226 Difference]: Without dead ends: 72 [2018-11-14 18:49:29,591 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 104 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-14 18:49:29,591 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2018-11-14 18:49:29,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2018-11-14 18:49:29,609 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:29,610 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand 71 states. [2018-11-14 18:49:29,610 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 71 states. [2018-11-14 18:49:29,610 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 71 states. [2018-11-14 18:49:29,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:29,612 INFO L93 Difference]: Finished difference Result 72 states and 80 transitions. [2018-11-14 18:49:29,613 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 80 transitions. [2018-11-14 18:49:29,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:29,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:29,613 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 72 states. [2018-11-14 18:49:29,613 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 72 states. [2018-11-14 18:49:29,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:29,615 INFO L93 Difference]: Finished difference Result 72 states and 80 transitions. [2018-11-14 18:49:29,615 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 80 transitions. [2018-11-14 18:49:29,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:29,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:29,616 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:29,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:29,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 71 states. [2018-11-14 18:49:29,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 79 transitions. [2018-11-14 18:49:29,618 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 79 transitions. Word has length 111 [2018-11-14 18:49:29,619 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:29,619 INFO L480 AbstractCegarLoop]: Abstraction has 71 states and 79 transitions. [2018-11-14 18:49:29,619 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-14 18:49:29,619 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 79 transitions. [2018-11-14 18:49:29,620 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 115 [2018-11-14 18:49:29,620 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:29,620 INFO L375 BasicCegarLoop]: trace histogram [15, 12, 12, 9, 7, 6, 6, 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, 1] [2018-11-14 18:49:29,620 INFO L423 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:29,621 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:29,621 INFO L82 PathProgramCache]: Analyzing trace with hash 1691687901, now seen corresponding path program 9 times [2018-11-14 18:49:29,621 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:29,621 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:29,622 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:29,622 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:29,622 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:29,635 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:29,635 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:29,635 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:29,653 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 18:49:29,704 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-14 18:49:29,704 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:29,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:29,738 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:30,491 INFO L256 TraceCheckUtils]: 0: Hoare triple {6763#true} call ULTIMATE.init(); {6763#true} is VALID [2018-11-14 18:49:30,491 INFO L273 TraceCheckUtils]: 1: Hoare triple {6763#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6763#true} is VALID [2018-11-14 18:49:30,491 INFO L273 TraceCheckUtils]: 2: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,491 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6763#true} {6763#true} #81#return; {6763#true} is VALID [2018-11-14 18:49:30,492 INFO L256 TraceCheckUtils]: 4: Hoare triple {6763#true} call #t~ret12 := main(); {6763#true} is VALID [2018-11-14 18:49:30,492 INFO L273 TraceCheckUtils]: 5: Hoare triple {6763#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {6763#true} is VALID [2018-11-14 18:49:30,492 INFO L256 TraceCheckUtils]: 6: Hoare triple {6763#true} call init_nondet(~#x~0.base, ~#x~0.offset); {6763#true} is VALID [2018-11-14 18:49:30,492 INFO L273 TraceCheckUtils]: 7: Hoare triple {6763#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {6763#true} is VALID [2018-11-14 18:49:30,492 INFO L273 TraceCheckUtils]: 8: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,493 INFO L273 TraceCheckUtils]: 9: Hoare triple {6763#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {6763#true} is VALID [2018-11-14 18:49:30,493 INFO L273 TraceCheckUtils]: 10: Hoare triple {6763#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {6763#true} is VALID [2018-11-14 18:49:30,493 INFO L273 TraceCheckUtils]: 11: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,493 INFO L273 TraceCheckUtils]: 12: Hoare triple {6763#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {6763#true} is VALID [2018-11-14 18:49:30,493 INFO L273 TraceCheckUtils]: 13: Hoare triple {6763#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {6763#true} is VALID [2018-11-14 18:49:30,494 INFO L273 TraceCheckUtils]: 14: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,494 INFO L273 TraceCheckUtils]: 15: Hoare triple {6763#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {6763#true} is VALID [2018-11-14 18:49:30,494 INFO L273 TraceCheckUtils]: 16: Hoare triple {6763#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {6763#true} is VALID [2018-11-14 18:49:30,494 INFO L273 TraceCheckUtils]: 17: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,495 INFO L273 TraceCheckUtils]: 18: Hoare triple {6763#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {6763#true} is VALID [2018-11-14 18:49:30,495 INFO L273 TraceCheckUtils]: 19: Hoare triple {6763#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {6763#true} is VALID [2018-11-14 18:49:30,495 INFO L273 TraceCheckUtils]: 20: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,495 INFO L273 TraceCheckUtils]: 21: Hoare triple {6763#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {6763#true} is VALID [2018-11-14 18:49:30,495 INFO L273 TraceCheckUtils]: 22: Hoare triple {6763#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {6763#true} is VALID [2018-11-14 18:49:30,496 INFO L273 TraceCheckUtils]: 23: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,496 INFO L273 TraceCheckUtils]: 24: Hoare triple {6763#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {6763#true} is VALID [2018-11-14 18:49:30,496 INFO L273 TraceCheckUtils]: 25: Hoare triple {6763#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {6763#true} is VALID [2018-11-14 18:49:30,496 INFO L273 TraceCheckUtils]: 26: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,496 INFO L273 TraceCheckUtils]: 27: Hoare triple {6763#true} assume !(~i~0 < 40); {6763#true} is VALID [2018-11-14 18:49:30,496 INFO L273 TraceCheckUtils]: 28: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,496 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {6763#true} {6763#true} #85#return; {6763#true} is VALID [2018-11-14 18:49:30,496 INFO L273 TraceCheckUtils]: 30: Hoare triple {6763#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {6763#true} is VALID [2018-11-14 18:49:30,497 INFO L256 TraceCheckUtils]: 31: Hoare triple {6763#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {6763#true} is VALID [2018-11-14 18:49:30,497 INFO L273 TraceCheckUtils]: 32: Hoare triple {6763#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {6763#true} is VALID [2018-11-14 18:49:30,497 INFO L273 TraceCheckUtils]: 33: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,497 INFO L273 TraceCheckUtils]: 34: Hoare triple {6763#true} assume !!(~i~1 < 40); {6763#true} is VALID [2018-11-14 18:49:30,497 INFO L273 TraceCheckUtils]: 35: Hoare triple {6763#true} assume !(~i~1 > 20); {6763#true} is VALID [2018-11-14 18:49:30,497 INFO L273 TraceCheckUtils]: 36: Hoare triple {6763#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6763#true} is VALID [2018-11-14 18:49:30,497 INFO L273 TraceCheckUtils]: 37: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,497 INFO L273 TraceCheckUtils]: 38: Hoare triple {6763#true} assume !!(~i~1 < 40); {6763#true} is VALID [2018-11-14 18:49:30,498 INFO L273 TraceCheckUtils]: 39: Hoare triple {6763#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6763#true} is VALID [2018-11-14 18:49:30,498 INFO L273 TraceCheckUtils]: 40: Hoare triple {6763#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6763#true} is VALID [2018-11-14 18:49:30,498 INFO L273 TraceCheckUtils]: 41: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,498 INFO L273 TraceCheckUtils]: 42: Hoare triple {6763#true} assume !!(~i~1 < 40); {6763#true} is VALID [2018-11-14 18:49:30,498 INFO L273 TraceCheckUtils]: 43: Hoare triple {6763#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6763#true} is VALID [2018-11-14 18:49:30,498 INFO L273 TraceCheckUtils]: 44: Hoare triple {6763#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6763#true} is VALID [2018-11-14 18:49:30,498 INFO L273 TraceCheckUtils]: 45: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,498 INFO L273 TraceCheckUtils]: 46: Hoare triple {6763#true} assume !!(~i~1 < 40); {6763#true} is VALID [2018-11-14 18:49:30,499 INFO L273 TraceCheckUtils]: 47: Hoare triple {6763#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6763#true} is VALID [2018-11-14 18:49:30,499 INFO L273 TraceCheckUtils]: 48: Hoare triple {6763#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6763#true} is VALID [2018-11-14 18:49:30,499 INFO L273 TraceCheckUtils]: 49: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,499 INFO L273 TraceCheckUtils]: 50: Hoare triple {6763#true} assume !(~i~1 < 40); {6763#true} is VALID [2018-11-14 18:49:30,499 INFO L273 TraceCheckUtils]: 51: Hoare triple {6763#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {6763#true} is VALID [2018-11-14 18:49:30,499 INFO L273 TraceCheckUtils]: 52: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,500 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {6763#true} {6763#true} #87#return; {6763#true} is VALID [2018-11-14 18:49:30,500 INFO L273 TraceCheckUtils]: 54: Hoare triple {6763#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {6763#true} is VALID [2018-11-14 18:49:30,500 INFO L256 TraceCheckUtils]: 55: Hoare triple {6763#true} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {6763#true} is VALID [2018-11-14 18:49:30,500 INFO L273 TraceCheckUtils]: 56: Hoare triple {6763#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {6763#true} is VALID [2018-11-14 18:49:30,500 INFO L273 TraceCheckUtils]: 57: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,500 INFO L273 TraceCheckUtils]: 58: Hoare triple {6763#true} assume !!(~i~1 < 40); {6763#true} is VALID [2018-11-14 18:49:30,501 INFO L273 TraceCheckUtils]: 59: Hoare triple {6763#true} assume !(~i~1 > 20); {6763#true} is VALID [2018-11-14 18:49:30,501 INFO L273 TraceCheckUtils]: 60: Hoare triple {6763#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6763#true} is VALID [2018-11-14 18:49:30,501 INFO L273 TraceCheckUtils]: 61: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,501 INFO L273 TraceCheckUtils]: 62: Hoare triple {6763#true} assume !!(~i~1 < 40); {6763#true} is VALID [2018-11-14 18:49:30,501 INFO L273 TraceCheckUtils]: 63: Hoare triple {6763#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6763#true} is VALID [2018-11-14 18:49:30,501 INFO L273 TraceCheckUtils]: 64: Hoare triple {6763#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6763#true} is VALID [2018-11-14 18:49:30,502 INFO L273 TraceCheckUtils]: 65: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,502 INFO L273 TraceCheckUtils]: 66: Hoare triple {6763#true} assume !!(~i~1 < 40); {6763#true} is VALID [2018-11-14 18:49:30,502 INFO L273 TraceCheckUtils]: 67: Hoare triple {6763#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6763#true} is VALID [2018-11-14 18:49:30,502 INFO L273 TraceCheckUtils]: 68: Hoare triple {6763#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6763#true} is VALID [2018-11-14 18:49:30,502 INFO L273 TraceCheckUtils]: 69: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,502 INFO L273 TraceCheckUtils]: 70: Hoare triple {6763#true} assume !!(~i~1 < 40); {6763#true} is VALID [2018-11-14 18:49:30,503 INFO L273 TraceCheckUtils]: 71: Hoare triple {6763#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6763#true} is VALID [2018-11-14 18:49:30,503 INFO L273 TraceCheckUtils]: 72: Hoare triple {6763#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6763#true} is VALID [2018-11-14 18:49:30,503 INFO L273 TraceCheckUtils]: 73: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,503 INFO L273 TraceCheckUtils]: 74: Hoare triple {6763#true} assume !(~i~1 < 40); {6763#true} is VALID [2018-11-14 18:49:30,503 INFO L273 TraceCheckUtils]: 75: Hoare triple {6763#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {6763#true} is VALID [2018-11-14 18:49:30,503 INFO L273 TraceCheckUtils]: 76: Hoare triple {6763#true} assume true; {6763#true} is VALID [2018-11-14 18:49:30,504 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {6763#true} {6763#true} #89#return; {6763#true} is VALID [2018-11-14 18:49:30,510 INFO L273 TraceCheckUtils]: 78: Hoare triple {6763#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {7002#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:30,511 INFO L273 TraceCheckUtils]: 79: Hoare triple {7002#(<= main_~i~2 0)} assume true; {7002#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:30,511 INFO L273 TraceCheckUtils]: 80: Hoare triple {7002#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {7002#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:30,512 INFO L273 TraceCheckUtils]: 81: Hoare triple {7002#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {7012#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:30,512 INFO L273 TraceCheckUtils]: 82: Hoare triple {7012#(<= main_~i~2 1)} assume true; {7012#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:30,512 INFO L273 TraceCheckUtils]: 83: Hoare triple {7012#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {7012#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:30,513 INFO L273 TraceCheckUtils]: 84: Hoare triple {7012#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {7022#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:30,513 INFO L273 TraceCheckUtils]: 85: Hoare triple {7022#(<= main_~i~2 2)} assume true; {7022#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:30,513 INFO L273 TraceCheckUtils]: 86: Hoare triple {7022#(<= main_~i~2 2)} assume !(~i~2 < 39); {6764#false} is VALID [2018-11-14 18:49:30,513 INFO L273 TraceCheckUtils]: 87: Hoare triple {6764#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {6764#false} is VALID [2018-11-14 18:49:30,514 INFO L256 TraceCheckUtils]: 88: Hoare triple {6764#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {6764#false} is VALID [2018-11-14 18:49:30,514 INFO L273 TraceCheckUtils]: 89: Hoare triple {6764#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {6764#false} is VALID [2018-11-14 18:49:30,514 INFO L273 TraceCheckUtils]: 90: Hoare triple {6764#false} assume true; {6764#false} is VALID [2018-11-14 18:49:30,514 INFO L273 TraceCheckUtils]: 91: Hoare triple {6764#false} assume !!(~i~1 < 40); {6764#false} is VALID [2018-11-14 18:49:30,514 INFO L273 TraceCheckUtils]: 92: Hoare triple {6764#false} assume !(~i~1 > 20); {6764#false} is VALID [2018-11-14 18:49:30,514 INFO L273 TraceCheckUtils]: 93: Hoare triple {6764#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6764#false} is VALID [2018-11-14 18:49:30,515 INFO L273 TraceCheckUtils]: 94: Hoare triple {6764#false} assume true; {6764#false} is VALID [2018-11-14 18:49:30,515 INFO L273 TraceCheckUtils]: 95: Hoare triple {6764#false} assume !!(~i~1 < 40); {6764#false} is VALID [2018-11-14 18:49:30,515 INFO L273 TraceCheckUtils]: 96: Hoare triple {6764#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6764#false} is VALID [2018-11-14 18:49:30,515 INFO L273 TraceCheckUtils]: 97: Hoare triple {6764#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6764#false} is VALID [2018-11-14 18:49:30,515 INFO L273 TraceCheckUtils]: 98: Hoare triple {6764#false} assume true; {6764#false} is VALID [2018-11-14 18:49:30,516 INFO L273 TraceCheckUtils]: 99: Hoare triple {6764#false} assume !!(~i~1 < 40); {6764#false} is VALID [2018-11-14 18:49:30,516 INFO L273 TraceCheckUtils]: 100: Hoare triple {6764#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6764#false} is VALID [2018-11-14 18:49:30,516 INFO L273 TraceCheckUtils]: 101: Hoare triple {6764#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6764#false} is VALID [2018-11-14 18:49:30,516 INFO L273 TraceCheckUtils]: 102: Hoare triple {6764#false} assume true; {6764#false} is VALID [2018-11-14 18:49:30,516 INFO L273 TraceCheckUtils]: 103: Hoare triple {6764#false} assume !!(~i~1 < 40); {6764#false} is VALID [2018-11-14 18:49:30,517 INFO L273 TraceCheckUtils]: 104: Hoare triple {6764#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {6764#false} is VALID [2018-11-14 18:49:30,517 INFO L273 TraceCheckUtils]: 105: Hoare triple {6764#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {6764#false} is VALID [2018-11-14 18:49:30,517 INFO L273 TraceCheckUtils]: 106: Hoare triple {6764#false} assume true; {6764#false} is VALID [2018-11-14 18:49:30,517 INFO L273 TraceCheckUtils]: 107: Hoare triple {6764#false} assume !(~i~1 < 40); {6764#false} is VALID [2018-11-14 18:49:30,517 INFO L273 TraceCheckUtils]: 108: Hoare triple {6764#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {6764#false} is VALID [2018-11-14 18:49:30,517 INFO L273 TraceCheckUtils]: 109: Hoare triple {6764#false} assume true; {6764#false} is VALID [2018-11-14 18:49:30,517 INFO L268 TraceCheckUtils]: 110: Hoare quadruple {6764#false} {6764#false} #91#return; {6764#false} is VALID [2018-11-14 18:49:30,518 INFO L273 TraceCheckUtils]: 111: Hoare triple {6764#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {6764#false} is VALID [2018-11-14 18:49:30,518 INFO L273 TraceCheckUtils]: 112: Hoare triple {6764#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {6764#false} is VALID [2018-11-14 18:49:30,518 INFO L273 TraceCheckUtils]: 113: Hoare triple {6764#false} assume !false; {6764#false} is VALID [2018-11-14 18:49:30,522 INFO L134 CoverageAnalysis]: Checked inductivity of 418 backedges. 172 proven. 7 refuted. 0 times theorem prover too weak. 239 trivial. 0 not checked. [2018-11-14 18:49:30,543 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:30,543 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5] total 5 [2018-11-14 18:49:30,544 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 114 [2018-11-14 18:49:30,544 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:30,544 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-14 18:49:30,609 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 18:49:30,609 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-14 18:49:30,609 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-14 18:49:30,609 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-14 18:49:30,610 INFO L87 Difference]: Start difference. First operand 71 states and 79 transitions. Second operand 5 states. [2018-11-14 18:49:30,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:30,860 INFO L93 Difference]: Finished difference Result 103 states and 116 transitions. [2018-11-14 18:49:30,860 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 18:49:30,860 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 114 [2018-11-14 18:49:30,860 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:30,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 18:49:30,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2018-11-14 18:49:30,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 18:49:30,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2018-11-14 18:49:30,862 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2018-11-14 18:49:31,681 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 18:49:31,683 INFO L225 Difference]: With dead ends: 103 [2018-11-14 18:49:31,683 INFO L226 Difference]: Without dead ends: 75 [2018-11-14 18:49:31,683 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 110 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 18:49:31,684 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2018-11-14 18:49:32,165 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 74. [2018-11-14 18:49:32,166 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:32,166 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 74 states. [2018-11-14 18:49:32,166 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 74 states. [2018-11-14 18:49:32,166 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 74 states. [2018-11-14 18:49:32,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:32,168 INFO L93 Difference]: Finished difference Result 75 states and 83 transitions. [2018-11-14 18:49:32,168 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 83 transitions. [2018-11-14 18:49:32,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:32,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:32,169 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 75 states. [2018-11-14 18:49:32,169 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 75 states. [2018-11-14 18:49:32,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:32,171 INFO L93 Difference]: Finished difference Result 75 states and 83 transitions. [2018-11-14 18:49:32,172 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 83 transitions. [2018-11-14 18:49:32,172 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:32,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:32,172 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:32,172 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:32,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-11-14 18:49:32,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 82 transitions. [2018-11-14 18:49:32,174 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 82 transitions. Word has length 114 [2018-11-14 18:49:32,175 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:32,175 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 82 transitions. [2018-11-14 18:49:32,175 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-14 18:49:32,175 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 82 transitions. [2018-11-14 18:49:32,176 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 118 [2018-11-14 18:49:32,176 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:32,176 INFO L375 BasicCegarLoop]: trace histogram [15, 12, 12, 9, 7, 6, 6, 4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:32,177 INFO L423 AbstractCegarLoop]: === Iteration 15 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:32,177 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:32,177 INFO L82 PathProgramCache]: Analyzing trace with hash -250114420, now seen corresponding path program 10 times [2018-11-14 18:49:32,177 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:32,177 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:32,178 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:32,178 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:32,178 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:32,190 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:32,191 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:32,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 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:32,213 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 18:49:32,267 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 18:49:32,267 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:32,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:32,300 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:32,844 INFO L256 TraceCheckUtils]: 0: Hoare triple {7495#true} call ULTIMATE.init(); {7495#true} is VALID [2018-11-14 18:49:32,844 INFO L273 TraceCheckUtils]: 1: Hoare triple {7495#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7495#true} is VALID [2018-11-14 18:49:32,844 INFO L273 TraceCheckUtils]: 2: Hoare triple {7495#true} assume true; {7495#true} is VALID [2018-11-14 18:49:32,845 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7495#true} {7495#true} #81#return; {7495#true} is VALID [2018-11-14 18:49:32,845 INFO L256 TraceCheckUtils]: 4: Hoare triple {7495#true} call #t~ret12 := main(); {7495#true} is VALID [2018-11-14 18:49:32,845 INFO L273 TraceCheckUtils]: 5: Hoare triple {7495#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {7495#true} is VALID [2018-11-14 18:49:32,845 INFO L256 TraceCheckUtils]: 6: Hoare triple {7495#true} call init_nondet(~#x~0.base, ~#x~0.offset); {7495#true} is VALID [2018-11-14 18:49:32,845 INFO L273 TraceCheckUtils]: 7: Hoare triple {7495#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {7521#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:32,846 INFO L273 TraceCheckUtils]: 8: Hoare triple {7521#(<= init_nondet_~i~0 0)} assume true; {7521#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:32,846 INFO L273 TraceCheckUtils]: 9: Hoare triple {7521#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {7521#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:32,847 INFO L273 TraceCheckUtils]: 10: Hoare triple {7521#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {7531#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:32,848 INFO L273 TraceCheckUtils]: 11: Hoare triple {7531#(<= init_nondet_~i~0 1)} assume true; {7531#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:32,848 INFO L273 TraceCheckUtils]: 12: Hoare triple {7531#(<= init_nondet_~i~0 1)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {7531#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:32,848 INFO L273 TraceCheckUtils]: 13: Hoare triple {7531#(<= init_nondet_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {7541#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:32,849 INFO L273 TraceCheckUtils]: 14: Hoare triple {7541#(<= init_nondet_~i~0 2)} assume true; {7541#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:32,849 INFO L273 TraceCheckUtils]: 15: Hoare triple {7541#(<= init_nondet_~i~0 2)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {7541#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:32,849 INFO L273 TraceCheckUtils]: 16: Hoare triple {7541#(<= init_nondet_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {7551#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:32,850 INFO L273 TraceCheckUtils]: 17: Hoare triple {7551#(<= init_nondet_~i~0 3)} assume true; {7551#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:32,850 INFO L273 TraceCheckUtils]: 18: Hoare triple {7551#(<= init_nondet_~i~0 3)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {7551#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:32,851 INFO L273 TraceCheckUtils]: 19: Hoare triple {7551#(<= init_nondet_~i~0 3)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {7561#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:32,851 INFO L273 TraceCheckUtils]: 20: Hoare triple {7561#(<= init_nondet_~i~0 4)} assume true; {7561#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:32,852 INFO L273 TraceCheckUtils]: 21: Hoare triple {7561#(<= init_nondet_~i~0 4)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {7561#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:32,853 INFO L273 TraceCheckUtils]: 22: Hoare triple {7561#(<= init_nondet_~i~0 4)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {7571#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:32,853 INFO L273 TraceCheckUtils]: 23: Hoare triple {7571#(<= init_nondet_~i~0 5)} assume true; {7571#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:32,854 INFO L273 TraceCheckUtils]: 24: Hoare triple {7571#(<= init_nondet_~i~0 5)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {7571#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:32,854 INFO L273 TraceCheckUtils]: 25: Hoare triple {7571#(<= init_nondet_~i~0 5)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {7581#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:32,855 INFO L273 TraceCheckUtils]: 26: Hoare triple {7581#(<= init_nondet_~i~0 6)} assume true; {7581#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:32,856 INFO L273 TraceCheckUtils]: 27: Hoare triple {7581#(<= init_nondet_~i~0 6)} assume !(~i~0 < 40); {7496#false} is VALID [2018-11-14 18:49:32,856 INFO L273 TraceCheckUtils]: 28: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,856 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {7496#false} {7495#true} #85#return; {7496#false} is VALID [2018-11-14 18:49:32,856 INFO L273 TraceCheckUtils]: 30: Hoare triple {7496#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {7496#false} is VALID [2018-11-14 18:49:32,856 INFO L256 TraceCheckUtils]: 31: Hoare triple {7496#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {7496#false} is VALID [2018-11-14 18:49:32,857 INFO L273 TraceCheckUtils]: 32: Hoare triple {7496#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {7496#false} is VALID [2018-11-14 18:49:32,857 INFO L273 TraceCheckUtils]: 33: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,857 INFO L273 TraceCheckUtils]: 34: Hoare triple {7496#false} assume !!(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,857 INFO L273 TraceCheckUtils]: 35: Hoare triple {7496#false} assume !(~i~1 > 20); {7496#false} is VALID [2018-11-14 18:49:32,857 INFO L273 TraceCheckUtils]: 36: Hoare triple {7496#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {7496#false} is VALID [2018-11-14 18:49:32,857 INFO L273 TraceCheckUtils]: 37: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,858 INFO L273 TraceCheckUtils]: 38: Hoare triple {7496#false} assume !!(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,858 INFO L273 TraceCheckUtils]: 39: Hoare triple {7496#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {7496#false} is VALID [2018-11-14 18:49:32,858 INFO L273 TraceCheckUtils]: 40: Hoare triple {7496#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {7496#false} is VALID [2018-11-14 18:49:32,858 INFO L273 TraceCheckUtils]: 41: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,858 INFO L273 TraceCheckUtils]: 42: Hoare triple {7496#false} assume !!(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,858 INFO L273 TraceCheckUtils]: 43: Hoare triple {7496#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {7496#false} is VALID [2018-11-14 18:49:32,858 INFO L273 TraceCheckUtils]: 44: Hoare triple {7496#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {7496#false} is VALID [2018-11-14 18:49:32,858 INFO L273 TraceCheckUtils]: 45: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,859 INFO L273 TraceCheckUtils]: 46: Hoare triple {7496#false} assume !!(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,859 INFO L273 TraceCheckUtils]: 47: Hoare triple {7496#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {7496#false} is VALID [2018-11-14 18:49:32,859 INFO L273 TraceCheckUtils]: 48: Hoare triple {7496#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {7496#false} is VALID [2018-11-14 18:49:32,859 INFO L273 TraceCheckUtils]: 49: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,859 INFO L273 TraceCheckUtils]: 50: Hoare triple {7496#false} assume !(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,859 INFO L273 TraceCheckUtils]: 51: Hoare triple {7496#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {7496#false} is VALID [2018-11-14 18:49:32,859 INFO L273 TraceCheckUtils]: 52: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,859 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {7496#false} {7496#false} #87#return; {7496#false} is VALID [2018-11-14 18:49:32,859 INFO L273 TraceCheckUtils]: 54: Hoare triple {7496#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {7496#false} is VALID [2018-11-14 18:49:32,860 INFO L256 TraceCheckUtils]: 55: Hoare triple {7496#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {7496#false} is VALID [2018-11-14 18:49:32,860 INFO L273 TraceCheckUtils]: 56: Hoare triple {7496#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {7496#false} is VALID [2018-11-14 18:49:32,860 INFO L273 TraceCheckUtils]: 57: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,860 INFO L273 TraceCheckUtils]: 58: Hoare triple {7496#false} assume !!(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,860 INFO L273 TraceCheckUtils]: 59: Hoare triple {7496#false} assume !(~i~1 > 20); {7496#false} is VALID [2018-11-14 18:49:32,860 INFO L273 TraceCheckUtils]: 60: Hoare triple {7496#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {7496#false} is VALID [2018-11-14 18:49:32,860 INFO L273 TraceCheckUtils]: 61: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,860 INFO L273 TraceCheckUtils]: 62: Hoare triple {7496#false} assume !!(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,861 INFO L273 TraceCheckUtils]: 63: Hoare triple {7496#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {7496#false} is VALID [2018-11-14 18:49:32,861 INFO L273 TraceCheckUtils]: 64: Hoare triple {7496#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {7496#false} is VALID [2018-11-14 18:49:32,861 INFO L273 TraceCheckUtils]: 65: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,861 INFO L273 TraceCheckUtils]: 66: Hoare triple {7496#false} assume !!(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,861 INFO L273 TraceCheckUtils]: 67: Hoare triple {7496#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {7496#false} is VALID [2018-11-14 18:49:32,861 INFO L273 TraceCheckUtils]: 68: Hoare triple {7496#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {7496#false} is VALID [2018-11-14 18:49:32,861 INFO L273 TraceCheckUtils]: 69: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,861 INFO L273 TraceCheckUtils]: 70: Hoare triple {7496#false} assume !!(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,861 INFO L273 TraceCheckUtils]: 71: Hoare triple {7496#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {7496#false} is VALID [2018-11-14 18:49:32,862 INFO L273 TraceCheckUtils]: 72: Hoare triple {7496#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {7496#false} is VALID [2018-11-14 18:49:32,862 INFO L273 TraceCheckUtils]: 73: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,862 INFO L273 TraceCheckUtils]: 74: Hoare triple {7496#false} assume !(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,862 INFO L273 TraceCheckUtils]: 75: Hoare triple {7496#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {7496#false} is VALID [2018-11-14 18:49:32,862 INFO L273 TraceCheckUtils]: 76: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,862 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {7496#false} {7496#false} #89#return; {7496#false} is VALID [2018-11-14 18:49:32,862 INFO L273 TraceCheckUtils]: 78: Hoare triple {7496#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {7496#false} is VALID [2018-11-14 18:49:32,862 INFO L273 TraceCheckUtils]: 79: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,862 INFO L273 TraceCheckUtils]: 80: Hoare triple {7496#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {7496#false} is VALID [2018-11-14 18:49:32,863 INFO L273 TraceCheckUtils]: 81: Hoare triple {7496#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {7496#false} is VALID [2018-11-14 18:49:32,863 INFO L273 TraceCheckUtils]: 82: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,863 INFO L273 TraceCheckUtils]: 83: Hoare triple {7496#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {7496#false} is VALID [2018-11-14 18:49:32,863 INFO L273 TraceCheckUtils]: 84: Hoare triple {7496#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {7496#false} is VALID [2018-11-14 18:49:32,863 INFO L273 TraceCheckUtils]: 85: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,863 INFO L273 TraceCheckUtils]: 86: Hoare triple {7496#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {7496#false} is VALID [2018-11-14 18:49:32,863 INFO L273 TraceCheckUtils]: 87: Hoare triple {7496#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {7496#false} is VALID [2018-11-14 18:49:32,863 INFO L273 TraceCheckUtils]: 88: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,864 INFO L273 TraceCheckUtils]: 89: Hoare triple {7496#false} assume !(~i~2 < 39); {7496#false} is VALID [2018-11-14 18:49:32,864 INFO L273 TraceCheckUtils]: 90: Hoare triple {7496#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {7496#false} is VALID [2018-11-14 18:49:32,864 INFO L256 TraceCheckUtils]: 91: Hoare triple {7496#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {7496#false} is VALID [2018-11-14 18:49:32,864 INFO L273 TraceCheckUtils]: 92: Hoare triple {7496#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {7496#false} is VALID [2018-11-14 18:49:32,864 INFO L273 TraceCheckUtils]: 93: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,864 INFO L273 TraceCheckUtils]: 94: Hoare triple {7496#false} assume !!(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,864 INFO L273 TraceCheckUtils]: 95: Hoare triple {7496#false} assume !(~i~1 > 20); {7496#false} is VALID [2018-11-14 18:49:32,864 INFO L273 TraceCheckUtils]: 96: Hoare triple {7496#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {7496#false} is VALID [2018-11-14 18:49:32,864 INFO L273 TraceCheckUtils]: 97: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,865 INFO L273 TraceCheckUtils]: 98: Hoare triple {7496#false} assume !!(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,865 INFO L273 TraceCheckUtils]: 99: Hoare triple {7496#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {7496#false} is VALID [2018-11-14 18:49:32,865 INFO L273 TraceCheckUtils]: 100: Hoare triple {7496#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {7496#false} is VALID [2018-11-14 18:49:32,865 INFO L273 TraceCheckUtils]: 101: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,865 INFO L273 TraceCheckUtils]: 102: Hoare triple {7496#false} assume !!(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,865 INFO L273 TraceCheckUtils]: 103: Hoare triple {7496#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {7496#false} is VALID [2018-11-14 18:49:32,865 INFO L273 TraceCheckUtils]: 104: Hoare triple {7496#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {7496#false} is VALID [2018-11-14 18:49:32,865 INFO L273 TraceCheckUtils]: 105: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,866 INFO L273 TraceCheckUtils]: 106: Hoare triple {7496#false} assume !!(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,866 INFO L273 TraceCheckUtils]: 107: Hoare triple {7496#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {7496#false} is VALID [2018-11-14 18:49:32,866 INFO L273 TraceCheckUtils]: 108: Hoare triple {7496#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {7496#false} is VALID [2018-11-14 18:49:32,866 INFO L273 TraceCheckUtils]: 109: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,866 INFO L273 TraceCheckUtils]: 110: Hoare triple {7496#false} assume !(~i~1 < 40); {7496#false} is VALID [2018-11-14 18:49:32,866 INFO L273 TraceCheckUtils]: 111: Hoare triple {7496#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {7496#false} is VALID [2018-11-14 18:49:32,866 INFO L273 TraceCheckUtils]: 112: Hoare triple {7496#false} assume true; {7496#false} is VALID [2018-11-14 18:49:32,866 INFO L268 TraceCheckUtils]: 113: Hoare quadruple {7496#false} {7496#false} #91#return; {7496#false} is VALID [2018-11-14 18:49:32,866 INFO L273 TraceCheckUtils]: 114: Hoare triple {7496#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {7496#false} is VALID [2018-11-14 18:49:32,867 INFO L273 TraceCheckUtils]: 115: Hoare triple {7496#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7496#false} is VALID [2018-11-14 18:49:32,867 INFO L273 TraceCheckUtils]: 116: Hoare triple {7496#false} assume !false; {7496#false} is VALID [2018-11-14 18:49:32,872 INFO L134 CoverageAnalysis]: Checked inductivity of 426 backedges. 0 proven. 57 refuted. 0 times theorem prover too weak. 369 trivial. 0 not checked. [2018-11-14 18:49:32,892 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:32,892 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2018-11-14 18:49:32,893 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 117 [2018-11-14 18:49:32,893 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:32,893 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-14 18:49:32,943 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 18:49:32,943 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-14 18:49:32,943 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-14 18:49:32,944 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-14 18:49:32,944 INFO L87 Difference]: Start difference. First operand 74 states and 82 transitions. Second operand 9 states. [2018-11-14 18:49:33,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:33,239 INFO L93 Difference]: Finished difference Result 124 states and 140 transitions. [2018-11-14 18:49:33,239 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-14 18:49:33,240 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 117 [2018-11-14 18:49:33,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:33,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 18:49:33,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 92 transitions. [2018-11-14 18:49:33,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 18:49:33,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 92 transitions. [2018-11-14 18:49:33,243 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 92 transitions. [2018-11-14 18:49:33,636 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:33,638 INFO L225 Difference]: With dead ends: 124 [2018-11-14 18:49:33,638 INFO L226 Difference]: Without dead ends: 78 [2018-11-14 18:49:33,639 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 109 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-14 18:49:33,639 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2018-11-14 18:49:33,667 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 77. [2018-11-14 18:49:33,667 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:33,667 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand 77 states. [2018-11-14 18:49:33,667 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 77 states. [2018-11-14 18:49:33,668 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 77 states. [2018-11-14 18:49:33,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:33,669 INFO L93 Difference]: Finished difference Result 78 states and 86 transitions. [2018-11-14 18:49:33,669 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 86 transitions. [2018-11-14 18:49:33,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:33,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:33,670 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 78 states. [2018-11-14 18:49:33,670 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 78 states. [2018-11-14 18:49:33,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:33,672 INFO L93 Difference]: Finished difference Result 78 states and 86 transitions. [2018-11-14 18:49:33,672 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 86 transitions. [2018-11-14 18:49:33,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:33,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:33,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:33,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:33,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-11-14 18:49:33,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 85 transitions. [2018-11-14 18:49:33,674 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 85 transitions. Word has length 117 [2018-11-14 18:49:33,674 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:33,674 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 85 transitions. [2018-11-14 18:49:33,674 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-14 18:49:33,675 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 85 transitions. [2018-11-14 18:49:33,676 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 121 [2018-11-14 18:49:33,676 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:33,676 INFO L375 BasicCegarLoop]: trace histogram [15, 12, 12, 9, 8, 7, 7, 4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:33,676 INFO L423 AbstractCegarLoop]: === Iteration 16 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:33,676 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:33,677 INFO L82 PathProgramCache]: Analyzing trace with hash 1125887334, now seen corresponding path program 11 times [2018-11-14 18:49:33,677 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:33,677 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:33,677 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:33,678 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:33,678 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:33,692 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:33,692 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:33,692 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:33,706 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-14 18:49:33,797 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-14 18:49:33,797 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:33,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:33,826 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:34,795 INFO L256 TraceCheckUtils]: 0: Hoare triple {8278#true} call ULTIMATE.init(); {8278#true} is VALID [2018-11-14 18:49:34,796 INFO L273 TraceCheckUtils]: 1: Hoare triple {8278#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {8278#true} is VALID [2018-11-14 18:49:34,796 INFO L273 TraceCheckUtils]: 2: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,796 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8278#true} {8278#true} #81#return; {8278#true} is VALID [2018-11-14 18:49:34,796 INFO L256 TraceCheckUtils]: 4: Hoare triple {8278#true} call #t~ret12 := main(); {8278#true} is VALID [2018-11-14 18:49:34,796 INFO L273 TraceCheckUtils]: 5: Hoare triple {8278#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {8278#true} is VALID [2018-11-14 18:49:34,796 INFO L256 TraceCheckUtils]: 6: Hoare triple {8278#true} call init_nondet(~#x~0.base, ~#x~0.offset); {8278#true} is VALID [2018-11-14 18:49:34,796 INFO L273 TraceCheckUtils]: 7: Hoare triple {8278#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {8278#true} is VALID [2018-11-14 18:49:34,797 INFO L273 TraceCheckUtils]: 8: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,797 INFO L273 TraceCheckUtils]: 9: Hoare triple {8278#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {8278#true} is VALID [2018-11-14 18:49:34,797 INFO L273 TraceCheckUtils]: 10: Hoare triple {8278#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {8278#true} is VALID [2018-11-14 18:49:34,797 INFO L273 TraceCheckUtils]: 11: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,797 INFO L273 TraceCheckUtils]: 12: Hoare triple {8278#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {8278#true} is VALID [2018-11-14 18:49:34,797 INFO L273 TraceCheckUtils]: 13: Hoare triple {8278#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {8278#true} is VALID [2018-11-14 18:49:34,797 INFO L273 TraceCheckUtils]: 14: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,797 INFO L273 TraceCheckUtils]: 15: Hoare triple {8278#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {8278#true} is VALID [2018-11-14 18:49:34,798 INFO L273 TraceCheckUtils]: 16: Hoare triple {8278#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {8278#true} is VALID [2018-11-14 18:49:34,798 INFO L273 TraceCheckUtils]: 17: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,798 INFO L273 TraceCheckUtils]: 18: Hoare triple {8278#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {8278#true} is VALID [2018-11-14 18:49:34,798 INFO L273 TraceCheckUtils]: 19: Hoare triple {8278#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {8278#true} is VALID [2018-11-14 18:49:34,798 INFO L273 TraceCheckUtils]: 20: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,798 INFO L273 TraceCheckUtils]: 21: Hoare triple {8278#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {8278#true} is VALID [2018-11-14 18:49:34,798 INFO L273 TraceCheckUtils]: 22: Hoare triple {8278#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {8278#true} is VALID [2018-11-14 18:49:34,798 INFO L273 TraceCheckUtils]: 23: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,798 INFO L273 TraceCheckUtils]: 24: Hoare triple {8278#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {8278#true} is VALID [2018-11-14 18:49:34,799 INFO L273 TraceCheckUtils]: 25: Hoare triple {8278#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {8278#true} is VALID [2018-11-14 18:49:34,799 INFO L273 TraceCheckUtils]: 26: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,799 INFO L273 TraceCheckUtils]: 27: Hoare triple {8278#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {8278#true} is VALID [2018-11-14 18:49:34,799 INFO L273 TraceCheckUtils]: 28: Hoare triple {8278#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {8278#true} is VALID [2018-11-14 18:49:34,799 INFO L273 TraceCheckUtils]: 29: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,799 INFO L273 TraceCheckUtils]: 30: Hoare triple {8278#true} assume !(~i~0 < 40); {8278#true} is VALID [2018-11-14 18:49:34,799 INFO L273 TraceCheckUtils]: 31: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,799 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {8278#true} {8278#true} #85#return; {8278#true} is VALID [2018-11-14 18:49:34,800 INFO L273 TraceCheckUtils]: 33: Hoare triple {8278#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {8278#true} is VALID [2018-11-14 18:49:34,800 INFO L256 TraceCheckUtils]: 34: Hoare triple {8278#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {8278#true} is VALID [2018-11-14 18:49:34,800 INFO L273 TraceCheckUtils]: 35: Hoare triple {8278#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {8278#true} is VALID [2018-11-14 18:49:34,800 INFO L273 TraceCheckUtils]: 36: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,800 INFO L273 TraceCheckUtils]: 37: Hoare triple {8278#true} assume !!(~i~1 < 40); {8278#true} is VALID [2018-11-14 18:49:34,800 INFO L273 TraceCheckUtils]: 38: Hoare triple {8278#true} assume !(~i~1 > 20); {8278#true} is VALID [2018-11-14 18:49:34,800 INFO L273 TraceCheckUtils]: 39: Hoare triple {8278#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {8278#true} is VALID [2018-11-14 18:49:34,800 INFO L273 TraceCheckUtils]: 40: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,801 INFO L273 TraceCheckUtils]: 41: Hoare triple {8278#true} assume !!(~i~1 < 40); {8278#true} is VALID [2018-11-14 18:49:34,801 INFO L273 TraceCheckUtils]: 42: Hoare triple {8278#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {8278#true} is VALID [2018-11-14 18:49:34,801 INFO L273 TraceCheckUtils]: 43: Hoare triple {8278#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {8278#true} is VALID [2018-11-14 18:49:34,801 INFO L273 TraceCheckUtils]: 44: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,801 INFO L273 TraceCheckUtils]: 45: Hoare triple {8278#true} assume !!(~i~1 < 40); {8278#true} is VALID [2018-11-14 18:49:34,801 INFO L273 TraceCheckUtils]: 46: Hoare triple {8278#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {8278#true} is VALID [2018-11-14 18:49:34,802 INFO L273 TraceCheckUtils]: 47: Hoare triple {8278#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {8278#true} is VALID [2018-11-14 18:49:34,802 INFO L273 TraceCheckUtils]: 48: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,802 INFO L273 TraceCheckUtils]: 49: Hoare triple {8278#true} assume !!(~i~1 < 40); {8278#true} is VALID [2018-11-14 18:49:34,802 INFO L273 TraceCheckUtils]: 50: Hoare triple {8278#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {8278#true} is VALID [2018-11-14 18:49:34,802 INFO L273 TraceCheckUtils]: 51: Hoare triple {8278#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {8278#true} is VALID [2018-11-14 18:49:34,802 INFO L273 TraceCheckUtils]: 52: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,803 INFO L273 TraceCheckUtils]: 53: Hoare triple {8278#true} assume !(~i~1 < 40); {8278#true} is VALID [2018-11-14 18:49:34,803 INFO L273 TraceCheckUtils]: 54: Hoare triple {8278#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {8278#true} is VALID [2018-11-14 18:49:34,803 INFO L273 TraceCheckUtils]: 55: Hoare triple {8278#true} assume true; {8278#true} is VALID [2018-11-14 18:49:34,803 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {8278#true} {8278#true} #87#return; {8278#true} is VALID [2018-11-14 18:49:34,803 INFO L273 TraceCheckUtils]: 57: Hoare triple {8278#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {8278#true} is VALID [2018-11-14 18:49:34,803 INFO L256 TraceCheckUtils]: 58: Hoare triple {8278#true} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {8278#true} is VALID [2018-11-14 18:49:34,818 INFO L273 TraceCheckUtils]: 59: Hoare triple {8278#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {8460#(<= rangesum_~i~1 0)} is VALID [2018-11-14 18:49:34,823 INFO L273 TraceCheckUtils]: 60: Hoare triple {8460#(<= rangesum_~i~1 0)} assume true; {8460#(<= rangesum_~i~1 0)} is VALID [2018-11-14 18:49:34,823 INFO L273 TraceCheckUtils]: 61: Hoare triple {8460#(<= rangesum_~i~1 0)} assume !!(~i~1 < 40); {8460#(<= rangesum_~i~1 0)} is VALID [2018-11-14 18:49:34,824 INFO L273 TraceCheckUtils]: 62: Hoare triple {8460#(<= rangesum_~i~1 0)} assume !(~i~1 > 20); {8460#(<= rangesum_~i~1 0)} is VALID [2018-11-14 18:49:34,824 INFO L273 TraceCheckUtils]: 63: Hoare triple {8460#(<= rangesum_~i~1 0)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {8473#(<= rangesum_~i~1 1)} is VALID [2018-11-14 18:49:34,825 INFO L273 TraceCheckUtils]: 64: Hoare triple {8473#(<= rangesum_~i~1 1)} assume true; {8473#(<= rangesum_~i~1 1)} is VALID [2018-11-14 18:49:34,825 INFO L273 TraceCheckUtils]: 65: Hoare triple {8473#(<= rangesum_~i~1 1)} assume !!(~i~1 < 40); {8473#(<= rangesum_~i~1 1)} is VALID [2018-11-14 18:49:34,825 INFO L273 TraceCheckUtils]: 66: Hoare triple {8473#(<= rangesum_~i~1 1)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {8279#false} is VALID [2018-11-14 18:49:34,826 INFO L273 TraceCheckUtils]: 67: Hoare triple {8279#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {8279#false} is VALID [2018-11-14 18:49:34,826 INFO L273 TraceCheckUtils]: 68: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,826 INFO L273 TraceCheckUtils]: 69: Hoare triple {8279#false} assume !!(~i~1 < 40); {8279#false} is VALID [2018-11-14 18:49:34,826 INFO L273 TraceCheckUtils]: 70: Hoare triple {8279#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {8279#false} is VALID [2018-11-14 18:49:34,826 INFO L273 TraceCheckUtils]: 71: Hoare triple {8279#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {8279#false} is VALID [2018-11-14 18:49:34,826 INFO L273 TraceCheckUtils]: 72: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,826 INFO L273 TraceCheckUtils]: 73: Hoare triple {8279#false} assume !!(~i~1 < 40); {8279#false} is VALID [2018-11-14 18:49:34,827 INFO L273 TraceCheckUtils]: 74: Hoare triple {8279#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {8279#false} is VALID [2018-11-14 18:49:34,827 INFO L273 TraceCheckUtils]: 75: Hoare triple {8279#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {8279#false} is VALID [2018-11-14 18:49:34,827 INFO L273 TraceCheckUtils]: 76: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,827 INFO L273 TraceCheckUtils]: 77: Hoare triple {8279#false} assume !(~i~1 < 40); {8279#false} is VALID [2018-11-14 18:49:34,828 INFO L273 TraceCheckUtils]: 78: Hoare triple {8279#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {8279#false} is VALID [2018-11-14 18:49:34,828 INFO L273 TraceCheckUtils]: 79: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,828 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {8279#false} {8278#true} #89#return; {8279#false} is VALID [2018-11-14 18:49:34,828 INFO L273 TraceCheckUtils]: 81: Hoare triple {8279#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {8279#false} is VALID [2018-11-14 18:49:34,828 INFO L273 TraceCheckUtils]: 82: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,829 INFO L273 TraceCheckUtils]: 83: Hoare triple {8279#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {8279#false} is VALID [2018-11-14 18:49:34,829 INFO L273 TraceCheckUtils]: 84: Hoare triple {8279#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {8279#false} is VALID [2018-11-14 18:49:34,829 INFO L273 TraceCheckUtils]: 85: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,829 INFO L273 TraceCheckUtils]: 86: Hoare triple {8279#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {8279#false} is VALID [2018-11-14 18:49:34,829 INFO L273 TraceCheckUtils]: 87: Hoare triple {8279#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {8279#false} is VALID [2018-11-14 18:49:34,829 INFO L273 TraceCheckUtils]: 88: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,829 INFO L273 TraceCheckUtils]: 89: Hoare triple {8279#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {8279#false} is VALID [2018-11-14 18:49:34,830 INFO L273 TraceCheckUtils]: 90: Hoare triple {8279#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {8279#false} is VALID [2018-11-14 18:49:34,830 INFO L273 TraceCheckUtils]: 91: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,830 INFO L273 TraceCheckUtils]: 92: Hoare triple {8279#false} assume !(~i~2 < 39); {8279#false} is VALID [2018-11-14 18:49:34,830 INFO L273 TraceCheckUtils]: 93: Hoare triple {8279#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {8279#false} is VALID [2018-11-14 18:49:34,830 INFO L256 TraceCheckUtils]: 94: Hoare triple {8279#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {8279#false} is VALID [2018-11-14 18:49:34,830 INFO L273 TraceCheckUtils]: 95: Hoare triple {8279#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {8279#false} is VALID [2018-11-14 18:49:34,830 INFO L273 TraceCheckUtils]: 96: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,830 INFO L273 TraceCheckUtils]: 97: Hoare triple {8279#false} assume !!(~i~1 < 40); {8279#false} is VALID [2018-11-14 18:49:34,830 INFO L273 TraceCheckUtils]: 98: Hoare triple {8279#false} assume !(~i~1 > 20); {8279#false} is VALID [2018-11-14 18:49:34,831 INFO L273 TraceCheckUtils]: 99: Hoare triple {8279#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {8279#false} is VALID [2018-11-14 18:49:34,831 INFO L273 TraceCheckUtils]: 100: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,831 INFO L273 TraceCheckUtils]: 101: Hoare triple {8279#false} assume !!(~i~1 < 40); {8279#false} is VALID [2018-11-14 18:49:34,831 INFO L273 TraceCheckUtils]: 102: Hoare triple {8279#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {8279#false} is VALID [2018-11-14 18:49:34,831 INFO L273 TraceCheckUtils]: 103: Hoare triple {8279#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {8279#false} is VALID [2018-11-14 18:49:34,831 INFO L273 TraceCheckUtils]: 104: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,831 INFO L273 TraceCheckUtils]: 105: Hoare triple {8279#false} assume !!(~i~1 < 40); {8279#false} is VALID [2018-11-14 18:49:34,831 INFO L273 TraceCheckUtils]: 106: Hoare triple {8279#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {8279#false} is VALID [2018-11-14 18:49:34,831 INFO L273 TraceCheckUtils]: 107: Hoare triple {8279#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {8279#false} is VALID [2018-11-14 18:49:34,832 INFO L273 TraceCheckUtils]: 108: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,832 INFO L273 TraceCheckUtils]: 109: Hoare triple {8279#false} assume !!(~i~1 < 40); {8279#false} is VALID [2018-11-14 18:49:34,832 INFO L273 TraceCheckUtils]: 110: Hoare triple {8279#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {8279#false} is VALID [2018-11-14 18:49:34,832 INFO L273 TraceCheckUtils]: 111: Hoare triple {8279#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {8279#false} is VALID [2018-11-14 18:49:34,832 INFO L273 TraceCheckUtils]: 112: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,832 INFO L273 TraceCheckUtils]: 113: Hoare triple {8279#false} assume !(~i~1 < 40); {8279#false} is VALID [2018-11-14 18:49:34,832 INFO L273 TraceCheckUtils]: 114: Hoare triple {8279#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {8279#false} is VALID [2018-11-14 18:49:34,832 INFO L273 TraceCheckUtils]: 115: Hoare triple {8279#false} assume true; {8279#false} is VALID [2018-11-14 18:49:34,833 INFO L268 TraceCheckUtils]: 116: Hoare quadruple {8279#false} {8279#false} #91#return; {8279#false} is VALID [2018-11-14 18:49:34,833 INFO L273 TraceCheckUtils]: 117: Hoare triple {8279#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {8279#false} is VALID [2018-11-14 18:49:34,833 INFO L273 TraceCheckUtils]: 118: Hoare triple {8279#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {8279#false} is VALID [2018-11-14 18:49:34,833 INFO L273 TraceCheckUtils]: 119: Hoare triple {8279#false} assume !false; {8279#false} is VALID [2018-11-14 18:49:34,838 INFO L134 CoverageAnalysis]: Checked inductivity of 446 backedges. 223 proven. 3 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2018-11-14 18:49:34,858 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:34,858 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4] total 4 [2018-11-14 18:49:34,858 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 120 [2018-11-14 18:49:34,859 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:34,859 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-14 18:49:34,905 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:34,905 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-14 18:49:34,905 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-14 18:49:34,906 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-14 18:49:34,906 INFO L87 Difference]: Start difference. First operand 77 states and 85 transitions. Second operand 4 states. [2018-11-14 18:49:35,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:35,151 INFO L93 Difference]: Finished difference Result 124 states and 142 transitions. [2018-11-14 18:49:35,151 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-14 18:49:35,151 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 120 [2018-11-14 18:49:35,151 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:35,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:49:35,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 77 transitions. [2018-11-14 18:49:35,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:49:35,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 77 transitions. [2018-11-14 18:49:35,153 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 77 transitions. [2018-11-14 18:49:35,269 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:35,271 INFO L225 Difference]: With dead ends: 124 [2018-11-14 18:49:35,271 INFO L226 Difference]: Without dead ends: 82 [2018-11-14 18:49:35,272 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 117 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 18:49:35,273 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2018-11-14 18:49:35,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 81. [2018-11-14 18:49:35,295 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:35,295 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 81 states. [2018-11-14 18:49:35,295 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 81 states. [2018-11-14 18:49:35,296 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 81 states. [2018-11-14 18:49:35,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:35,298 INFO L93 Difference]: Finished difference Result 82 states and 90 transitions. [2018-11-14 18:49:35,298 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2018-11-14 18:49:35,299 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:35,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:35,299 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 82 states. [2018-11-14 18:49:35,299 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 82 states. [2018-11-14 18:49:35,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:35,301 INFO L93 Difference]: Finished difference Result 82 states and 90 transitions. [2018-11-14 18:49:35,302 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2018-11-14 18:49:35,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:35,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:35,302 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:35,302 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:35,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-14 18:49:35,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 89 transitions. [2018-11-14 18:49:35,304 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 89 transitions. Word has length 120 [2018-11-14 18:49:35,305 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:35,305 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 89 transitions. [2018-11-14 18:49:35,305 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-14 18:49:35,305 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 89 transitions. [2018-11-14 18:49:35,306 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 133 [2018-11-14 18:49:35,306 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:35,307 INFO L375 BasicCegarLoop]: trace histogram [18, 15, 15, 9, 8, 7, 7, 6, 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, 1, 1, 1, 1, 1] [2018-11-14 18:49:35,307 INFO L423 AbstractCegarLoop]: === Iteration 17 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:35,307 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:35,307 INFO L82 PathProgramCache]: Analyzing trace with hash 625166523, now seen corresponding path program 12 times [2018-11-14 18:49:35,307 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:35,307 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:35,308 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:35,308 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:35,308 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:35,322 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:35,322 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:35,322 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:35,341 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-14 18:49:35,484 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2018-11-14 18:49:35,484 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:35,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:35,522 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:36,008 INFO L256 TraceCheckUtils]: 0: Hoare triple {9078#true} call ULTIMATE.init(); {9078#true} is VALID [2018-11-14 18:49:36,008 INFO L273 TraceCheckUtils]: 1: Hoare triple {9078#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {9078#true} is VALID [2018-11-14 18:49:36,009 INFO L273 TraceCheckUtils]: 2: Hoare triple {9078#true} assume true; {9078#true} is VALID [2018-11-14 18:49:36,009 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9078#true} {9078#true} #81#return; {9078#true} is VALID [2018-11-14 18:49:36,009 INFO L256 TraceCheckUtils]: 4: Hoare triple {9078#true} call #t~ret12 := main(); {9078#true} is VALID [2018-11-14 18:49:36,009 INFO L273 TraceCheckUtils]: 5: Hoare triple {9078#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {9078#true} is VALID [2018-11-14 18:49:36,010 INFO L256 TraceCheckUtils]: 6: Hoare triple {9078#true} call init_nondet(~#x~0.base, ~#x~0.offset); {9078#true} is VALID [2018-11-14 18:49:36,010 INFO L273 TraceCheckUtils]: 7: Hoare triple {9078#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {9078#true} is VALID [2018-11-14 18:49:36,010 INFO L273 TraceCheckUtils]: 8: Hoare triple {9078#true} assume true; {9078#true} is VALID [2018-11-14 18:49:36,010 INFO L273 TraceCheckUtils]: 9: Hoare triple {9078#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {9078#true} is VALID [2018-11-14 18:49:36,010 INFO L273 TraceCheckUtils]: 10: Hoare triple {9078#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {9078#true} is VALID [2018-11-14 18:49:36,010 INFO L273 TraceCheckUtils]: 11: Hoare triple {9078#true} assume true; {9078#true} is VALID [2018-11-14 18:49:36,011 INFO L273 TraceCheckUtils]: 12: Hoare triple {9078#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {9078#true} is VALID [2018-11-14 18:49:36,011 INFO L273 TraceCheckUtils]: 13: Hoare triple {9078#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {9078#true} is VALID [2018-11-14 18:49:36,011 INFO L273 TraceCheckUtils]: 14: Hoare triple {9078#true} assume true; {9078#true} is VALID [2018-11-14 18:49:36,011 INFO L273 TraceCheckUtils]: 15: Hoare triple {9078#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {9078#true} is VALID [2018-11-14 18:49:36,011 INFO L273 TraceCheckUtils]: 16: Hoare triple {9078#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {9078#true} is VALID [2018-11-14 18:49:36,011 INFO L273 TraceCheckUtils]: 17: Hoare triple {9078#true} assume true; {9078#true} is VALID [2018-11-14 18:49:36,011 INFO L273 TraceCheckUtils]: 18: Hoare triple {9078#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {9078#true} is VALID [2018-11-14 18:49:36,011 INFO L273 TraceCheckUtils]: 19: Hoare triple {9078#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {9078#true} is VALID [2018-11-14 18:49:36,011 INFO L273 TraceCheckUtils]: 20: Hoare triple {9078#true} assume true; {9078#true} is VALID [2018-11-14 18:49:36,012 INFO L273 TraceCheckUtils]: 21: Hoare triple {9078#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {9078#true} is VALID [2018-11-14 18:49:36,012 INFO L273 TraceCheckUtils]: 22: Hoare triple {9078#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {9078#true} is VALID [2018-11-14 18:49:36,012 INFO L273 TraceCheckUtils]: 23: Hoare triple {9078#true} assume true; {9078#true} is VALID [2018-11-14 18:49:36,012 INFO L273 TraceCheckUtils]: 24: Hoare triple {9078#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {9078#true} is VALID [2018-11-14 18:49:36,012 INFO L273 TraceCheckUtils]: 25: Hoare triple {9078#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {9078#true} is VALID [2018-11-14 18:49:36,012 INFO L273 TraceCheckUtils]: 26: Hoare triple {9078#true} assume true; {9078#true} is VALID [2018-11-14 18:49:36,012 INFO L273 TraceCheckUtils]: 27: Hoare triple {9078#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {9078#true} is VALID [2018-11-14 18:49:36,012 INFO L273 TraceCheckUtils]: 28: Hoare triple {9078#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {9078#true} is VALID [2018-11-14 18:49:36,012 INFO L273 TraceCheckUtils]: 29: Hoare triple {9078#true} assume true; {9078#true} is VALID [2018-11-14 18:49:36,013 INFO L273 TraceCheckUtils]: 30: Hoare triple {9078#true} assume !(~i~0 < 40); {9078#true} is VALID [2018-11-14 18:49:36,013 INFO L273 TraceCheckUtils]: 31: Hoare triple {9078#true} assume true; {9078#true} is VALID [2018-11-14 18:49:36,013 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {9078#true} {9078#true} #85#return; {9078#true} is VALID [2018-11-14 18:49:36,013 INFO L273 TraceCheckUtils]: 33: Hoare triple {9078#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {9078#true} is VALID [2018-11-14 18:49:36,013 INFO L256 TraceCheckUtils]: 34: Hoare triple {9078#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {9078#true} is VALID [2018-11-14 18:49:36,013 INFO L273 TraceCheckUtils]: 35: Hoare triple {9078#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {9078#true} is VALID [2018-11-14 18:49:36,013 INFO L273 TraceCheckUtils]: 36: Hoare triple {9078#true} assume true; {9078#true} is VALID [2018-11-14 18:49:36,013 INFO L273 TraceCheckUtils]: 37: Hoare triple {9078#true} assume !!(~i~1 < 40); {9078#true} is VALID [2018-11-14 18:49:36,013 INFO L273 TraceCheckUtils]: 38: Hoare triple {9078#true} assume !(~i~1 > 20); {9078#true} is VALID [2018-11-14 18:49:36,014 INFO L273 TraceCheckUtils]: 39: Hoare triple {9078#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9078#true} is VALID [2018-11-14 18:49:36,014 INFO L273 TraceCheckUtils]: 40: Hoare triple {9078#true} assume true; {9078#true} is VALID [2018-11-14 18:49:36,014 INFO L273 TraceCheckUtils]: 41: Hoare triple {9078#true} assume !!(~i~1 < 40); {9078#true} is VALID [2018-11-14 18:49:36,014 INFO L273 TraceCheckUtils]: 42: Hoare triple {9078#true} assume !(~i~1 > 20); {9209#(<= rangesum_~i~1 20)} is VALID [2018-11-14 18:49:36,015 INFO L273 TraceCheckUtils]: 43: Hoare triple {9209#(<= rangesum_~i~1 20)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9213#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:36,015 INFO L273 TraceCheckUtils]: 44: Hoare triple {9213#(<= rangesum_~i~1 21)} assume true; {9213#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:36,015 INFO L273 TraceCheckUtils]: 45: Hoare triple {9213#(<= rangesum_~i~1 21)} assume !!(~i~1 < 40); {9213#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:36,016 INFO L273 TraceCheckUtils]: 46: Hoare triple {9213#(<= rangesum_~i~1 21)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9213#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:36,016 INFO L273 TraceCheckUtils]: 47: Hoare triple {9213#(<= rangesum_~i~1 21)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9226#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:36,016 INFO L273 TraceCheckUtils]: 48: Hoare triple {9226#(<= rangesum_~i~1 22)} assume true; {9226#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:36,017 INFO L273 TraceCheckUtils]: 49: Hoare triple {9226#(<= rangesum_~i~1 22)} assume !!(~i~1 < 40); {9226#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:36,017 INFO L273 TraceCheckUtils]: 50: Hoare triple {9226#(<= rangesum_~i~1 22)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9226#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:36,017 INFO L273 TraceCheckUtils]: 51: Hoare triple {9226#(<= rangesum_~i~1 22)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9239#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:36,018 INFO L273 TraceCheckUtils]: 52: Hoare triple {9239#(<= rangesum_~i~1 23)} assume true; {9239#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:36,018 INFO L273 TraceCheckUtils]: 53: Hoare triple {9239#(<= rangesum_~i~1 23)} assume !!(~i~1 < 40); {9239#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:36,018 INFO L273 TraceCheckUtils]: 54: Hoare triple {9239#(<= rangesum_~i~1 23)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9239#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:36,019 INFO L273 TraceCheckUtils]: 55: Hoare triple {9239#(<= rangesum_~i~1 23)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9252#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:49:36,020 INFO L273 TraceCheckUtils]: 56: Hoare triple {9252#(<= rangesum_~i~1 24)} assume true; {9252#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:49:36,020 INFO L273 TraceCheckUtils]: 57: Hoare triple {9252#(<= rangesum_~i~1 24)} assume !(~i~1 < 40); {9079#false} is VALID [2018-11-14 18:49:36,021 INFO L273 TraceCheckUtils]: 58: Hoare triple {9079#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {9079#false} is VALID [2018-11-14 18:49:36,021 INFO L273 TraceCheckUtils]: 59: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,021 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {9079#false} {9078#true} #87#return; {9079#false} is VALID [2018-11-14 18:49:36,021 INFO L273 TraceCheckUtils]: 61: Hoare triple {9079#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {9079#false} is VALID [2018-11-14 18:49:36,021 INFO L256 TraceCheckUtils]: 62: Hoare triple {9079#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {9079#false} is VALID [2018-11-14 18:49:36,022 INFO L273 TraceCheckUtils]: 63: Hoare triple {9079#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {9079#false} is VALID [2018-11-14 18:49:36,022 INFO L273 TraceCheckUtils]: 64: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,022 INFO L273 TraceCheckUtils]: 65: Hoare triple {9079#false} assume !!(~i~1 < 40); {9079#false} is VALID [2018-11-14 18:49:36,022 INFO L273 TraceCheckUtils]: 66: Hoare triple {9079#false} assume !(~i~1 > 20); {9079#false} is VALID [2018-11-14 18:49:36,022 INFO L273 TraceCheckUtils]: 67: Hoare triple {9079#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9079#false} is VALID [2018-11-14 18:49:36,023 INFO L273 TraceCheckUtils]: 68: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,023 INFO L273 TraceCheckUtils]: 69: Hoare triple {9079#false} assume !!(~i~1 < 40); {9079#false} is VALID [2018-11-14 18:49:36,023 INFO L273 TraceCheckUtils]: 70: Hoare triple {9079#false} assume !(~i~1 > 20); {9079#false} is VALID [2018-11-14 18:49:36,023 INFO L273 TraceCheckUtils]: 71: Hoare triple {9079#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9079#false} is VALID [2018-11-14 18:49:36,023 INFO L273 TraceCheckUtils]: 72: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,023 INFO L273 TraceCheckUtils]: 73: Hoare triple {9079#false} assume !!(~i~1 < 40); {9079#false} is VALID [2018-11-14 18:49:36,024 INFO L273 TraceCheckUtils]: 74: Hoare triple {9079#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9079#false} is VALID [2018-11-14 18:49:36,024 INFO L273 TraceCheckUtils]: 75: Hoare triple {9079#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9079#false} is VALID [2018-11-14 18:49:36,024 INFO L273 TraceCheckUtils]: 76: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,024 INFO L273 TraceCheckUtils]: 77: Hoare triple {9079#false} assume !!(~i~1 < 40); {9079#false} is VALID [2018-11-14 18:49:36,024 INFO L273 TraceCheckUtils]: 78: Hoare triple {9079#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9079#false} is VALID [2018-11-14 18:49:36,024 INFO L273 TraceCheckUtils]: 79: Hoare triple {9079#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9079#false} is VALID [2018-11-14 18:49:36,024 INFO L273 TraceCheckUtils]: 80: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,024 INFO L273 TraceCheckUtils]: 81: Hoare triple {9079#false} assume !!(~i~1 < 40); {9079#false} is VALID [2018-11-14 18:49:36,024 INFO L273 TraceCheckUtils]: 82: Hoare triple {9079#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9079#false} is VALID [2018-11-14 18:49:36,025 INFO L273 TraceCheckUtils]: 83: Hoare triple {9079#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9079#false} is VALID [2018-11-14 18:49:36,025 INFO L273 TraceCheckUtils]: 84: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,025 INFO L273 TraceCheckUtils]: 85: Hoare triple {9079#false} assume !(~i~1 < 40); {9079#false} is VALID [2018-11-14 18:49:36,025 INFO L273 TraceCheckUtils]: 86: Hoare triple {9079#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {9079#false} is VALID [2018-11-14 18:49:36,025 INFO L273 TraceCheckUtils]: 87: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,025 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {9079#false} {9079#false} #89#return; {9079#false} is VALID [2018-11-14 18:49:36,025 INFO L273 TraceCheckUtils]: 89: Hoare triple {9079#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {9079#false} is VALID [2018-11-14 18:49:36,025 INFO L273 TraceCheckUtils]: 90: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,026 INFO L273 TraceCheckUtils]: 91: Hoare triple {9079#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {9079#false} is VALID [2018-11-14 18:49:36,026 INFO L273 TraceCheckUtils]: 92: Hoare triple {9079#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {9079#false} is VALID [2018-11-14 18:49:36,026 INFO L273 TraceCheckUtils]: 93: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,026 INFO L273 TraceCheckUtils]: 94: Hoare triple {9079#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {9079#false} is VALID [2018-11-14 18:49:36,026 INFO L273 TraceCheckUtils]: 95: Hoare triple {9079#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {9079#false} is VALID [2018-11-14 18:49:36,026 INFO L273 TraceCheckUtils]: 96: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,026 INFO L273 TraceCheckUtils]: 97: Hoare triple {9079#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {9079#false} is VALID [2018-11-14 18:49:36,026 INFO L273 TraceCheckUtils]: 98: Hoare triple {9079#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {9079#false} is VALID [2018-11-14 18:49:36,026 INFO L273 TraceCheckUtils]: 99: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,027 INFO L273 TraceCheckUtils]: 100: Hoare triple {9079#false} assume !(~i~2 < 39); {9079#false} is VALID [2018-11-14 18:49:36,027 INFO L273 TraceCheckUtils]: 101: Hoare triple {9079#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {9079#false} is VALID [2018-11-14 18:49:36,027 INFO L256 TraceCheckUtils]: 102: Hoare triple {9079#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {9079#false} is VALID [2018-11-14 18:49:36,027 INFO L273 TraceCheckUtils]: 103: Hoare triple {9079#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {9079#false} is VALID [2018-11-14 18:49:36,027 INFO L273 TraceCheckUtils]: 104: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,027 INFO L273 TraceCheckUtils]: 105: Hoare triple {9079#false} assume !!(~i~1 < 40); {9079#false} is VALID [2018-11-14 18:49:36,027 INFO L273 TraceCheckUtils]: 106: Hoare triple {9079#false} assume !(~i~1 > 20); {9079#false} is VALID [2018-11-14 18:49:36,027 INFO L273 TraceCheckUtils]: 107: Hoare triple {9079#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9079#false} is VALID [2018-11-14 18:49:36,027 INFO L273 TraceCheckUtils]: 108: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,028 INFO L273 TraceCheckUtils]: 109: Hoare triple {9079#false} assume !!(~i~1 < 40); {9079#false} is VALID [2018-11-14 18:49:36,028 INFO L273 TraceCheckUtils]: 110: Hoare triple {9079#false} assume !(~i~1 > 20); {9079#false} is VALID [2018-11-14 18:49:36,028 INFO L273 TraceCheckUtils]: 111: Hoare triple {9079#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9079#false} is VALID [2018-11-14 18:49:36,028 INFO L273 TraceCheckUtils]: 112: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,028 INFO L273 TraceCheckUtils]: 113: Hoare triple {9079#false} assume !!(~i~1 < 40); {9079#false} is VALID [2018-11-14 18:49:36,028 INFO L273 TraceCheckUtils]: 114: Hoare triple {9079#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9079#false} is VALID [2018-11-14 18:49:36,028 INFO L273 TraceCheckUtils]: 115: Hoare triple {9079#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9079#false} is VALID [2018-11-14 18:49:36,028 INFO L273 TraceCheckUtils]: 116: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,028 INFO L273 TraceCheckUtils]: 117: Hoare triple {9079#false} assume !!(~i~1 < 40); {9079#false} is VALID [2018-11-14 18:49:36,029 INFO L273 TraceCheckUtils]: 118: Hoare triple {9079#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9079#false} is VALID [2018-11-14 18:49:36,029 INFO L273 TraceCheckUtils]: 119: Hoare triple {9079#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9079#false} is VALID [2018-11-14 18:49:36,029 INFO L273 TraceCheckUtils]: 120: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,029 INFO L273 TraceCheckUtils]: 121: Hoare triple {9079#false} assume !!(~i~1 < 40); {9079#false} is VALID [2018-11-14 18:49:36,029 INFO L273 TraceCheckUtils]: 122: Hoare triple {9079#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9079#false} is VALID [2018-11-14 18:49:36,029 INFO L273 TraceCheckUtils]: 123: Hoare triple {9079#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9079#false} is VALID [2018-11-14 18:49:36,029 INFO L273 TraceCheckUtils]: 124: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,029 INFO L273 TraceCheckUtils]: 125: Hoare triple {9079#false} assume !(~i~1 < 40); {9079#false} is VALID [2018-11-14 18:49:36,030 INFO L273 TraceCheckUtils]: 126: Hoare triple {9079#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {9079#false} is VALID [2018-11-14 18:49:36,030 INFO L273 TraceCheckUtils]: 127: Hoare triple {9079#false} assume true; {9079#false} is VALID [2018-11-14 18:49:36,030 INFO L268 TraceCheckUtils]: 128: Hoare quadruple {9079#false} {9079#false} #91#return; {9079#false} is VALID [2018-11-14 18:49:36,030 INFO L273 TraceCheckUtils]: 129: Hoare triple {9079#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {9079#false} is VALID [2018-11-14 18:49:36,030 INFO L273 TraceCheckUtils]: 130: Hoare triple {9079#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {9079#false} is VALID [2018-11-14 18:49:36,030 INFO L273 TraceCheckUtils]: 131: Hoare triple {9079#false} assume !false; {9079#false} is VALID [2018-11-14 18:49:36,037 INFO L134 CoverageAnalysis]: Checked inductivity of 620 backedges. 272 proven. 21 refuted. 0 times theorem prover too weak. 327 trivial. 0 not checked. [2018-11-14 18:49:36,057 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:36,058 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2018-11-14 18:49:36,058 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 132 [2018-11-14 18:49:36,058 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:36,058 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-14 18:49:36,111 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:36,111 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-14 18:49:36,111 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-14 18:49:36,112 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 18:49:36,112 INFO L87 Difference]: Start difference. First operand 81 states and 89 transitions. Second operand 7 states. [2018-11-14 18:49:36,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:36,264 INFO L93 Difference]: Finished difference Result 133 states and 153 transitions. [2018-11-14 18:49:36,264 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-14 18:49:36,264 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 132 [2018-11-14 18:49:36,265 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:36,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 18:49:36,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2018-11-14 18:49:36,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 18:49:36,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2018-11-14 18:49:36,269 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 93 transitions. [2018-11-14 18:49:36,752 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:36,754 INFO L225 Difference]: With dead ends: 133 [2018-11-14 18:49:36,755 INFO L226 Difference]: Without dead ends: 87 [2018-11-14 18:49:36,755 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 126 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 18:49:36,756 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2018-11-14 18:49:36,905 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 85. [2018-11-14 18:49:36,906 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:36,906 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand 85 states. [2018-11-14 18:49:36,906 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 85 states. [2018-11-14 18:49:36,906 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 85 states. [2018-11-14 18:49:36,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:36,911 INFO L93 Difference]: Finished difference Result 87 states and 97 transitions. [2018-11-14 18:49:36,911 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 97 transitions. [2018-11-14 18:49:36,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:36,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:36,911 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 87 states. [2018-11-14 18:49:36,912 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 87 states. [2018-11-14 18:49:36,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:36,915 INFO L93 Difference]: Finished difference Result 87 states and 97 transitions. [2018-11-14 18:49:36,915 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 97 transitions. [2018-11-14 18:49:36,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:36,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:36,915 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:36,916 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:36,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 85 states. [2018-11-14 18:49:36,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 94 transitions. [2018-11-14 18:49:36,918 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 94 transitions. Word has length 132 [2018-11-14 18:49:36,919 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:36,919 INFO L480 AbstractCegarLoop]: Abstraction has 85 states and 94 transitions. [2018-11-14 18:49:36,919 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-14 18:49:36,919 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 94 transitions. [2018-11-14 18:49:36,920 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 145 [2018-11-14 18:49:36,920 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:36,920 INFO L375 BasicCegarLoop]: trace histogram [21, 18, 18, 12, 8, 7, 7, 6, 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, 1, 1, 1, 1, 1] [2018-11-14 18:49:36,920 INFO L423 AbstractCegarLoop]: === Iteration 18 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:36,921 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:36,921 INFO L82 PathProgramCache]: Analyzing trace with hash 2135748310, now seen corresponding path program 13 times [2018-11-14 18:49:36,921 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:36,921 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:36,922 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:36,922 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:36,922 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:36,935 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:36,935 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:36,935 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:36,962 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:37,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:37,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:37,051 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:37,584 INFO L256 TraceCheckUtils]: 0: Hoare triple {9943#true} call ULTIMATE.init(); {9943#true} is VALID [2018-11-14 18:49:37,585 INFO L273 TraceCheckUtils]: 1: Hoare triple {9943#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {9943#true} is VALID [2018-11-14 18:49:37,585 INFO L273 TraceCheckUtils]: 2: Hoare triple {9943#true} assume true; {9943#true} is VALID [2018-11-14 18:49:37,585 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9943#true} {9943#true} #81#return; {9943#true} is VALID [2018-11-14 18:49:37,585 INFO L256 TraceCheckUtils]: 4: Hoare triple {9943#true} call #t~ret12 := main(); {9943#true} is VALID [2018-11-14 18:49:37,585 INFO L273 TraceCheckUtils]: 5: Hoare triple {9943#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {9943#true} is VALID [2018-11-14 18:49:37,585 INFO L256 TraceCheckUtils]: 6: Hoare triple {9943#true} call init_nondet(~#x~0.base, ~#x~0.offset); {9943#true} is VALID [2018-11-14 18:49:37,586 INFO L273 TraceCheckUtils]: 7: Hoare triple {9943#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {9969#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:37,586 INFO L273 TraceCheckUtils]: 8: Hoare triple {9969#(<= init_nondet_~i~0 0)} assume true; {9969#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:37,586 INFO L273 TraceCheckUtils]: 9: Hoare triple {9969#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {9969#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:37,587 INFO L273 TraceCheckUtils]: 10: Hoare triple {9969#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {9979#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:37,587 INFO L273 TraceCheckUtils]: 11: Hoare triple {9979#(<= init_nondet_~i~0 1)} assume true; {9979#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:37,587 INFO L273 TraceCheckUtils]: 12: Hoare triple {9979#(<= init_nondet_~i~0 1)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {9979#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:37,588 INFO L273 TraceCheckUtils]: 13: Hoare triple {9979#(<= init_nondet_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {9989#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:37,588 INFO L273 TraceCheckUtils]: 14: Hoare triple {9989#(<= init_nondet_~i~0 2)} assume true; {9989#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:37,588 INFO L273 TraceCheckUtils]: 15: Hoare triple {9989#(<= init_nondet_~i~0 2)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {9989#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:37,589 INFO L273 TraceCheckUtils]: 16: Hoare triple {9989#(<= init_nondet_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {9999#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:37,589 INFO L273 TraceCheckUtils]: 17: Hoare triple {9999#(<= init_nondet_~i~0 3)} assume true; {9999#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:37,590 INFO L273 TraceCheckUtils]: 18: Hoare triple {9999#(<= init_nondet_~i~0 3)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {9999#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:37,590 INFO L273 TraceCheckUtils]: 19: Hoare triple {9999#(<= init_nondet_~i~0 3)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {10009#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:37,591 INFO L273 TraceCheckUtils]: 20: Hoare triple {10009#(<= init_nondet_~i~0 4)} assume true; {10009#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:37,591 INFO L273 TraceCheckUtils]: 21: Hoare triple {10009#(<= init_nondet_~i~0 4)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {10009#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:37,592 INFO L273 TraceCheckUtils]: 22: Hoare triple {10009#(<= init_nondet_~i~0 4)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {10019#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:37,593 INFO L273 TraceCheckUtils]: 23: Hoare triple {10019#(<= init_nondet_~i~0 5)} assume true; {10019#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:37,593 INFO L273 TraceCheckUtils]: 24: Hoare triple {10019#(<= init_nondet_~i~0 5)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {10019#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:37,594 INFO L273 TraceCheckUtils]: 25: Hoare triple {10019#(<= init_nondet_~i~0 5)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {10029#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:37,595 INFO L273 TraceCheckUtils]: 26: Hoare triple {10029#(<= init_nondet_~i~0 6)} assume true; {10029#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:37,595 INFO L273 TraceCheckUtils]: 27: Hoare triple {10029#(<= init_nondet_~i~0 6)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {10029#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:37,596 INFO L273 TraceCheckUtils]: 28: Hoare triple {10029#(<= init_nondet_~i~0 6)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {10039#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:37,596 INFO L273 TraceCheckUtils]: 29: Hoare triple {10039#(<= init_nondet_~i~0 7)} assume true; {10039#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:37,597 INFO L273 TraceCheckUtils]: 30: Hoare triple {10039#(<= init_nondet_~i~0 7)} assume !(~i~0 < 40); {9944#false} is VALID [2018-11-14 18:49:37,597 INFO L273 TraceCheckUtils]: 31: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,597 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {9944#false} {9943#true} #85#return; {9944#false} is VALID [2018-11-14 18:49:37,598 INFO L273 TraceCheckUtils]: 33: Hoare triple {9944#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {9944#false} is VALID [2018-11-14 18:49:37,598 INFO L256 TraceCheckUtils]: 34: Hoare triple {9944#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {9944#false} is VALID [2018-11-14 18:49:37,598 INFO L273 TraceCheckUtils]: 35: Hoare triple {9944#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {9944#false} is VALID [2018-11-14 18:49:37,598 INFO L273 TraceCheckUtils]: 36: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,598 INFO L273 TraceCheckUtils]: 37: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,599 INFO L273 TraceCheckUtils]: 38: Hoare triple {9944#false} assume !(~i~1 > 20); {9944#false} is VALID [2018-11-14 18:49:37,599 INFO L273 TraceCheckUtils]: 39: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,599 INFO L273 TraceCheckUtils]: 40: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,599 INFO L273 TraceCheckUtils]: 41: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,599 INFO L273 TraceCheckUtils]: 42: Hoare triple {9944#false} assume !(~i~1 > 20); {9944#false} is VALID [2018-11-14 18:49:37,599 INFO L273 TraceCheckUtils]: 43: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,600 INFO L273 TraceCheckUtils]: 44: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,600 INFO L273 TraceCheckUtils]: 45: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,600 INFO L273 TraceCheckUtils]: 46: Hoare triple {9944#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9944#false} is VALID [2018-11-14 18:49:37,600 INFO L273 TraceCheckUtils]: 47: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,600 INFO L273 TraceCheckUtils]: 48: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,600 INFO L273 TraceCheckUtils]: 49: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,600 INFO L273 TraceCheckUtils]: 50: Hoare triple {9944#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9944#false} is VALID [2018-11-14 18:49:37,600 INFO L273 TraceCheckUtils]: 51: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,600 INFO L273 TraceCheckUtils]: 52: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,601 INFO L273 TraceCheckUtils]: 53: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,601 INFO L273 TraceCheckUtils]: 54: Hoare triple {9944#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9944#false} is VALID [2018-11-14 18:49:37,601 INFO L273 TraceCheckUtils]: 55: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,601 INFO L273 TraceCheckUtils]: 56: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,601 INFO L273 TraceCheckUtils]: 57: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,601 INFO L273 TraceCheckUtils]: 58: Hoare triple {9944#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9944#false} is VALID [2018-11-14 18:49:37,601 INFO L273 TraceCheckUtils]: 59: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,601 INFO L273 TraceCheckUtils]: 60: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,601 INFO L273 TraceCheckUtils]: 61: Hoare triple {9944#false} assume !(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,602 INFO L273 TraceCheckUtils]: 62: Hoare triple {9944#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {9944#false} is VALID [2018-11-14 18:49:37,602 INFO L273 TraceCheckUtils]: 63: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,602 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {9944#false} {9944#false} #87#return; {9944#false} is VALID [2018-11-14 18:49:37,602 INFO L273 TraceCheckUtils]: 65: Hoare triple {9944#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {9944#false} is VALID [2018-11-14 18:49:37,602 INFO L256 TraceCheckUtils]: 66: Hoare triple {9944#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {9944#false} is VALID [2018-11-14 18:49:37,602 INFO L273 TraceCheckUtils]: 67: Hoare triple {9944#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {9944#false} is VALID [2018-11-14 18:49:37,602 INFO L273 TraceCheckUtils]: 68: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,602 INFO L273 TraceCheckUtils]: 69: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,603 INFO L273 TraceCheckUtils]: 70: Hoare triple {9944#false} assume !(~i~1 > 20); {9944#false} is VALID [2018-11-14 18:49:37,603 INFO L273 TraceCheckUtils]: 71: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,603 INFO L273 TraceCheckUtils]: 72: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,603 INFO L273 TraceCheckUtils]: 73: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,603 INFO L273 TraceCheckUtils]: 74: Hoare triple {9944#false} assume !(~i~1 > 20); {9944#false} is VALID [2018-11-14 18:49:37,603 INFO L273 TraceCheckUtils]: 75: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,603 INFO L273 TraceCheckUtils]: 76: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,603 INFO L273 TraceCheckUtils]: 77: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,603 INFO L273 TraceCheckUtils]: 78: Hoare triple {9944#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9944#false} is VALID [2018-11-14 18:49:37,604 INFO L273 TraceCheckUtils]: 79: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,604 INFO L273 TraceCheckUtils]: 80: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,604 INFO L273 TraceCheckUtils]: 81: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,604 INFO L273 TraceCheckUtils]: 82: Hoare triple {9944#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9944#false} is VALID [2018-11-14 18:49:37,604 INFO L273 TraceCheckUtils]: 83: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,604 INFO L273 TraceCheckUtils]: 84: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,604 INFO L273 TraceCheckUtils]: 85: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,604 INFO L273 TraceCheckUtils]: 86: Hoare triple {9944#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9944#false} is VALID [2018-11-14 18:49:37,604 INFO L273 TraceCheckUtils]: 87: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,605 INFO L273 TraceCheckUtils]: 88: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,605 INFO L273 TraceCheckUtils]: 89: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,605 INFO L273 TraceCheckUtils]: 90: Hoare triple {9944#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9944#false} is VALID [2018-11-14 18:49:37,605 INFO L273 TraceCheckUtils]: 91: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,605 INFO L273 TraceCheckUtils]: 92: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,605 INFO L273 TraceCheckUtils]: 93: Hoare triple {9944#false} assume !(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,605 INFO L273 TraceCheckUtils]: 94: Hoare triple {9944#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {9944#false} is VALID [2018-11-14 18:49:37,605 INFO L273 TraceCheckUtils]: 95: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,605 INFO L268 TraceCheckUtils]: 96: Hoare quadruple {9944#false} {9944#false} #89#return; {9944#false} is VALID [2018-11-14 18:49:37,606 INFO L273 TraceCheckUtils]: 97: Hoare triple {9944#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {9944#false} is VALID [2018-11-14 18:49:37,606 INFO L273 TraceCheckUtils]: 98: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,606 INFO L273 TraceCheckUtils]: 99: Hoare triple {9944#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {9944#false} is VALID [2018-11-14 18:49:37,606 INFO L273 TraceCheckUtils]: 100: Hoare triple {9944#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {9944#false} is VALID [2018-11-14 18:49:37,606 INFO L273 TraceCheckUtils]: 101: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,606 INFO L273 TraceCheckUtils]: 102: Hoare triple {9944#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {9944#false} is VALID [2018-11-14 18:49:37,606 INFO L273 TraceCheckUtils]: 103: Hoare triple {9944#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {9944#false} is VALID [2018-11-14 18:49:37,606 INFO L273 TraceCheckUtils]: 104: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,606 INFO L273 TraceCheckUtils]: 105: Hoare triple {9944#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {9944#false} is VALID [2018-11-14 18:49:37,607 INFO L273 TraceCheckUtils]: 106: Hoare triple {9944#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {9944#false} is VALID [2018-11-14 18:49:37,607 INFO L273 TraceCheckUtils]: 107: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,607 INFO L273 TraceCheckUtils]: 108: Hoare triple {9944#false} assume !(~i~2 < 39); {9944#false} is VALID [2018-11-14 18:49:37,607 INFO L273 TraceCheckUtils]: 109: Hoare triple {9944#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {9944#false} is VALID [2018-11-14 18:49:37,607 INFO L256 TraceCheckUtils]: 110: Hoare triple {9944#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {9944#false} is VALID [2018-11-14 18:49:37,607 INFO L273 TraceCheckUtils]: 111: Hoare triple {9944#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {9944#false} is VALID [2018-11-14 18:49:37,607 INFO L273 TraceCheckUtils]: 112: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,607 INFO L273 TraceCheckUtils]: 113: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,607 INFO L273 TraceCheckUtils]: 114: Hoare triple {9944#false} assume !(~i~1 > 20); {9944#false} is VALID [2018-11-14 18:49:37,608 INFO L273 TraceCheckUtils]: 115: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,608 INFO L273 TraceCheckUtils]: 116: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,608 INFO L273 TraceCheckUtils]: 117: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,608 INFO L273 TraceCheckUtils]: 118: Hoare triple {9944#false} assume !(~i~1 > 20); {9944#false} is VALID [2018-11-14 18:49:37,608 INFO L273 TraceCheckUtils]: 119: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,608 INFO L273 TraceCheckUtils]: 120: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,608 INFO L273 TraceCheckUtils]: 121: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,608 INFO L273 TraceCheckUtils]: 122: Hoare triple {9944#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9944#false} is VALID [2018-11-14 18:49:37,609 INFO L273 TraceCheckUtils]: 123: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,609 INFO L273 TraceCheckUtils]: 124: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,609 INFO L273 TraceCheckUtils]: 125: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,609 INFO L273 TraceCheckUtils]: 126: Hoare triple {9944#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9944#false} is VALID [2018-11-14 18:49:37,609 INFO L273 TraceCheckUtils]: 127: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,609 INFO L273 TraceCheckUtils]: 128: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,609 INFO L273 TraceCheckUtils]: 129: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,609 INFO L273 TraceCheckUtils]: 130: Hoare triple {9944#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9944#false} is VALID [2018-11-14 18:49:37,609 INFO L273 TraceCheckUtils]: 131: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,610 INFO L273 TraceCheckUtils]: 132: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,610 INFO L273 TraceCheckUtils]: 133: Hoare triple {9944#false} assume !!(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,610 INFO L273 TraceCheckUtils]: 134: Hoare triple {9944#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {9944#false} is VALID [2018-11-14 18:49:37,610 INFO L273 TraceCheckUtils]: 135: Hoare triple {9944#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {9944#false} is VALID [2018-11-14 18:49:37,610 INFO L273 TraceCheckUtils]: 136: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,610 INFO L273 TraceCheckUtils]: 137: Hoare triple {9944#false} assume !(~i~1 < 40); {9944#false} is VALID [2018-11-14 18:49:37,610 INFO L273 TraceCheckUtils]: 138: Hoare triple {9944#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {9944#false} is VALID [2018-11-14 18:49:37,611 INFO L273 TraceCheckUtils]: 139: Hoare triple {9944#false} assume true; {9944#false} is VALID [2018-11-14 18:49:37,611 INFO L268 TraceCheckUtils]: 140: Hoare quadruple {9944#false} {9944#false} #91#return; {9944#false} is VALID [2018-11-14 18:49:37,611 INFO L273 TraceCheckUtils]: 141: Hoare triple {9944#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {9944#false} is VALID [2018-11-14 18:49:37,611 INFO L273 TraceCheckUtils]: 142: Hoare triple {9944#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {9944#false} is VALID [2018-11-14 18:49:37,611 INFO L273 TraceCheckUtils]: 143: Hoare triple {9944#false} assume !false; {9944#false} is VALID [2018-11-14 18:49:37,622 INFO L134 CoverageAnalysis]: Checked inductivity of 830 backedges. 0 proven. 77 refuted. 0 times theorem prover too weak. 753 trivial. 0 not checked. [2018-11-14 18:49:37,641 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:37,641 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2018-11-14 18:49:37,641 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 144 [2018-11-14 18:49:37,642 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:37,642 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-14 18:49:37,700 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:37,701 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-14 18:49:37,701 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-14 18:49:37,701 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-14 18:49:37,701 INFO L87 Difference]: Start difference. First operand 85 states and 94 transitions. Second operand 10 states. [2018-11-14 18:49:37,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:37,907 INFO L93 Difference]: Finished difference Result 143 states and 161 transitions. [2018-11-14 18:49:37,907 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-14 18:49:37,907 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 144 [2018-11-14 18:49:37,908 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:37,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 18:49:37,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2018-11-14 18:49:37,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 18:49:37,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2018-11-14 18:49:37,913 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 95 transitions. [2018-11-14 18:49:38,317 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:38,319 INFO L225 Difference]: With dead ends: 143 [2018-11-14 18:49:38,319 INFO L226 Difference]: Without dead ends: 89 [2018-11-14 18:49:38,319 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 135 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-14 18:49:38,320 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2018-11-14 18:49:38,389 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 88. [2018-11-14 18:49:38,389 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:38,389 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand 88 states. [2018-11-14 18:49:38,389 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 88 states. [2018-11-14 18:49:38,389 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 88 states. [2018-11-14 18:49:38,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:38,393 INFO L93 Difference]: Finished difference Result 89 states and 98 transitions. [2018-11-14 18:49:38,393 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 98 transitions. [2018-11-14 18:49:38,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:38,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:38,394 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand 89 states. [2018-11-14 18:49:38,394 INFO L87 Difference]: Start difference. First operand 88 states. Second operand 89 states. [2018-11-14 18:49:38,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:38,396 INFO L93 Difference]: Finished difference Result 89 states and 98 transitions. [2018-11-14 18:49:38,396 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 98 transitions. [2018-11-14 18:49:38,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:38,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:38,397 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:38,397 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:38,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2018-11-14 18:49:38,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 97 transitions. [2018-11-14 18:49:38,399 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 97 transitions. Word has length 144 [2018-11-14 18:49:38,400 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:38,400 INFO L480 AbstractCegarLoop]: Abstraction has 88 states and 97 transitions. [2018-11-14 18:49:38,400 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-14 18:49:38,400 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 97 transitions. [2018-11-14 18:49:38,401 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 148 [2018-11-14 18:49:38,401 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:38,401 INFO L375 BasicCegarLoop]: trace histogram [21, 18, 18, 12, 9, 8, 8, 6, 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, 1, 1, 1, 1, 1] [2018-11-14 18:49:38,402 INFO L423 AbstractCegarLoop]: === Iteration 19 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:38,402 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:38,402 INFO L82 PathProgramCache]: Analyzing trace with hash -1683597380, now seen corresponding path program 14 times [2018-11-14 18:49:38,402 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:38,402 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:38,403 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:38,403 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:38,403 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:38,418 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:38,418 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:38,418 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:38,436 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:49:38,493 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:49:38,493 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:38,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:38,523 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:38,876 INFO L256 TraceCheckUtils]: 0: Hoare triple {10868#true} call ULTIMATE.init(); {10868#true} is VALID [2018-11-14 18:49:38,876 INFO L273 TraceCheckUtils]: 1: Hoare triple {10868#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {10868#true} is VALID [2018-11-14 18:49:38,877 INFO L273 TraceCheckUtils]: 2: Hoare triple {10868#true} assume true; {10868#true} is VALID [2018-11-14 18:49:38,877 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10868#true} {10868#true} #81#return; {10868#true} is VALID [2018-11-14 18:49:38,877 INFO L256 TraceCheckUtils]: 4: Hoare triple {10868#true} call #t~ret12 := main(); {10868#true} is VALID [2018-11-14 18:49:38,877 INFO L273 TraceCheckUtils]: 5: Hoare triple {10868#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {10868#true} is VALID [2018-11-14 18:49:38,878 INFO L256 TraceCheckUtils]: 6: Hoare triple {10868#true} call init_nondet(~#x~0.base, ~#x~0.offset); {10868#true} is VALID [2018-11-14 18:49:38,878 INFO L273 TraceCheckUtils]: 7: Hoare triple {10868#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {10894#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:38,879 INFO L273 TraceCheckUtils]: 8: Hoare triple {10894#(<= init_nondet_~i~0 0)} assume true; {10894#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:38,879 INFO L273 TraceCheckUtils]: 9: Hoare triple {10894#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {10894#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:38,880 INFO L273 TraceCheckUtils]: 10: Hoare triple {10894#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {10904#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:38,880 INFO L273 TraceCheckUtils]: 11: Hoare triple {10904#(<= init_nondet_~i~0 1)} assume true; {10904#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:38,881 INFO L273 TraceCheckUtils]: 12: Hoare triple {10904#(<= init_nondet_~i~0 1)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {10904#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:38,881 INFO L273 TraceCheckUtils]: 13: Hoare triple {10904#(<= init_nondet_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {10914#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:38,882 INFO L273 TraceCheckUtils]: 14: Hoare triple {10914#(<= init_nondet_~i~0 2)} assume true; {10914#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:38,883 INFO L273 TraceCheckUtils]: 15: Hoare triple {10914#(<= init_nondet_~i~0 2)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {10914#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:38,883 INFO L273 TraceCheckUtils]: 16: Hoare triple {10914#(<= init_nondet_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {10924#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:38,884 INFO L273 TraceCheckUtils]: 17: Hoare triple {10924#(<= init_nondet_~i~0 3)} assume true; {10924#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:38,885 INFO L273 TraceCheckUtils]: 18: Hoare triple {10924#(<= init_nondet_~i~0 3)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {10924#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:38,886 INFO L273 TraceCheckUtils]: 19: Hoare triple {10924#(<= init_nondet_~i~0 3)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {10934#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:38,886 INFO L273 TraceCheckUtils]: 20: Hoare triple {10934#(<= init_nondet_~i~0 4)} assume true; {10934#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:38,887 INFO L273 TraceCheckUtils]: 21: Hoare triple {10934#(<= init_nondet_~i~0 4)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {10934#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:38,888 INFO L273 TraceCheckUtils]: 22: Hoare triple {10934#(<= init_nondet_~i~0 4)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {10944#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:38,888 INFO L273 TraceCheckUtils]: 23: Hoare triple {10944#(<= init_nondet_~i~0 5)} assume true; {10944#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:38,889 INFO L273 TraceCheckUtils]: 24: Hoare triple {10944#(<= init_nondet_~i~0 5)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {10944#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:38,890 INFO L273 TraceCheckUtils]: 25: Hoare triple {10944#(<= init_nondet_~i~0 5)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {10954#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:38,890 INFO L273 TraceCheckUtils]: 26: Hoare triple {10954#(<= init_nondet_~i~0 6)} assume true; {10954#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:38,891 INFO L273 TraceCheckUtils]: 27: Hoare triple {10954#(<= init_nondet_~i~0 6)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {10954#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:38,892 INFO L273 TraceCheckUtils]: 28: Hoare triple {10954#(<= init_nondet_~i~0 6)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {10964#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:38,892 INFO L273 TraceCheckUtils]: 29: Hoare triple {10964#(<= init_nondet_~i~0 7)} assume true; {10964#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:38,893 INFO L273 TraceCheckUtils]: 30: Hoare triple {10964#(<= init_nondet_~i~0 7)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {10964#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:38,894 INFO L273 TraceCheckUtils]: 31: Hoare triple {10964#(<= init_nondet_~i~0 7)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {10974#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:38,895 INFO L273 TraceCheckUtils]: 32: Hoare triple {10974#(<= init_nondet_~i~0 8)} assume true; {10974#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:38,895 INFO L273 TraceCheckUtils]: 33: Hoare triple {10974#(<= init_nondet_~i~0 8)} assume !(~i~0 < 40); {10869#false} is VALID [2018-11-14 18:49:38,896 INFO L273 TraceCheckUtils]: 34: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,896 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {10869#false} {10868#true} #85#return; {10869#false} is VALID [2018-11-14 18:49:38,896 INFO L273 TraceCheckUtils]: 36: Hoare triple {10869#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {10869#false} is VALID [2018-11-14 18:49:38,896 INFO L256 TraceCheckUtils]: 37: Hoare triple {10869#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {10869#false} is VALID [2018-11-14 18:49:38,897 INFO L273 TraceCheckUtils]: 38: Hoare triple {10869#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {10869#false} is VALID [2018-11-14 18:49:38,897 INFO L273 TraceCheckUtils]: 39: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,897 INFO L273 TraceCheckUtils]: 40: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,897 INFO L273 TraceCheckUtils]: 41: Hoare triple {10869#false} assume !(~i~1 > 20); {10869#false} is VALID [2018-11-14 18:49:38,898 INFO L273 TraceCheckUtils]: 42: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,898 INFO L273 TraceCheckUtils]: 43: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,898 INFO L273 TraceCheckUtils]: 44: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,898 INFO L273 TraceCheckUtils]: 45: Hoare triple {10869#false} assume !(~i~1 > 20); {10869#false} is VALID [2018-11-14 18:49:38,898 INFO L273 TraceCheckUtils]: 46: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,898 INFO L273 TraceCheckUtils]: 47: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,899 INFO L273 TraceCheckUtils]: 48: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,899 INFO L273 TraceCheckUtils]: 49: Hoare triple {10869#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {10869#false} is VALID [2018-11-14 18:49:38,899 INFO L273 TraceCheckUtils]: 50: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,899 INFO L273 TraceCheckUtils]: 51: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,899 INFO L273 TraceCheckUtils]: 52: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,899 INFO L273 TraceCheckUtils]: 53: Hoare triple {10869#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {10869#false} is VALID [2018-11-14 18:49:38,899 INFO L273 TraceCheckUtils]: 54: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,900 INFO L273 TraceCheckUtils]: 55: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,900 INFO L273 TraceCheckUtils]: 56: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,900 INFO L273 TraceCheckUtils]: 57: Hoare triple {10869#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {10869#false} is VALID [2018-11-14 18:49:38,900 INFO L273 TraceCheckUtils]: 58: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,900 INFO L273 TraceCheckUtils]: 59: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,900 INFO L273 TraceCheckUtils]: 60: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,900 INFO L273 TraceCheckUtils]: 61: Hoare triple {10869#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {10869#false} is VALID [2018-11-14 18:49:38,901 INFO L273 TraceCheckUtils]: 62: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,901 INFO L273 TraceCheckUtils]: 63: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,901 INFO L273 TraceCheckUtils]: 64: Hoare triple {10869#false} assume !(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,901 INFO L273 TraceCheckUtils]: 65: Hoare triple {10869#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {10869#false} is VALID [2018-11-14 18:49:38,901 INFO L273 TraceCheckUtils]: 66: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,901 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {10869#false} {10869#false} #87#return; {10869#false} is VALID [2018-11-14 18:49:38,901 INFO L273 TraceCheckUtils]: 68: Hoare triple {10869#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {10869#false} is VALID [2018-11-14 18:49:38,902 INFO L256 TraceCheckUtils]: 69: Hoare triple {10869#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {10869#false} is VALID [2018-11-14 18:49:38,902 INFO L273 TraceCheckUtils]: 70: Hoare triple {10869#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {10869#false} is VALID [2018-11-14 18:49:38,902 INFO L273 TraceCheckUtils]: 71: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,902 INFO L273 TraceCheckUtils]: 72: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,902 INFO L273 TraceCheckUtils]: 73: Hoare triple {10869#false} assume !(~i~1 > 20); {10869#false} is VALID [2018-11-14 18:49:38,902 INFO L273 TraceCheckUtils]: 74: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,902 INFO L273 TraceCheckUtils]: 75: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,903 INFO L273 TraceCheckUtils]: 76: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,903 INFO L273 TraceCheckUtils]: 77: Hoare triple {10869#false} assume !(~i~1 > 20); {10869#false} is VALID [2018-11-14 18:49:38,903 INFO L273 TraceCheckUtils]: 78: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,903 INFO L273 TraceCheckUtils]: 79: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,903 INFO L273 TraceCheckUtils]: 80: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,903 INFO L273 TraceCheckUtils]: 81: Hoare triple {10869#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {10869#false} is VALID [2018-11-14 18:49:38,903 INFO L273 TraceCheckUtils]: 82: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,904 INFO L273 TraceCheckUtils]: 83: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,904 INFO L273 TraceCheckUtils]: 84: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,904 INFO L273 TraceCheckUtils]: 85: Hoare triple {10869#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {10869#false} is VALID [2018-11-14 18:49:38,904 INFO L273 TraceCheckUtils]: 86: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,904 INFO L273 TraceCheckUtils]: 87: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,904 INFO L273 TraceCheckUtils]: 88: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,904 INFO L273 TraceCheckUtils]: 89: Hoare triple {10869#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {10869#false} is VALID [2018-11-14 18:49:38,905 INFO L273 TraceCheckUtils]: 90: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,905 INFO L273 TraceCheckUtils]: 91: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,905 INFO L273 TraceCheckUtils]: 92: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,905 INFO L273 TraceCheckUtils]: 93: Hoare triple {10869#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {10869#false} is VALID [2018-11-14 18:49:38,905 INFO L273 TraceCheckUtils]: 94: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,905 INFO L273 TraceCheckUtils]: 95: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,905 INFO L273 TraceCheckUtils]: 96: Hoare triple {10869#false} assume !(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,906 INFO L273 TraceCheckUtils]: 97: Hoare triple {10869#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {10869#false} is VALID [2018-11-14 18:49:38,906 INFO L273 TraceCheckUtils]: 98: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,906 INFO L268 TraceCheckUtils]: 99: Hoare quadruple {10869#false} {10869#false} #89#return; {10869#false} is VALID [2018-11-14 18:49:38,906 INFO L273 TraceCheckUtils]: 100: Hoare triple {10869#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {10869#false} is VALID [2018-11-14 18:49:38,906 INFO L273 TraceCheckUtils]: 101: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,906 INFO L273 TraceCheckUtils]: 102: Hoare triple {10869#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {10869#false} is VALID [2018-11-14 18:49:38,906 INFO L273 TraceCheckUtils]: 103: Hoare triple {10869#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {10869#false} is VALID [2018-11-14 18:49:38,907 INFO L273 TraceCheckUtils]: 104: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,907 INFO L273 TraceCheckUtils]: 105: Hoare triple {10869#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {10869#false} is VALID [2018-11-14 18:49:38,907 INFO L273 TraceCheckUtils]: 106: Hoare triple {10869#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {10869#false} is VALID [2018-11-14 18:49:38,907 INFO L273 TraceCheckUtils]: 107: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,907 INFO L273 TraceCheckUtils]: 108: Hoare triple {10869#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {10869#false} is VALID [2018-11-14 18:49:38,907 INFO L273 TraceCheckUtils]: 109: Hoare triple {10869#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {10869#false} is VALID [2018-11-14 18:49:38,907 INFO L273 TraceCheckUtils]: 110: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,908 INFO L273 TraceCheckUtils]: 111: Hoare triple {10869#false} assume !(~i~2 < 39); {10869#false} is VALID [2018-11-14 18:49:38,908 INFO L273 TraceCheckUtils]: 112: Hoare triple {10869#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {10869#false} is VALID [2018-11-14 18:49:38,908 INFO L256 TraceCheckUtils]: 113: Hoare triple {10869#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {10869#false} is VALID [2018-11-14 18:49:38,908 INFO L273 TraceCheckUtils]: 114: Hoare triple {10869#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {10869#false} is VALID [2018-11-14 18:49:38,908 INFO L273 TraceCheckUtils]: 115: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,908 INFO L273 TraceCheckUtils]: 116: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,908 INFO L273 TraceCheckUtils]: 117: Hoare triple {10869#false} assume !(~i~1 > 20); {10869#false} is VALID [2018-11-14 18:49:38,909 INFO L273 TraceCheckUtils]: 118: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,909 INFO L273 TraceCheckUtils]: 119: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,909 INFO L273 TraceCheckUtils]: 120: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,909 INFO L273 TraceCheckUtils]: 121: Hoare triple {10869#false} assume !(~i~1 > 20); {10869#false} is VALID [2018-11-14 18:49:38,909 INFO L273 TraceCheckUtils]: 122: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,909 INFO L273 TraceCheckUtils]: 123: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,909 INFO L273 TraceCheckUtils]: 124: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,910 INFO L273 TraceCheckUtils]: 125: Hoare triple {10869#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {10869#false} is VALID [2018-11-14 18:49:38,910 INFO L273 TraceCheckUtils]: 126: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,910 INFO L273 TraceCheckUtils]: 127: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,910 INFO L273 TraceCheckUtils]: 128: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,910 INFO L273 TraceCheckUtils]: 129: Hoare triple {10869#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {10869#false} is VALID [2018-11-14 18:49:38,910 INFO L273 TraceCheckUtils]: 130: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,910 INFO L273 TraceCheckUtils]: 131: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,911 INFO L273 TraceCheckUtils]: 132: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,911 INFO L273 TraceCheckUtils]: 133: Hoare triple {10869#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {10869#false} is VALID [2018-11-14 18:49:38,911 INFO L273 TraceCheckUtils]: 134: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,911 INFO L273 TraceCheckUtils]: 135: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,911 INFO L273 TraceCheckUtils]: 136: Hoare triple {10869#false} assume !!(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,911 INFO L273 TraceCheckUtils]: 137: Hoare triple {10869#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {10869#false} is VALID [2018-11-14 18:49:38,912 INFO L273 TraceCheckUtils]: 138: Hoare triple {10869#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {10869#false} is VALID [2018-11-14 18:49:38,912 INFO L273 TraceCheckUtils]: 139: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,912 INFO L273 TraceCheckUtils]: 140: Hoare triple {10869#false} assume !(~i~1 < 40); {10869#false} is VALID [2018-11-14 18:49:38,912 INFO L273 TraceCheckUtils]: 141: Hoare triple {10869#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {10869#false} is VALID [2018-11-14 18:49:38,912 INFO L273 TraceCheckUtils]: 142: Hoare triple {10869#false} assume true; {10869#false} is VALID [2018-11-14 18:49:38,912 INFO L268 TraceCheckUtils]: 143: Hoare quadruple {10869#false} {10869#false} #91#return; {10869#false} is VALID [2018-11-14 18:49:38,912 INFO L273 TraceCheckUtils]: 144: Hoare triple {10869#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {10869#false} is VALID [2018-11-14 18:49:38,913 INFO L273 TraceCheckUtils]: 145: Hoare triple {10869#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {10869#false} is VALID [2018-11-14 18:49:38,913 INFO L273 TraceCheckUtils]: 146: Hoare triple {10869#false} assume !false; {10869#false} is VALID [2018-11-14 18:49:38,942 INFO L134 CoverageAnalysis]: Checked inductivity of 853 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 753 trivial. 0 not checked. [2018-11-14 18:49:38,962 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:38,962 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2018-11-14 18:49:38,962 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 147 [2018-11-14 18:49:38,963 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:38,963 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-14 18:49:39,023 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 18:49:39,023 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-14 18:49:39,023 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-14 18:49:39,024 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-14 18:49:39,024 INFO L87 Difference]: Start difference. First operand 88 states and 97 transitions. Second operand 11 states. [2018-11-14 18:49:39,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:39,329 INFO L93 Difference]: Finished difference Result 146 states and 164 transitions. [2018-11-14 18:49:39,329 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-14 18:49:39,329 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 147 [2018-11-14 18:49:39,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:39,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-14 18:49:39,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 98 transitions. [2018-11-14 18:49:39,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-14 18:49:39,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 98 transitions. [2018-11-14 18:49:39,332 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 98 transitions. [2018-11-14 18:49:39,463 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:39,465 INFO L225 Difference]: With dead ends: 146 [2018-11-14 18:49:39,465 INFO L226 Difference]: Without dead ends: 92 [2018-11-14 18:49:39,467 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 146 GetRequests, 137 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-14 18:49:39,467 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2018-11-14 18:49:39,491 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 91. [2018-11-14 18:49:39,491 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:39,491 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 91 states. [2018-11-14 18:49:39,491 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 91 states. [2018-11-14 18:49:39,491 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 91 states. [2018-11-14 18:49:39,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:39,494 INFO L93 Difference]: Finished difference Result 92 states and 101 transitions. [2018-11-14 18:49:39,494 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2018-11-14 18:49:39,495 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:39,495 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:39,495 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 92 states. [2018-11-14 18:49:39,495 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 92 states. [2018-11-14 18:49:39,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:39,497 INFO L93 Difference]: Finished difference Result 92 states and 101 transitions. [2018-11-14 18:49:39,497 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2018-11-14 18:49:39,498 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:39,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:39,498 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:39,498 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:39,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-11-14 18:49:39,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 100 transitions. [2018-11-14 18:49:39,500 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 100 transitions. Word has length 147 [2018-11-14 18:49:39,500 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:39,500 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 100 transitions. [2018-11-14 18:49:39,500 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-14 18:49:39,500 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 100 transitions. [2018-11-14 18:49:39,501 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 151 [2018-11-14 18:49:39,501 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:39,502 INFO L375 BasicCegarLoop]: trace histogram [21, 18, 18, 12, 10, 9, 9, 6, 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, 1, 1, 1, 1, 1] [2018-11-14 18:49:39,502 INFO L423 AbstractCegarLoop]: === Iteration 20 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:39,502 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:39,502 INFO L82 PathProgramCache]: Analyzing trace with hash -1537442538, now seen corresponding path program 15 times [2018-11-14 18:49:39,502 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:39,502 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:39,503 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:39,503 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:39,503 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:39,523 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:39,523 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:39,523 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:39,540 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 18:49:39,668 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2018-11-14 18:49:39,668 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:39,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:39,697 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:39,862 INFO L256 TraceCheckUtils]: 0: Hoare triple {11817#true} call ULTIMATE.init(); {11817#true} is VALID [2018-11-14 18:49:39,862 INFO L273 TraceCheckUtils]: 1: Hoare triple {11817#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {11817#true} is VALID [2018-11-14 18:49:39,862 INFO L273 TraceCheckUtils]: 2: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,862 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11817#true} {11817#true} #81#return; {11817#true} is VALID [2018-11-14 18:49:39,863 INFO L256 TraceCheckUtils]: 4: Hoare triple {11817#true} call #t~ret12 := main(); {11817#true} is VALID [2018-11-14 18:49:39,863 INFO L273 TraceCheckUtils]: 5: Hoare triple {11817#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {11817#true} is VALID [2018-11-14 18:49:39,863 INFO L256 TraceCheckUtils]: 6: Hoare triple {11817#true} call init_nondet(~#x~0.base, ~#x~0.offset); {11817#true} is VALID [2018-11-14 18:49:39,863 INFO L273 TraceCheckUtils]: 7: Hoare triple {11817#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {11817#true} is VALID [2018-11-14 18:49:39,863 INFO L273 TraceCheckUtils]: 8: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,864 INFO L273 TraceCheckUtils]: 9: Hoare triple {11817#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {11817#true} is VALID [2018-11-14 18:49:39,864 INFO L273 TraceCheckUtils]: 10: Hoare triple {11817#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {11817#true} is VALID [2018-11-14 18:49:39,864 INFO L273 TraceCheckUtils]: 11: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,864 INFO L273 TraceCheckUtils]: 12: Hoare triple {11817#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {11817#true} is VALID [2018-11-14 18:49:39,864 INFO L273 TraceCheckUtils]: 13: Hoare triple {11817#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {11817#true} is VALID [2018-11-14 18:49:39,865 INFO L273 TraceCheckUtils]: 14: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,865 INFO L273 TraceCheckUtils]: 15: Hoare triple {11817#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {11817#true} is VALID [2018-11-14 18:49:39,865 INFO L273 TraceCheckUtils]: 16: Hoare triple {11817#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {11817#true} is VALID [2018-11-14 18:49:39,865 INFO L273 TraceCheckUtils]: 17: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,865 INFO L273 TraceCheckUtils]: 18: Hoare triple {11817#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {11817#true} is VALID [2018-11-14 18:49:39,865 INFO L273 TraceCheckUtils]: 19: Hoare triple {11817#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {11817#true} is VALID [2018-11-14 18:49:39,865 INFO L273 TraceCheckUtils]: 20: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,865 INFO L273 TraceCheckUtils]: 21: Hoare triple {11817#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {11817#true} is VALID [2018-11-14 18:49:39,865 INFO L273 TraceCheckUtils]: 22: Hoare triple {11817#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {11817#true} is VALID [2018-11-14 18:49:39,866 INFO L273 TraceCheckUtils]: 23: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,866 INFO L273 TraceCheckUtils]: 24: Hoare triple {11817#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {11817#true} is VALID [2018-11-14 18:49:39,866 INFO L273 TraceCheckUtils]: 25: Hoare triple {11817#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {11817#true} is VALID [2018-11-14 18:49:39,866 INFO L273 TraceCheckUtils]: 26: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,866 INFO L273 TraceCheckUtils]: 27: Hoare triple {11817#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {11817#true} is VALID [2018-11-14 18:49:39,866 INFO L273 TraceCheckUtils]: 28: Hoare triple {11817#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {11817#true} is VALID [2018-11-14 18:49:39,866 INFO L273 TraceCheckUtils]: 29: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,866 INFO L273 TraceCheckUtils]: 30: Hoare triple {11817#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {11817#true} is VALID [2018-11-14 18:49:39,867 INFO L273 TraceCheckUtils]: 31: Hoare triple {11817#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {11817#true} is VALID [2018-11-14 18:49:39,867 INFO L273 TraceCheckUtils]: 32: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,867 INFO L273 TraceCheckUtils]: 33: Hoare triple {11817#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {11817#true} is VALID [2018-11-14 18:49:39,867 INFO L273 TraceCheckUtils]: 34: Hoare triple {11817#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {11817#true} is VALID [2018-11-14 18:49:39,867 INFO L273 TraceCheckUtils]: 35: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,867 INFO L273 TraceCheckUtils]: 36: Hoare triple {11817#true} assume !(~i~0 < 40); {11817#true} is VALID [2018-11-14 18:49:39,867 INFO L273 TraceCheckUtils]: 37: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,867 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {11817#true} {11817#true} #85#return; {11817#true} is VALID [2018-11-14 18:49:39,867 INFO L273 TraceCheckUtils]: 39: Hoare triple {11817#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {11817#true} is VALID [2018-11-14 18:49:39,868 INFO L256 TraceCheckUtils]: 40: Hoare triple {11817#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {11817#true} is VALID [2018-11-14 18:49:39,868 INFO L273 TraceCheckUtils]: 41: Hoare triple {11817#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {11817#true} is VALID [2018-11-14 18:49:39,868 INFO L273 TraceCheckUtils]: 42: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,868 INFO L273 TraceCheckUtils]: 43: Hoare triple {11817#true} assume !!(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,868 INFO L273 TraceCheckUtils]: 44: Hoare triple {11817#true} assume !(~i~1 > 20); {11817#true} is VALID [2018-11-14 18:49:39,868 INFO L273 TraceCheckUtils]: 45: Hoare triple {11817#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11817#true} is VALID [2018-11-14 18:49:39,868 INFO L273 TraceCheckUtils]: 46: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,868 INFO L273 TraceCheckUtils]: 47: Hoare triple {11817#true} assume !!(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,868 INFO L273 TraceCheckUtils]: 48: Hoare triple {11817#true} assume !(~i~1 > 20); {11817#true} is VALID [2018-11-14 18:49:39,869 INFO L273 TraceCheckUtils]: 49: Hoare triple {11817#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11817#true} is VALID [2018-11-14 18:49:39,869 INFO L273 TraceCheckUtils]: 50: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,869 INFO L273 TraceCheckUtils]: 51: Hoare triple {11817#true} assume !!(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,869 INFO L273 TraceCheckUtils]: 52: Hoare triple {11817#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {11817#true} is VALID [2018-11-14 18:49:39,869 INFO L273 TraceCheckUtils]: 53: Hoare triple {11817#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11817#true} is VALID [2018-11-14 18:49:39,869 INFO L273 TraceCheckUtils]: 54: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,869 INFO L273 TraceCheckUtils]: 55: Hoare triple {11817#true} assume !!(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,869 INFO L273 TraceCheckUtils]: 56: Hoare triple {11817#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {11817#true} is VALID [2018-11-14 18:49:39,869 INFO L273 TraceCheckUtils]: 57: Hoare triple {11817#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11817#true} is VALID [2018-11-14 18:49:39,870 INFO L273 TraceCheckUtils]: 58: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,870 INFO L273 TraceCheckUtils]: 59: Hoare triple {11817#true} assume !!(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,870 INFO L273 TraceCheckUtils]: 60: Hoare triple {11817#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {11817#true} is VALID [2018-11-14 18:49:39,870 INFO L273 TraceCheckUtils]: 61: Hoare triple {11817#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11817#true} is VALID [2018-11-14 18:49:39,870 INFO L273 TraceCheckUtils]: 62: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,870 INFO L273 TraceCheckUtils]: 63: Hoare triple {11817#true} assume !!(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,870 INFO L273 TraceCheckUtils]: 64: Hoare triple {11817#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {11817#true} is VALID [2018-11-14 18:49:39,870 INFO L273 TraceCheckUtils]: 65: Hoare triple {11817#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11817#true} is VALID [2018-11-14 18:49:39,871 INFO L273 TraceCheckUtils]: 66: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,871 INFO L273 TraceCheckUtils]: 67: Hoare triple {11817#true} assume !(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,871 INFO L273 TraceCheckUtils]: 68: Hoare triple {11817#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {11817#true} is VALID [2018-11-14 18:49:39,871 INFO L273 TraceCheckUtils]: 69: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,871 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {11817#true} {11817#true} #87#return; {11817#true} is VALID [2018-11-14 18:49:39,871 INFO L273 TraceCheckUtils]: 71: Hoare triple {11817#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {11817#true} is VALID [2018-11-14 18:49:39,871 INFO L256 TraceCheckUtils]: 72: Hoare triple {11817#true} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {11817#true} is VALID [2018-11-14 18:49:39,871 INFO L273 TraceCheckUtils]: 73: Hoare triple {11817#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {11817#true} is VALID [2018-11-14 18:49:39,871 INFO L273 TraceCheckUtils]: 74: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,872 INFO L273 TraceCheckUtils]: 75: Hoare triple {11817#true} assume !!(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,872 INFO L273 TraceCheckUtils]: 76: Hoare triple {11817#true} assume !(~i~1 > 20); {11817#true} is VALID [2018-11-14 18:49:39,872 INFO L273 TraceCheckUtils]: 77: Hoare triple {11817#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11817#true} is VALID [2018-11-14 18:49:39,872 INFO L273 TraceCheckUtils]: 78: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,872 INFO L273 TraceCheckUtils]: 79: Hoare triple {11817#true} assume !!(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,872 INFO L273 TraceCheckUtils]: 80: Hoare triple {11817#true} assume !(~i~1 > 20); {11817#true} is VALID [2018-11-14 18:49:39,872 INFO L273 TraceCheckUtils]: 81: Hoare triple {11817#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11817#true} is VALID [2018-11-14 18:49:39,872 INFO L273 TraceCheckUtils]: 82: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,872 INFO L273 TraceCheckUtils]: 83: Hoare triple {11817#true} assume !!(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,873 INFO L273 TraceCheckUtils]: 84: Hoare triple {11817#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {11817#true} is VALID [2018-11-14 18:49:39,873 INFO L273 TraceCheckUtils]: 85: Hoare triple {11817#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11817#true} is VALID [2018-11-14 18:49:39,873 INFO L273 TraceCheckUtils]: 86: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,873 INFO L273 TraceCheckUtils]: 87: Hoare triple {11817#true} assume !!(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,873 INFO L273 TraceCheckUtils]: 88: Hoare triple {11817#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {11817#true} is VALID [2018-11-14 18:49:39,873 INFO L273 TraceCheckUtils]: 89: Hoare triple {11817#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11817#true} is VALID [2018-11-14 18:49:39,873 INFO L273 TraceCheckUtils]: 90: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,873 INFO L273 TraceCheckUtils]: 91: Hoare triple {11817#true} assume !!(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,873 INFO L273 TraceCheckUtils]: 92: Hoare triple {11817#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {11817#true} is VALID [2018-11-14 18:49:39,874 INFO L273 TraceCheckUtils]: 93: Hoare triple {11817#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11817#true} is VALID [2018-11-14 18:49:39,874 INFO L273 TraceCheckUtils]: 94: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,874 INFO L273 TraceCheckUtils]: 95: Hoare triple {11817#true} assume !!(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,874 INFO L273 TraceCheckUtils]: 96: Hoare triple {11817#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {11817#true} is VALID [2018-11-14 18:49:39,874 INFO L273 TraceCheckUtils]: 97: Hoare triple {11817#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11817#true} is VALID [2018-11-14 18:49:39,874 INFO L273 TraceCheckUtils]: 98: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,874 INFO L273 TraceCheckUtils]: 99: Hoare triple {11817#true} assume !(~i~1 < 40); {11817#true} is VALID [2018-11-14 18:49:39,874 INFO L273 TraceCheckUtils]: 100: Hoare triple {11817#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {11817#true} is VALID [2018-11-14 18:49:39,874 INFO L273 TraceCheckUtils]: 101: Hoare triple {11817#true} assume true; {11817#true} is VALID [2018-11-14 18:49:39,875 INFO L268 TraceCheckUtils]: 102: Hoare quadruple {11817#true} {11817#true} #89#return; {11817#true} is VALID [2018-11-14 18:49:39,875 INFO L273 TraceCheckUtils]: 103: Hoare triple {11817#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {12131#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:39,875 INFO L273 TraceCheckUtils]: 104: Hoare triple {12131#(<= main_~i~2 0)} assume true; {12131#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:39,876 INFO L273 TraceCheckUtils]: 105: Hoare triple {12131#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {12131#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:39,876 INFO L273 TraceCheckUtils]: 106: Hoare triple {12131#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {12141#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:39,877 INFO L273 TraceCheckUtils]: 107: Hoare triple {12141#(<= main_~i~2 1)} assume true; {12141#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:39,877 INFO L273 TraceCheckUtils]: 108: Hoare triple {12141#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {12141#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:39,877 INFO L273 TraceCheckUtils]: 109: Hoare triple {12141#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {12151#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:39,878 INFO L273 TraceCheckUtils]: 110: Hoare triple {12151#(<= main_~i~2 2)} assume true; {12151#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:39,878 INFO L273 TraceCheckUtils]: 111: Hoare triple {12151#(<= main_~i~2 2)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {12151#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:39,878 INFO L273 TraceCheckUtils]: 112: Hoare triple {12151#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {12161#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:39,879 INFO L273 TraceCheckUtils]: 113: Hoare triple {12161#(<= main_~i~2 3)} assume true; {12161#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:39,879 INFO L273 TraceCheckUtils]: 114: Hoare triple {12161#(<= main_~i~2 3)} assume !(~i~2 < 39); {11818#false} is VALID [2018-11-14 18:49:39,880 INFO L273 TraceCheckUtils]: 115: Hoare triple {11818#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {11818#false} is VALID [2018-11-14 18:49:39,880 INFO L256 TraceCheckUtils]: 116: Hoare triple {11818#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {11818#false} is VALID [2018-11-14 18:49:39,880 INFO L273 TraceCheckUtils]: 117: Hoare triple {11818#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {11818#false} is VALID [2018-11-14 18:49:39,880 INFO L273 TraceCheckUtils]: 118: Hoare triple {11818#false} assume true; {11818#false} is VALID [2018-11-14 18:49:39,880 INFO L273 TraceCheckUtils]: 119: Hoare triple {11818#false} assume !!(~i~1 < 40); {11818#false} is VALID [2018-11-14 18:49:39,881 INFO L273 TraceCheckUtils]: 120: Hoare triple {11818#false} assume !(~i~1 > 20); {11818#false} is VALID [2018-11-14 18:49:39,881 INFO L273 TraceCheckUtils]: 121: Hoare triple {11818#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11818#false} is VALID [2018-11-14 18:49:39,881 INFO L273 TraceCheckUtils]: 122: Hoare triple {11818#false} assume true; {11818#false} is VALID [2018-11-14 18:49:39,881 INFO L273 TraceCheckUtils]: 123: Hoare triple {11818#false} assume !!(~i~1 < 40); {11818#false} is VALID [2018-11-14 18:49:39,881 INFO L273 TraceCheckUtils]: 124: Hoare triple {11818#false} assume !(~i~1 > 20); {11818#false} is VALID [2018-11-14 18:49:39,882 INFO L273 TraceCheckUtils]: 125: Hoare triple {11818#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11818#false} is VALID [2018-11-14 18:49:39,882 INFO L273 TraceCheckUtils]: 126: Hoare triple {11818#false} assume true; {11818#false} is VALID [2018-11-14 18:49:39,882 INFO L273 TraceCheckUtils]: 127: Hoare triple {11818#false} assume !!(~i~1 < 40); {11818#false} is VALID [2018-11-14 18:49:39,882 INFO L273 TraceCheckUtils]: 128: Hoare triple {11818#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {11818#false} is VALID [2018-11-14 18:49:39,882 INFO L273 TraceCheckUtils]: 129: Hoare triple {11818#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11818#false} is VALID [2018-11-14 18:49:39,882 INFO L273 TraceCheckUtils]: 130: Hoare triple {11818#false} assume true; {11818#false} is VALID [2018-11-14 18:49:39,882 INFO L273 TraceCheckUtils]: 131: Hoare triple {11818#false} assume !!(~i~1 < 40); {11818#false} is VALID [2018-11-14 18:49:39,882 INFO L273 TraceCheckUtils]: 132: Hoare triple {11818#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {11818#false} is VALID [2018-11-14 18:49:39,882 INFO L273 TraceCheckUtils]: 133: Hoare triple {11818#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11818#false} is VALID [2018-11-14 18:49:39,883 INFO L273 TraceCheckUtils]: 134: Hoare triple {11818#false} assume true; {11818#false} is VALID [2018-11-14 18:49:39,883 INFO L273 TraceCheckUtils]: 135: Hoare triple {11818#false} assume !!(~i~1 < 40); {11818#false} is VALID [2018-11-14 18:49:39,883 INFO L273 TraceCheckUtils]: 136: Hoare triple {11818#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {11818#false} is VALID [2018-11-14 18:49:39,883 INFO L273 TraceCheckUtils]: 137: Hoare triple {11818#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11818#false} is VALID [2018-11-14 18:49:39,883 INFO L273 TraceCheckUtils]: 138: Hoare triple {11818#false} assume true; {11818#false} is VALID [2018-11-14 18:49:39,883 INFO L273 TraceCheckUtils]: 139: Hoare triple {11818#false} assume !!(~i~1 < 40); {11818#false} is VALID [2018-11-14 18:49:39,883 INFO L273 TraceCheckUtils]: 140: Hoare triple {11818#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {11818#false} is VALID [2018-11-14 18:49:39,883 INFO L273 TraceCheckUtils]: 141: Hoare triple {11818#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {11818#false} is VALID [2018-11-14 18:49:39,883 INFO L273 TraceCheckUtils]: 142: Hoare triple {11818#false} assume true; {11818#false} is VALID [2018-11-14 18:49:39,884 INFO L273 TraceCheckUtils]: 143: Hoare triple {11818#false} assume !(~i~1 < 40); {11818#false} is VALID [2018-11-14 18:49:39,884 INFO L273 TraceCheckUtils]: 144: Hoare triple {11818#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {11818#false} is VALID [2018-11-14 18:49:39,884 INFO L273 TraceCheckUtils]: 145: Hoare triple {11818#false} assume true; {11818#false} is VALID [2018-11-14 18:49:39,884 INFO L268 TraceCheckUtils]: 146: Hoare quadruple {11818#false} {11818#false} #91#return; {11818#false} is VALID [2018-11-14 18:49:39,884 INFO L273 TraceCheckUtils]: 147: Hoare triple {11818#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {11818#false} is VALID [2018-11-14 18:49:39,884 INFO L273 TraceCheckUtils]: 148: Hoare triple {11818#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {11818#false} is VALID [2018-11-14 18:49:39,884 INFO L273 TraceCheckUtils]: 149: Hoare triple {11818#false} assume !false; {11818#false} is VALID [2018-11-14 18:49:39,892 INFO L134 CoverageAnalysis]: Checked inductivity of 879 backedges. 348 proven. 15 refuted. 0 times theorem prover too weak. 516 trivial. 0 not checked. [2018-11-14 18:49:39,912 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:39,912 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6] total 6 [2018-11-14 18:49:39,913 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 150 [2018-11-14 18:49:39,913 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:39,913 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 18:49:39,980 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 18:49:39,980 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 18:49:39,981 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 18:49:39,981 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:49:39,981 INFO L87 Difference]: Start difference. First operand 91 states and 100 transitions. Second operand 6 states. [2018-11-14 18:49:40,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:40,093 INFO L93 Difference]: Finished difference Result 131 states and 146 transitions. [2018-11-14 18:49:40,093 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 18:49:40,093 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 150 [2018-11-14 18:49:40,094 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:40,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:49:40,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2018-11-14 18:49:40,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:49:40,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2018-11-14 18:49:40,096 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2018-11-14 18:49:40,160 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 18:49:40,161 INFO L225 Difference]: With dead ends: 131 [2018-11-14 18:49:40,161 INFO L226 Difference]: Without dead ends: 95 [2018-11-14 18:49:40,162 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 145 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:49:40,162 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2018-11-14 18:49:40,195 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 94. [2018-11-14 18:49:40,195 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:40,195 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand 94 states. [2018-11-14 18:49:40,195 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand 94 states. [2018-11-14 18:49:40,195 INFO L87 Difference]: Start difference. First operand 95 states. Second operand 94 states. [2018-11-14 18:49:40,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:40,197 INFO L93 Difference]: Finished difference Result 95 states and 104 transitions. [2018-11-14 18:49:40,197 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 104 transitions. [2018-11-14 18:49:40,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:40,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:40,198 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 95 states. [2018-11-14 18:49:40,198 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 95 states. [2018-11-14 18:49:40,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:40,200 INFO L93 Difference]: Finished difference Result 95 states and 104 transitions. [2018-11-14 18:49:40,200 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 104 transitions. [2018-11-14 18:49:40,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:40,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:40,201 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:40,201 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:40,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 94 states. [2018-11-14 18:49:40,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 103 transitions. [2018-11-14 18:49:40,203 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 103 transitions. Word has length 150 [2018-11-14 18:49:40,203 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:40,204 INFO L480 AbstractCegarLoop]: Abstraction has 94 states and 103 transitions. [2018-11-14 18:49:40,204 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 18:49:40,204 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 103 transitions. [2018-11-14 18:49:40,205 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 154 [2018-11-14 18:49:40,205 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:40,205 INFO L375 BasicCegarLoop]: trace histogram [21, 18, 18, 12, 10, 9, 9, 6, 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, 1, 1, 1, 1] [2018-11-14 18:49:40,205 INFO L423 AbstractCegarLoop]: === Iteration 21 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:40,205 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:40,206 INFO L82 PathProgramCache]: Analyzing trace with hash -1667807405, now seen corresponding path program 16 times [2018-11-14 18:49:40,206 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:40,206 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:40,207 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:40,207 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:40,207 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:40,220 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:40,220 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:40,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 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:40,241 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 18:49:40,296 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 18:49:40,297 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:40,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:40,336 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:40,691 INFO L256 TraceCheckUtils]: 0: Hoare triple {12760#true} call ULTIMATE.init(); {12760#true} is VALID [2018-11-14 18:49:40,692 INFO L273 TraceCheckUtils]: 1: Hoare triple {12760#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {12760#true} is VALID [2018-11-14 18:49:40,692 INFO L273 TraceCheckUtils]: 2: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,692 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12760#true} {12760#true} #81#return; {12760#true} is VALID [2018-11-14 18:49:40,692 INFO L256 TraceCheckUtils]: 4: Hoare triple {12760#true} call #t~ret12 := main(); {12760#true} is VALID [2018-11-14 18:49:40,693 INFO L273 TraceCheckUtils]: 5: Hoare triple {12760#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {12760#true} is VALID [2018-11-14 18:49:40,693 INFO L256 TraceCheckUtils]: 6: Hoare triple {12760#true} call init_nondet(~#x~0.base, ~#x~0.offset); {12760#true} is VALID [2018-11-14 18:49:40,693 INFO L273 TraceCheckUtils]: 7: Hoare triple {12760#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {12760#true} is VALID [2018-11-14 18:49:40,693 INFO L273 TraceCheckUtils]: 8: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,693 INFO L273 TraceCheckUtils]: 9: Hoare triple {12760#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {12760#true} is VALID [2018-11-14 18:49:40,694 INFO L273 TraceCheckUtils]: 10: Hoare triple {12760#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {12760#true} is VALID [2018-11-14 18:49:40,694 INFO L273 TraceCheckUtils]: 11: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,694 INFO L273 TraceCheckUtils]: 12: Hoare triple {12760#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {12760#true} is VALID [2018-11-14 18:49:40,694 INFO L273 TraceCheckUtils]: 13: Hoare triple {12760#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {12760#true} is VALID [2018-11-14 18:49:40,694 INFO L273 TraceCheckUtils]: 14: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,694 INFO L273 TraceCheckUtils]: 15: Hoare triple {12760#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {12760#true} is VALID [2018-11-14 18:49:40,694 INFO L273 TraceCheckUtils]: 16: Hoare triple {12760#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {12760#true} is VALID [2018-11-14 18:49:40,695 INFO L273 TraceCheckUtils]: 17: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,695 INFO L273 TraceCheckUtils]: 18: Hoare triple {12760#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {12760#true} is VALID [2018-11-14 18:49:40,695 INFO L273 TraceCheckUtils]: 19: Hoare triple {12760#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {12760#true} is VALID [2018-11-14 18:49:40,695 INFO L273 TraceCheckUtils]: 20: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,695 INFO L273 TraceCheckUtils]: 21: Hoare triple {12760#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {12760#true} is VALID [2018-11-14 18:49:40,695 INFO L273 TraceCheckUtils]: 22: Hoare triple {12760#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {12760#true} is VALID [2018-11-14 18:49:40,695 INFO L273 TraceCheckUtils]: 23: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,695 INFO L273 TraceCheckUtils]: 24: Hoare triple {12760#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {12760#true} is VALID [2018-11-14 18:49:40,696 INFO L273 TraceCheckUtils]: 25: Hoare triple {12760#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {12760#true} is VALID [2018-11-14 18:49:40,696 INFO L273 TraceCheckUtils]: 26: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,696 INFO L273 TraceCheckUtils]: 27: Hoare triple {12760#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {12760#true} is VALID [2018-11-14 18:49:40,696 INFO L273 TraceCheckUtils]: 28: Hoare triple {12760#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {12760#true} is VALID [2018-11-14 18:49:40,696 INFO L273 TraceCheckUtils]: 29: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,696 INFO L273 TraceCheckUtils]: 30: Hoare triple {12760#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {12760#true} is VALID [2018-11-14 18:49:40,696 INFO L273 TraceCheckUtils]: 31: Hoare triple {12760#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {12760#true} is VALID [2018-11-14 18:49:40,696 INFO L273 TraceCheckUtils]: 32: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,696 INFO L273 TraceCheckUtils]: 33: Hoare triple {12760#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {12760#true} is VALID [2018-11-14 18:49:40,697 INFO L273 TraceCheckUtils]: 34: Hoare triple {12760#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {12760#true} is VALID [2018-11-14 18:49:40,697 INFO L273 TraceCheckUtils]: 35: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,697 INFO L273 TraceCheckUtils]: 36: Hoare triple {12760#true} assume !(~i~0 < 40); {12760#true} is VALID [2018-11-14 18:49:40,697 INFO L273 TraceCheckUtils]: 37: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,697 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {12760#true} {12760#true} #85#return; {12760#true} is VALID [2018-11-14 18:49:40,697 INFO L273 TraceCheckUtils]: 39: Hoare triple {12760#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {12760#true} is VALID [2018-11-14 18:49:40,697 INFO L256 TraceCheckUtils]: 40: Hoare triple {12760#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {12760#true} is VALID [2018-11-14 18:49:40,697 INFO L273 TraceCheckUtils]: 41: Hoare triple {12760#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {12760#true} is VALID [2018-11-14 18:49:40,697 INFO L273 TraceCheckUtils]: 42: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,698 INFO L273 TraceCheckUtils]: 43: Hoare triple {12760#true} assume !!(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,698 INFO L273 TraceCheckUtils]: 44: Hoare triple {12760#true} assume !(~i~1 > 20); {12760#true} is VALID [2018-11-14 18:49:40,698 INFO L273 TraceCheckUtils]: 45: Hoare triple {12760#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12760#true} is VALID [2018-11-14 18:49:40,698 INFO L273 TraceCheckUtils]: 46: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,698 INFO L273 TraceCheckUtils]: 47: Hoare triple {12760#true} assume !!(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,698 INFO L273 TraceCheckUtils]: 48: Hoare triple {12760#true} assume !(~i~1 > 20); {12760#true} is VALID [2018-11-14 18:49:40,698 INFO L273 TraceCheckUtils]: 49: Hoare triple {12760#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12760#true} is VALID [2018-11-14 18:49:40,698 INFO L273 TraceCheckUtils]: 50: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,698 INFO L273 TraceCheckUtils]: 51: Hoare triple {12760#true} assume !!(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,699 INFO L273 TraceCheckUtils]: 52: Hoare triple {12760#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {12760#true} is VALID [2018-11-14 18:49:40,699 INFO L273 TraceCheckUtils]: 53: Hoare triple {12760#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12760#true} is VALID [2018-11-14 18:49:40,699 INFO L273 TraceCheckUtils]: 54: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,699 INFO L273 TraceCheckUtils]: 55: Hoare triple {12760#true} assume !!(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,699 INFO L273 TraceCheckUtils]: 56: Hoare triple {12760#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {12760#true} is VALID [2018-11-14 18:49:40,699 INFO L273 TraceCheckUtils]: 57: Hoare triple {12760#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12760#true} is VALID [2018-11-14 18:49:40,699 INFO L273 TraceCheckUtils]: 58: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,699 INFO L273 TraceCheckUtils]: 59: Hoare triple {12760#true} assume !!(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,699 INFO L273 TraceCheckUtils]: 60: Hoare triple {12760#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {12760#true} is VALID [2018-11-14 18:49:40,700 INFO L273 TraceCheckUtils]: 61: Hoare triple {12760#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12760#true} is VALID [2018-11-14 18:49:40,700 INFO L273 TraceCheckUtils]: 62: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,700 INFO L273 TraceCheckUtils]: 63: Hoare triple {12760#true} assume !!(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,700 INFO L273 TraceCheckUtils]: 64: Hoare triple {12760#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {12760#true} is VALID [2018-11-14 18:49:40,700 INFO L273 TraceCheckUtils]: 65: Hoare triple {12760#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12760#true} is VALID [2018-11-14 18:49:40,700 INFO L273 TraceCheckUtils]: 66: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,700 INFO L273 TraceCheckUtils]: 67: Hoare triple {12760#true} assume !(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,700 INFO L273 TraceCheckUtils]: 68: Hoare triple {12760#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {12760#true} is VALID [2018-11-14 18:49:40,701 INFO L273 TraceCheckUtils]: 69: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,701 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {12760#true} {12760#true} #87#return; {12760#true} is VALID [2018-11-14 18:49:40,701 INFO L273 TraceCheckUtils]: 71: Hoare triple {12760#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {12760#true} is VALID [2018-11-14 18:49:40,701 INFO L256 TraceCheckUtils]: 72: Hoare triple {12760#true} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {12760#true} is VALID [2018-11-14 18:49:40,701 INFO L273 TraceCheckUtils]: 73: Hoare triple {12760#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {12760#true} is VALID [2018-11-14 18:49:40,701 INFO L273 TraceCheckUtils]: 74: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,701 INFO L273 TraceCheckUtils]: 75: Hoare triple {12760#true} assume !!(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,701 INFO L273 TraceCheckUtils]: 76: Hoare triple {12760#true} assume !(~i~1 > 20); {12760#true} is VALID [2018-11-14 18:49:40,701 INFO L273 TraceCheckUtils]: 77: Hoare triple {12760#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12760#true} is VALID [2018-11-14 18:49:40,702 INFO L273 TraceCheckUtils]: 78: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,702 INFO L273 TraceCheckUtils]: 79: Hoare triple {12760#true} assume !!(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,702 INFO L273 TraceCheckUtils]: 80: Hoare triple {12760#true} assume !(~i~1 > 20); {12760#true} is VALID [2018-11-14 18:49:40,702 INFO L273 TraceCheckUtils]: 81: Hoare triple {12760#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12760#true} is VALID [2018-11-14 18:49:40,702 INFO L273 TraceCheckUtils]: 82: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,702 INFO L273 TraceCheckUtils]: 83: Hoare triple {12760#true} assume !!(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,702 INFO L273 TraceCheckUtils]: 84: Hoare triple {12760#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {12760#true} is VALID [2018-11-14 18:49:40,702 INFO L273 TraceCheckUtils]: 85: Hoare triple {12760#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12760#true} is VALID [2018-11-14 18:49:40,702 INFO L273 TraceCheckUtils]: 86: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,703 INFO L273 TraceCheckUtils]: 87: Hoare triple {12760#true} assume !!(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,703 INFO L273 TraceCheckUtils]: 88: Hoare triple {12760#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {12760#true} is VALID [2018-11-14 18:49:40,703 INFO L273 TraceCheckUtils]: 89: Hoare triple {12760#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12760#true} is VALID [2018-11-14 18:49:40,703 INFO L273 TraceCheckUtils]: 90: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,703 INFO L273 TraceCheckUtils]: 91: Hoare triple {12760#true} assume !!(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,703 INFO L273 TraceCheckUtils]: 92: Hoare triple {12760#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {12760#true} is VALID [2018-11-14 18:49:40,703 INFO L273 TraceCheckUtils]: 93: Hoare triple {12760#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12760#true} is VALID [2018-11-14 18:49:40,703 INFO L273 TraceCheckUtils]: 94: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,703 INFO L273 TraceCheckUtils]: 95: Hoare triple {12760#true} assume !!(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,704 INFO L273 TraceCheckUtils]: 96: Hoare triple {12760#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {12760#true} is VALID [2018-11-14 18:49:40,704 INFO L273 TraceCheckUtils]: 97: Hoare triple {12760#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12760#true} is VALID [2018-11-14 18:49:40,704 INFO L273 TraceCheckUtils]: 98: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,704 INFO L273 TraceCheckUtils]: 99: Hoare triple {12760#true} assume !(~i~1 < 40); {12760#true} is VALID [2018-11-14 18:49:40,704 INFO L273 TraceCheckUtils]: 100: Hoare triple {12760#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {12760#true} is VALID [2018-11-14 18:49:40,704 INFO L273 TraceCheckUtils]: 101: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,704 INFO L268 TraceCheckUtils]: 102: Hoare quadruple {12760#true} {12760#true} #89#return; {12760#true} is VALID [2018-11-14 18:49:40,704 INFO L273 TraceCheckUtils]: 103: Hoare triple {12760#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {12760#true} is VALID [2018-11-14 18:49:40,704 INFO L273 TraceCheckUtils]: 104: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,705 INFO L273 TraceCheckUtils]: 105: Hoare triple {12760#true} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {12760#true} is VALID [2018-11-14 18:49:40,705 INFO L273 TraceCheckUtils]: 106: Hoare triple {12760#true} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {12760#true} is VALID [2018-11-14 18:49:40,705 INFO L273 TraceCheckUtils]: 107: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,705 INFO L273 TraceCheckUtils]: 108: Hoare triple {12760#true} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {12760#true} is VALID [2018-11-14 18:49:40,705 INFO L273 TraceCheckUtils]: 109: Hoare triple {12760#true} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {12760#true} is VALID [2018-11-14 18:49:40,705 INFO L273 TraceCheckUtils]: 110: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,705 INFO L273 TraceCheckUtils]: 111: Hoare triple {12760#true} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {12760#true} is VALID [2018-11-14 18:49:40,705 INFO L273 TraceCheckUtils]: 112: Hoare triple {12760#true} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {12760#true} is VALID [2018-11-14 18:49:40,705 INFO L273 TraceCheckUtils]: 113: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,706 INFO L273 TraceCheckUtils]: 114: Hoare triple {12760#true} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {12760#true} is VALID [2018-11-14 18:49:40,706 INFO L273 TraceCheckUtils]: 115: Hoare triple {12760#true} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {12760#true} is VALID [2018-11-14 18:49:40,706 INFO L273 TraceCheckUtils]: 116: Hoare triple {12760#true} assume true; {12760#true} is VALID [2018-11-14 18:49:40,706 INFO L273 TraceCheckUtils]: 117: Hoare triple {12760#true} assume !(~i~2 < 39); {12760#true} is VALID [2018-11-14 18:49:40,706 INFO L273 TraceCheckUtils]: 118: Hoare triple {12760#true} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {12760#true} is VALID [2018-11-14 18:49:40,706 INFO L256 TraceCheckUtils]: 119: Hoare triple {12760#true} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {12760#true} is VALID [2018-11-14 18:49:40,707 INFO L273 TraceCheckUtils]: 120: Hoare triple {12760#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {13125#(<= rangesum_~i~1 0)} is VALID [2018-11-14 18:49:40,707 INFO L273 TraceCheckUtils]: 121: Hoare triple {13125#(<= rangesum_~i~1 0)} assume true; {13125#(<= rangesum_~i~1 0)} is VALID [2018-11-14 18:49:40,707 INFO L273 TraceCheckUtils]: 122: Hoare triple {13125#(<= rangesum_~i~1 0)} assume !!(~i~1 < 40); {13125#(<= rangesum_~i~1 0)} is VALID [2018-11-14 18:49:40,708 INFO L273 TraceCheckUtils]: 123: Hoare triple {13125#(<= rangesum_~i~1 0)} assume !(~i~1 > 20); {13125#(<= rangesum_~i~1 0)} is VALID [2018-11-14 18:49:40,708 INFO L273 TraceCheckUtils]: 124: Hoare triple {13125#(<= rangesum_~i~1 0)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13138#(<= rangesum_~i~1 1)} is VALID [2018-11-14 18:49:40,708 INFO L273 TraceCheckUtils]: 125: Hoare triple {13138#(<= rangesum_~i~1 1)} assume true; {13138#(<= rangesum_~i~1 1)} is VALID [2018-11-14 18:49:40,709 INFO L273 TraceCheckUtils]: 126: Hoare triple {13138#(<= rangesum_~i~1 1)} assume !!(~i~1 < 40); {13138#(<= rangesum_~i~1 1)} is VALID [2018-11-14 18:49:40,709 INFO L273 TraceCheckUtils]: 127: Hoare triple {13138#(<= rangesum_~i~1 1)} assume !(~i~1 > 20); {13138#(<= rangesum_~i~1 1)} is VALID [2018-11-14 18:49:40,709 INFO L273 TraceCheckUtils]: 128: Hoare triple {13138#(<= rangesum_~i~1 1)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13151#(<= rangesum_~i~1 2)} is VALID [2018-11-14 18:49:40,710 INFO L273 TraceCheckUtils]: 129: Hoare triple {13151#(<= rangesum_~i~1 2)} assume true; {13151#(<= rangesum_~i~1 2)} is VALID [2018-11-14 18:49:40,710 INFO L273 TraceCheckUtils]: 130: Hoare triple {13151#(<= rangesum_~i~1 2)} assume !!(~i~1 < 40); {13151#(<= rangesum_~i~1 2)} is VALID [2018-11-14 18:49:40,711 INFO L273 TraceCheckUtils]: 131: Hoare triple {13151#(<= rangesum_~i~1 2)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {12761#false} is VALID [2018-11-14 18:49:40,711 INFO L273 TraceCheckUtils]: 132: Hoare triple {12761#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12761#false} is VALID [2018-11-14 18:49:40,711 INFO L273 TraceCheckUtils]: 133: Hoare triple {12761#false} assume true; {12761#false} is VALID [2018-11-14 18:49:40,711 INFO L273 TraceCheckUtils]: 134: Hoare triple {12761#false} assume !!(~i~1 < 40); {12761#false} is VALID [2018-11-14 18:49:40,712 INFO L273 TraceCheckUtils]: 135: Hoare triple {12761#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {12761#false} is VALID [2018-11-14 18:49:40,712 INFO L273 TraceCheckUtils]: 136: Hoare triple {12761#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12761#false} is VALID [2018-11-14 18:49:40,712 INFO L273 TraceCheckUtils]: 137: Hoare triple {12761#false} assume true; {12761#false} is VALID [2018-11-14 18:49:40,712 INFO L273 TraceCheckUtils]: 138: Hoare triple {12761#false} assume !!(~i~1 < 40); {12761#false} is VALID [2018-11-14 18:49:40,712 INFO L273 TraceCheckUtils]: 139: Hoare triple {12761#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {12761#false} is VALID [2018-11-14 18:49:40,713 INFO L273 TraceCheckUtils]: 140: Hoare triple {12761#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12761#false} is VALID [2018-11-14 18:49:40,713 INFO L273 TraceCheckUtils]: 141: Hoare triple {12761#false} assume true; {12761#false} is VALID [2018-11-14 18:49:40,713 INFO L273 TraceCheckUtils]: 142: Hoare triple {12761#false} assume !!(~i~1 < 40); {12761#false} is VALID [2018-11-14 18:49:40,713 INFO L273 TraceCheckUtils]: 143: Hoare triple {12761#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {12761#false} is VALID [2018-11-14 18:49:40,713 INFO L273 TraceCheckUtils]: 144: Hoare triple {12761#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {12761#false} is VALID [2018-11-14 18:49:40,714 INFO L273 TraceCheckUtils]: 145: Hoare triple {12761#false} assume true; {12761#false} is VALID [2018-11-14 18:49:40,714 INFO L273 TraceCheckUtils]: 146: Hoare triple {12761#false} assume !(~i~1 < 40); {12761#false} is VALID [2018-11-14 18:49:40,714 INFO L273 TraceCheckUtils]: 147: Hoare triple {12761#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {12761#false} is VALID [2018-11-14 18:49:40,714 INFO L273 TraceCheckUtils]: 148: Hoare triple {12761#false} assume true; {12761#false} is VALID [2018-11-14 18:49:40,714 INFO L268 TraceCheckUtils]: 149: Hoare quadruple {12761#false} {12760#true} #91#return; {12761#false} is VALID [2018-11-14 18:49:40,715 INFO L273 TraceCheckUtils]: 150: Hoare triple {12761#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {12761#false} is VALID [2018-11-14 18:49:40,715 INFO L273 TraceCheckUtils]: 151: Hoare triple {12761#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {12761#false} is VALID [2018-11-14 18:49:40,715 INFO L273 TraceCheckUtils]: 152: Hoare triple {12761#false} assume !false; {12761#false} is VALID [2018-11-14 18:49:40,723 INFO L134 CoverageAnalysis]: Checked inductivity of 890 backedges. 387 proven. 10 refuted. 0 times theorem prover too weak. 493 trivial. 0 not checked. [2018-11-14 18:49:40,742 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:40,743 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5] total 5 [2018-11-14 18:49:40,743 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 153 [2018-11-14 18:49:40,743 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:40,743 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-14 18:49:40,793 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:40,793 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-14 18:49:40,794 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-14 18:49:40,794 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-14 18:49:40,794 INFO L87 Difference]: Start difference. First operand 94 states and 103 transitions. Second operand 5 states. [2018-11-14 18:49:40,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:40,932 INFO L93 Difference]: Finished difference Result 152 states and 172 transitions. [2018-11-14 18:49:40,932 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 18:49:40,932 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 153 [2018-11-14 18:49:40,932 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:40,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 18:49:40,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2018-11-14 18:49:40,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 18:49:40,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2018-11-14 18:49:40,934 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 81 transitions. [2018-11-14 18:49:41,004 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:41,006 INFO L225 Difference]: With dead ends: 152 [2018-11-14 18:49:41,006 INFO L226 Difference]: Without dead ends: 99 [2018-11-14 18:49:41,007 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 152 GetRequests, 149 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 18:49:41,008 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2018-11-14 18:49:41,055 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 98. [2018-11-14 18:49:41,055 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:41,055 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand 98 states. [2018-11-14 18:49:41,055 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand 98 states. [2018-11-14 18:49:41,056 INFO L87 Difference]: Start difference. First operand 99 states. Second operand 98 states. [2018-11-14 18:49:41,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:41,058 INFO L93 Difference]: Finished difference Result 99 states and 108 transitions. [2018-11-14 18:49:41,058 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 108 transitions. [2018-11-14 18:49:41,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:41,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:41,059 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 99 states. [2018-11-14 18:49:41,059 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 99 states. [2018-11-14 18:49:41,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:41,061 INFO L93 Difference]: Finished difference Result 99 states and 108 transitions. [2018-11-14 18:49:41,061 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 108 transitions. [2018-11-14 18:49:41,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:41,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:41,062 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:41,062 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:41,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-14 18:49:41,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 107 transitions. [2018-11-14 18:49:41,064 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 107 transitions. Word has length 153 [2018-11-14 18:49:41,064 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:41,064 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 107 transitions. [2018-11-14 18:49:41,064 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-14 18:49:41,065 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 107 transitions. [2018-11-14 18:49:41,065 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 166 [2018-11-14 18:49:41,066 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:41,066 INFO L375 BasicCegarLoop]: trace histogram [24, 21, 21, 12, 10, 9, 9, 9, 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, 1, 1, 1, 1] [2018-11-14 18:49:41,066 INFO L423 AbstractCegarLoop]: === Iteration 22 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:41,066 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:41,066 INFO L82 PathProgramCache]: Analyzing trace with hash -1496330932, now seen corresponding path program 17 times [2018-11-14 18:49:41,067 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:41,067 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:41,067 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:41,067 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:41,068 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:41,080 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:41,080 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:41,080 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:41,107 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-14 18:49:41,133 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-14 18:49:41,133 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:41,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:41,165 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:41,506 INFO L256 TraceCheckUtils]: 0: Hoare triple {13752#true} call ULTIMATE.init(); {13752#true} is VALID [2018-11-14 18:49:41,506 INFO L273 TraceCheckUtils]: 1: Hoare triple {13752#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {13752#true} is VALID [2018-11-14 18:49:41,507 INFO L273 TraceCheckUtils]: 2: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,507 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13752#true} {13752#true} #81#return; {13752#true} is VALID [2018-11-14 18:49:41,507 INFO L256 TraceCheckUtils]: 4: Hoare triple {13752#true} call #t~ret12 := main(); {13752#true} is VALID [2018-11-14 18:49:41,507 INFO L273 TraceCheckUtils]: 5: Hoare triple {13752#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {13752#true} is VALID [2018-11-14 18:49:41,507 INFO L256 TraceCheckUtils]: 6: Hoare triple {13752#true} call init_nondet(~#x~0.base, ~#x~0.offset); {13752#true} is VALID [2018-11-14 18:49:41,508 INFO L273 TraceCheckUtils]: 7: Hoare triple {13752#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {13752#true} is VALID [2018-11-14 18:49:41,508 INFO L273 TraceCheckUtils]: 8: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,508 INFO L273 TraceCheckUtils]: 9: Hoare triple {13752#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {13752#true} is VALID [2018-11-14 18:49:41,508 INFO L273 TraceCheckUtils]: 10: Hoare triple {13752#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {13752#true} is VALID [2018-11-14 18:49:41,508 INFO L273 TraceCheckUtils]: 11: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,509 INFO L273 TraceCheckUtils]: 12: Hoare triple {13752#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {13752#true} is VALID [2018-11-14 18:49:41,509 INFO L273 TraceCheckUtils]: 13: Hoare triple {13752#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {13752#true} is VALID [2018-11-14 18:49:41,509 INFO L273 TraceCheckUtils]: 14: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,509 INFO L273 TraceCheckUtils]: 15: Hoare triple {13752#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {13752#true} is VALID [2018-11-14 18:49:41,509 INFO L273 TraceCheckUtils]: 16: Hoare triple {13752#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {13752#true} is VALID [2018-11-14 18:49:41,509 INFO L273 TraceCheckUtils]: 17: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,509 INFO L273 TraceCheckUtils]: 18: Hoare triple {13752#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {13752#true} is VALID [2018-11-14 18:49:41,509 INFO L273 TraceCheckUtils]: 19: Hoare triple {13752#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {13752#true} is VALID [2018-11-14 18:49:41,509 INFO L273 TraceCheckUtils]: 20: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,510 INFO L273 TraceCheckUtils]: 21: Hoare triple {13752#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {13752#true} is VALID [2018-11-14 18:49:41,510 INFO L273 TraceCheckUtils]: 22: Hoare triple {13752#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {13752#true} is VALID [2018-11-14 18:49:41,510 INFO L273 TraceCheckUtils]: 23: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,510 INFO L273 TraceCheckUtils]: 24: Hoare triple {13752#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {13752#true} is VALID [2018-11-14 18:49:41,510 INFO L273 TraceCheckUtils]: 25: Hoare triple {13752#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {13752#true} is VALID [2018-11-14 18:49:41,510 INFO L273 TraceCheckUtils]: 26: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,510 INFO L273 TraceCheckUtils]: 27: Hoare triple {13752#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {13752#true} is VALID [2018-11-14 18:49:41,510 INFO L273 TraceCheckUtils]: 28: Hoare triple {13752#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {13752#true} is VALID [2018-11-14 18:49:41,510 INFO L273 TraceCheckUtils]: 29: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,511 INFO L273 TraceCheckUtils]: 30: Hoare triple {13752#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {13752#true} is VALID [2018-11-14 18:49:41,511 INFO L273 TraceCheckUtils]: 31: Hoare triple {13752#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {13752#true} is VALID [2018-11-14 18:49:41,511 INFO L273 TraceCheckUtils]: 32: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,511 INFO L273 TraceCheckUtils]: 33: Hoare triple {13752#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {13752#true} is VALID [2018-11-14 18:49:41,511 INFO L273 TraceCheckUtils]: 34: Hoare triple {13752#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {13752#true} is VALID [2018-11-14 18:49:41,511 INFO L273 TraceCheckUtils]: 35: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,511 INFO L273 TraceCheckUtils]: 36: Hoare triple {13752#true} assume !(~i~0 < 40); {13752#true} is VALID [2018-11-14 18:49:41,511 INFO L273 TraceCheckUtils]: 37: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,512 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {13752#true} {13752#true} #85#return; {13752#true} is VALID [2018-11-14 18:49:41,512 INFO L273 TraceCheckUtils]: 39: Hoare triple {13752#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {13752#true} is VALID [2018-11-14 18:49:41,512 INFO L256 TraceCheckUtils]: 40: Hoare triple {13752#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {13752#true} is VALID [2018-11-14 18:49:41,512 INFO L273 TraceCheckUtils]: 41: Hoare triple {13752#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {13752#true} is VALID [2018-11-14 18:49:41,512 INFO L273 TraceCheckUtils]: 42: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,512 INFO L273 TraceCheckUtils]: 43: Hoare triple {13752#true} assume !!(~i~1 < 40); {13752#true} is VALID [2018-11-14 18:49:41,512 INFO L273 TraceCheckUtils]: 44: Hoare triple {13752#true} assume !(~i~1 > 20); {13752#true} is VALID [2018-11-14 18:49:41,512 INFO L273 TraceCheckUtils]: 45: Hoare triple {13752#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13752#true} is VALID [2018-11-14 18:49:41,512 INFO L273 TraceCheckUtils]: 46: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,513 INFO L273 TraceCheckUtils]: 47: Hoare triple {13752#true} assume !!(~i~1 < 40); {13752#true} is VALID [2018-11-14 18:49:41,513 INFO L273 TraceCheckUtils]: 48: Hoare triple {13752#true} assume !(~i~1 > 20); {13752#true} is VALID [2018-11-14 18:49:41,513 INFO L273 TraceCheckUtils]: 49: Hoare triple {13752#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13752#true} is VALID [2018-11-14 18:49:41,513 INFO L273 TraceCheckUtils]: 50: Hoare triple {13752#true} assume true; {13752#true} is VALID [2018-11-14 18:49:41,513 INFO L273 TraceCheckUtils]: 51: Hoare triple {13752#true} assume !!(~i~1 < 40); {13752#true} is VALID [2018-11-14 18:49:41,513 INFO L273 TraceCheckUtils]: 52: Hoare triple {13752#true} assume !(~i~1 > 20); {13913#(<= rangesum_~i~1 20)} is VALID [2018-11-14 18:49:41,514 INFO L273 TraceCheckUtils]: 53: Hoare triple {13913#(<= rangesum_~i~1 20)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13917#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:41,514 INFO L273 TraceCheckUtils]: 54: Hoare triple {13917#(<= rangesum_~i~1 21)} assume true; {13917#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:41,515 INFO L273 TraceCheckUtils]: 55: Hoare triple {13917#(<= rangesum_~i~1 21)} assume !!(~i~1 < 40); {13917#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:41,515 INFO L273 TraceCheckUtils]: 56: Hoare triple {13917#(<= rangesum_~i~1 21)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {13917#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:41,515 INFO L273 TraceCheckUtils]: 57: Hoare triple {13917#(<= rangesum_~i~1 21)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13930#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:41,516 INFO L273 TraceCheckUtils]: 58: Hoare triple {13930#(<= rangesum_~i~1 22)} assume true; {13930#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:41,516 INFO L273 TraceCheckUtils]: 59: Hoare triple {13930#(<= rangesum_~i~1 22)} assume !!(~i~1 < 40); {13930#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:41,517 INFO L273 TraceCheckUtils]: 60: Hoare triple {13930#(<= rangesum_~i~1 22)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {13930#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:41,520 INFO L273 TraceCheckUtils]: 61: Hoare triple {13930#(<= rangesum_~i~1 22)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13943#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:41,520 INFO L273 TraceCheckUtils]: 62: Hoare triple {13943#(<= rangesum_~i~1 23)} assume true; {13943#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:41,521 INFO L273 TraceCheckUtils]: 63: Hoare triple {13943#(<= rangesum_~i~1 23)} assume !!(~i~1 < 40); {13943#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:41,521 INFO L273 TraceCheckUtils]: 64: Hoare triple {13943#(<= rangesum_~i~1 23)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {13943#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:41,522 INFO L273 TraceCheckUtils]: 65: Hoare triple {13943#(<= rangesum_~i~1 23)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13956#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:49:41,522 INFO L273 TraceCheckUtils]: 66: Hoare triple {13956#(<= rangesum_~i~1 24)} assume true; {13956#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:49:41,522 INFO L273 TraceCheckUtils]: 67: Hoare triple {13956#(<= rangesum_~i~1 24)} assume !!(~i~1 < 40); {13956#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:49:41,522 INFO L273 TraceCheckUtils]: 68: Hoare triple {13956#(<= rangesum_~i~1 24)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {13956#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:49:41,523 INFO L273 TraceCheckUtils]: 69: Hoare triple {13956#(<= rangesum_~i~1 24)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13969#(<= rangesum_~i~1 25)} is VALID [2018-11-14 18:49:41,523 INFO L273 TraceCheckUtils]: 70: Hoare triple {13969#(<= rangesum_~i~1 25)} assume true; {13969#(<= rangesum_~i~1 25)} is VALID [2018-11-14 18:49:41,524 INFO L273 TraceCheckUtils]: 71: Hoare triple {13969#(<= rangesum_~i~1 25)} assume !(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,524 INFO L273 TraceCheckUtils]: 72: Hoare triple {13753#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {13753#false} is VALID [2018-11-14 18:49:41,524 INFO L273 TraceCheckUtils]: 73: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,524 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {13753#false} {13752#true} #87#return; {13753#false} is VALID [2018-11-14 18:49:41,524 INFO L273 TraceCheckUtils]: 75: Hoare triple {13753#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {13753#false} is VALID [2018-11-14 18:49:41,525 INFO L256 TraceCheckUtils]: 76: Hoare triple {13753#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {13753#false} is VALID [2018-11-14 18:49:41,525 INFO L273 TraceCheckUtils]: 77: Hoare triple {13753#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {13753#false} is VALID [2018-11-14 18:49:41,525 INFO L273 TraceCheckUtils]: 78: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,525 INFO L273 TraceCheckUtils]: 79: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,525 INFO L273 TraceCheckUtils]: 80: Hoare triple {13753#false} assume !(~i~1 > 20); {13753#false} is VALID [2018-11-14 18:49:41,526 INFO L273 TraceCheckUtils]: 81: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,526 INFO L273 TraceCheckUtils]: 82: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,526 INFO L273 TraceCheckUtils]: 83: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,526 INFO L273 TraceCheckUtils]: 84: Hoare triple {13753#false} assume !(~i~1 > 20); {13753#false} is VALID [2018-11-14 18:49:41,526 INFO L273 TraceCheckUtils]: 85: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,526 INFO L273 TraceCheckUtils]: 86: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,526 INFO L273 TraceCheckUtils]: 87: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,526 INFO L273 TraceCheckUtils]: 88: Hoare triple {13753#false} assume !(~i~1 > 20); {13753#false} is VALID [2018-11-14 18:49:41,527 INFO L273 TraceCheckUtils]: 89: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,527 INFO L273 TraceCheckUtils]: 90: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,527 INFO L273 TraceCheckUtils]: 91: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,527 INFO L273 TraceCheckUtils]: 92: Hoare triple {13753#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {13753#false} is VALID [2018-11-14 18:49:41,527 INFO L273 TraceCheckUtils]: 93: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,527 INFO L273 TraceCheckUtils]: 94: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,527 INFO L273 TraceCheckUtils]: 95: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,527 INFO L273 TraceCheckUtils]: 96: Hoare triple {13753#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {13753#false} is VALID [2018-11-14 18:49:41,527 INFO L273 TraceCheckUtils]: 97: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,528 INFO L273 TraceCheckUtils]: 98: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,528 INFO L273 TraceCheckUtils]: 99: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,528 INFO L273 TraceCheckUtils]: 100: Hoare triple {13753#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {13753#false} is VALID [2018-11-14 18:49:41,528 INFO L273 TraceCheckUtils]: 101: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,528 INFO L273 TraceCheckUtils]: 102: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,528 INFO L273 TraceCheckUtils]: 103: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,528 INFO L273 TraceCheckUtils]: 104: Hoare triple {13753#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {13753#false} is VALID [2018-11-14 18:49:41,528 INFO L273 TraceCheckUtils]: 105: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,528 INFO L273 TraceCheckUtils]: 106: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,529 INFO L273 TraceCheckUtils]: 107: Hoare triple {13753#false} assume !(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,529 INFO L273 TraceCheckUtils]: 108: Hoare triple {13753#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {13753#false} is VALID [2018-11-14 18:49:41,529 INFO L273 TraceCheckUtils]: 109: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,529 INFO L268 TraceCheckUtils]: 110: Hoare quadruple {13753#false} {13753#false} #89#return; {13753#false} is VALID [2018-11-14 18:49:41,529 INFO L273 TraceCheckUtils]: 111: Hoare triple {13753#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {13753#false} is VALID [2018-11-14 18:49:41,529 INFO L273 TraceCheckUtils]: 112: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,529 INFO L273 TraceCheckUtils]: 113: Hoare triple {13753#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {13753#false} is VALID [2018-11-14 18:49:41,529 INFO L273 TraceCheckUtils]: 114: Hoare triple {13753#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {13753#false} is VALID [2018-11-14 18:49:41,529 INFO L273 TraceCheckUtils]: 115: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,530 INFO L273 TraceCheckUtils]: 116: Hoare triple {13753#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {13753#false} is VALID [2018-11-14 18:49:41,530 INFO L273 TraceCheckUtils]: 117: Hoare triple {13753#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {13753#false} is VALID [2018-11-14 18:49:41,530 INFO L273 TraceCheckUtils]: 118: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,530 INFO L273 TraceCheckUtils]: 119: Hoare triple {13753#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {13753#false} is VALID [2018-11-14 18:49:41,530 INFO L273 TraceCheckUtils]: 120: Hoare triple {13753#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {13753#false} is VALID [2018-11-14 18:49:41,530 INFO L273 TraceCheckUtils]: 121: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,530 INFO L273 TraceCheckUtils]: 122: Hoare triple {13753#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {13753#false} is VALID [2018-11-14 18:49:41,530 INFO L273 TraceCheckUtils]: 123: Hoare triple {13753#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {13753#false} is VALID [2018-11-14 18:49:41,530 INFO L273 TraceCheckUtils]: 124: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,531 INFO L273 TraceCheckUtils]: 125: Hoare triple {13753#false} assume !(~i~2 < 39); {13753#false} is VALID [2018-11-14 18:49:41,531 INFO L273 TraceCheckUtils]: 126: Hoare triple {13753#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {13753#false} is VALID [2018-11-14 18:49:41,531 INFO L256 TraceCheckUtils]: 127: Hoare triple {13753#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {13753#false} is VALID [2018-11-14 18:49:41,531 INFO L273 TraceCheckUtils]: 128: Hoare triple {13753#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {13753#false} is VALID [2018-11-14 18:49:41,531 INFO L273 TraceCheckUtils]: 129: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,531 INFO L273 TraceCheckUtils]: 130: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,531 INFO L273 TraceCheckUtils]: 131: Hoare triple {13753#false} assume !(~i~1 > 20); {13753#false} is VALID [2018-11-14 18:49:41,531 INFO L273 TraceCheckUtils]: 132: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,531 INFO L273 TraceCheckUtils]: 133: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,532 INFO L273 TraceCheckUtils]: 134: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,532 INFO L273 TraceCheckUtils]: 135: Hoare triple {13753#false} assume !(~i~1 > 20); {13753#false} is VALID [2018-11-14 18:49:41,532 INFO L273 TraceCheckUtils]: 136: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,532 INFO L273 TraceCheckUtils]: 137: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,532 INFO L273 TraceCheckUtils]: 138: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,532 INFO L273 TraceCheckUtils]: 139: Hoare triple {13753#false} assume !(~i~1 > 20); {13753#false} is VALID [2018-11-14 18:49:41,532 INFO L273 TraceCheckUtils]: 140: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,532 INFO L273 TraceCheckUtils]: 141: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,533 INFO L273 TraceCheckUtils]: 142: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,533 INFO L273 TraceCheckUtils]: 143: Hoare triple {13753#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {13753#false} is VALID [2018-11-14 18:49:41,533 INFO L273 TraceCheckUtils]: 144: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,533 INFO L273 TraceCheckUtils]: 145: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,533 INFO L273 TraceCheckUtils]: 146: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,533 INFO L273 TraceCheckUtils]: 147: Hoare triple {13753#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {13753#false} is VALID [2018-11-14 18:49:41,533 INFO L273 TraceCheckUtils]: 148: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,533 INFO L273 TraceCheckUtils]: 149: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,533 INFO L273 TraceCheckUtils]: 150: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,534 INFO L273 TraceCheckUtils]: 151: Hoare triple {13753#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {13753#false} is VALID [2018-11-14 18:49:41,534 INFO L273 TraceCheckUtils]: 152: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,534 INFO L273 TraceCheckUtils]: 153: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,534 INFO L273 TraceCheckUtils]: 154: Hoare triple {13753#false} assume !!(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,534 INFO L273 TraceCheckUtils]: 155: Hoare triple {13753#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {13753#false} is VALID [2018-11-14 18:49:41,534 INFO L273 TraceCheckUtils]: 156: Hoare triple {13753#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {13753#false} is VALID [2018-11-14 18:49:41,534 INFO L273 TraceCheckUtils]: 157: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,534 INFO L273 TraceCheckUtils]: 158: Hoare triple {13753#false} assume !(~i~1 < 40); {13753#false} is VALID [2018-11-14 18:49:41,534 INFO L273 TraceCheckUtils]: 159: Hoare triple {13753#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {13753#false} is VALID [2018-11-14 18:49:41,535 INFO L273 TraceCheckUtils]: 160: Hoare triple {13753#false} assume true; {13753#false} is VALID [2018-11-14 18:49:41,535 INFO L268 TraceCheckUtils]: 161: Hoare quadruple {13753#false} {13753#false} #91#return; {13753#false} is VALID [2018-11-14 18:49:41,535 INFO L273 TraceCheckUtils]: 162: Hoare triple {13753#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {13753#false} is VALID [2018-11-14 18:49:41,535 INFO L273 TraceCheckUtils]: 163: Hoare triple {13753#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {13753#false} is VALID [2018-11-14 18:49:41,535 INFO L273 TraceCheckUtils]: 164: Hoare triple {13753#false} assume !false; {13753#false} is VALID [2018-11-14 18:49:41,545 INFO L134 CoverageAnalysis]: Checked inductivity of 1136 backedges. 506 proven. 36 refuted. 0 times theorem prover too weak. 594 trivial. 0 not checked. [2018-11-14 18:49:41,564 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:41,565 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2018-11-14 18:49:41,565 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 165 [2018-11-14 18:49:41,565 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:41,565 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-14 18:49:41,620 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:41,620 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-14 18:49:41,620 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-14 18:49:41,621 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-14 18:49:41,621 INFO L87 Difference]: Start difference. First operand 98 states and 107 transitions. Second operand 8 states. [2018-11-14 18:49:41,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:41,874 INFO L93 Difference]: Finished difference Result 161 states and 183 transitions. [2018-11-14 18:49:41,874 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-14 18:49:41,874 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 165 [2018-11-14 18:49:41,875 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:41,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 18:49:41,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2018-11-14 18:49:41,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 18:49:41,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2018-11-14 18:49:41,877 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 98 transitions. [2018-11-14 18:49:41,965 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:41,967 INFO L225 Difference]: With dead ends: 161 [2018-11-14 18:49:41,967 INFO L226 Difference]: Without dead ends: 104 [2018-11-14 18:49:41,968 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 164 GetRequests, 158 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-14 18:49:41,969 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2018-11-14 18:49:42,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 102. [2018-11-14 18:49:42,001 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:42,001 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand 102 states. [2018-11-14 18:49:42,001 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 102 states. [2018-11-14 18:49:42,002 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 102 states. [2018-11-14 18:49:42,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:42,003 INFO L93 Difference]: Finished difference Result 104 states and 115 transitions. [2018-11-14 18:49:42,003 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 115 transitions. [2018-11-14 18:49:42,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:42,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:42,004 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 104 states. [2018-11-14 18:49:42,004 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 104 states. [2018-11-14 18:49:42,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:42,006 INFO L93 Difference]: Finished difference Result 104 states and 115 transitions. [2018-11-14 18:49:42,006 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 115 transitions. [2018-11-14 18:49:42,006 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:42,006 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:42,006 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:42,006 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:42,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2018-11-14 18:49:42,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 112 transitions. [2018-11-14 18:49:42,008 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 112 transitions. Word has length 165 [2018-11-14 18:49:42,008 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:42,008 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 112 transitions. [2018-11-14 18:49:42,008 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-14 18:49:42,008 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 112 transitions. [2018-11-14 18:49:42,009 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 178 [2018-11-14 18:49:42,009 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:42,009 INFO L375 BasicCegarLoop]: trace histogram [27, 24, 24, 15, 10, 9, 9, 9, 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, 1, 1, 1, 1] [2018-11-14 18:49:42,010 INFO L423 AbstractCegarLoop]: === Iteration 23 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:42,010 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:42,010 INFO L82 PathProgramCache]: Analyzing trace with hash -1186881661, now seen corresponding path program 18 times [2018-11-14 18:49:42,010 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:42,010 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:42,011 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:42,011 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:42,011 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:42,023 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:42,023 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:42,024 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:42,039 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-14 18:49:42,568 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2018-11-14 18:49:42,568 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:42,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:42,620 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:42,919 INFO L256 TraceCheckUtils]: 0: Hoare triple {14809#true} call ULTIMATE.init(); {14809#true} is VALID [2018-11-14 18:49:42,919 INFO L273 TraceCheckUtils]: 1: Hoare triple {14809#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {14809#true} is VALID [2018-11-14 18:49:42,919 INFO L273 TraceCheckUtils]: 2: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,920 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14809#true} {14809#true} #81#return; {14809#true} is VALID [2018-11-14 18:49:42,920 INFO L256 TraceCheckUtils]: 4: Hoare triple {14809#true} call #t~ret12 := main(); {14809#true} is VALID [2018-11-14 18:49:42,920 INFO L273 TraceCheckUtils]: 5: Hoare triple {14809#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {14809#true} is VALID [2018-11-14 18:49:42,920 INFO L256 TraceCheckUtils]: 6: Hoare triple {14809#true} call init_nondet(~#x~0.base, ~#x~0.offset); {14809#true} is VALID [2018-11-14 18:49:42,920 INFO L273 TraceCheckUtils]: 7: Hoare triple {14809#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {14809#true} is VALID [2018-11-14 18:49:42,921 INFO L273 TraceCheckUtils]: 8: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,921 INFO L273 TraceCheckUtils]: 9: Hoare triple {14809#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {14809#true} is VALID [2018-11-14 18:49:42,921 INFO L273 TraceCheckUtils]: 10: Hoare triple {14809#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {14809#true} is VALID [2018-11-14 18:49:42,921 INFO L273 TraceCheckUtils]: 11: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,921 INFO L273 TraceCheckUtils]: 12: Hoare triple {14809#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {14809#true} is VALID [2018-11-14 18:49:42,921 INFO L273 TraceCheckUtils]: 13: Hoare triple {14809#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {14809#true} is VALID [2018-11-14 18:49:42,922 INFO L273 TraceCheckUtils]: 14: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,922 INFO L273 TraceCheckUtils]: 15: Hoare triple {14809#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {14809#true} is VALID [2018-11-14 18:49:42,922 INFO L273 TraceCheckUtils]: 16: Hoare triple {14809#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {14809#true} is VALID [2018-11-14 18:49:42,922 INFO L273 TraceCheckUtils]: 17: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,922 INFO L273 TraceCheckUtils]: 18: Hoare triple {14809#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {14809#true} is VALID [2018-11-14 18:49:42,922 INFO L273 TraceCheckUtils]: 19: Hoare triple {14809#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {14809#true} is VALID [2018-11-14 18:49:42,922 INFO L273 TraceCheckUtils]: 20: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,922 INFO L273 TraceCheckUtils]: 21: Hoare triple {14809#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {14809#true} is VALID [2018-11-14 18:49:42,923 INFO L273 TraceCheckUtils]: 22: Hoare triple {14809#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {14809#true} is VALID [2018-11-14 18:49:42,923 INFO L273 TraceCheckUtils]: 23: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,923 INFO L273 TraceCheckUtils]: 24: Hoare triple {14809#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {14809#true} is VALID [2018-11-14 18:49:42,923 INFO L273 TraceCheckUtils]: 25: Hoare triple {14809#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {14809#true} is VALID [2018-11-14 18:49:42,923 INFO L273 TraceCheckUtils]: 26: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,923 INFO L273 TraceCheckUtils]: 27: Hoare triple {14809#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {14809#true} is VALID [2018-11-14 18:49:42,924 INFO L273 TraceCheckUtils]: 28: Hoare triple {14809#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {14809#true} is VALID [2018-11-14 18:49:42,924 INFO L273 TraceCheckUtils]: 29: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,924 INFO L273 TraceCheckUtils]: 30: Hoare triple {14809#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {14809#true} is VALID [2018-11-14 18:49:42,924 INFO L273 TraceCheckUtils]: 31: Hoare triple {14809#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {14809#true} is VALID [2018-11-14 18:49:42,924 INFO L273 TraceCheckUtils]: 32: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,925 INFO L273 TraceCheckUtils]: 33: Hoare triple {14809#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {14809#true} is VALID [2018-11-14 18:49:42,925 INFO L273 TraceCheckUtils]: 34: Hoare triple {14809#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {14809#true} is VALID [2018-11-14 18:49:42,925 INFO L273 TraceCheckUtils]: 35: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,925 INFO L273 TraceCheckUtils]: 36: Hoare triple {14809#true} assume !(~i~0 < 40); {14809#true} is VALID [2018-11-14 18:49:42,925 INFO L273 TraceCheckUtils]: 37: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,925 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {14809#true} {14809#true} #85#return; {14809#true} is VALID [2018-11-14 18:49:42,926 INFO L273 TraceCheckUtils]: 39: Hoare triple {14809#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {14809#true} is VALID [2018-11-14 18:49:42,926 INFO L256 TraceCheckUtils]: 40: Hoare triple {14809#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {14809#true} is VALID [2018-11-14 18:49:42,926 INFO L273 TraceCheckUtils]: 41: Hoare triple {14809#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {14809#true} is VALID [2018-11-14 18:49:42,926 INFO L273 TraceCheckUtils]: 42: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,926 INFO L273 TraceCheckUtils]: 43: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,926 INFO L273 TraceCheckUtils]: 44: Hoare triple {14809#true} assume !(~i~1 > 20); {14809#true} is VALID [2018-11-14 18:49:42,926 INFO L273 TraceCheckUtils]: 45: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,927 INFO L273 TraceCheckUtils]: 46: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,927 INFO L273 TraceCheckUtils]: 47: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,927 INFO L273 TraceCheckUtils]: 48: Hoare triple {14809#true} assume !(~i~1 > 20); {14809#true} is VALID [2018-11-14 18:49:42,927 INFO L273 TraceCheckUtils]: 49: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,927 INFO L273 TraceCheckUtils]: 50: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,927 INFO L273 TraceCheckUtils]: 51: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,928 INFO L273 TraceCheckUtils]: 52: Hoare triple {14809#true} assume !(~i~1 > 20); {14809#true} is VALID [2018-11-14 18:49:42,928 INFO L273 TraceCheckUtils]: 53: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,928 INFO L273 TraceCheckUtils]: 54: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,928 INFO L273 TraceCheckUtils]: 55: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,928 INFO L273 TraceCheckUtils]: 56: Hoare triple {14809#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14809#true} is VALID [2018-11-14 18:49:42,928 INFO L273 TraceCheckUtils]: 57: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,929 INFO L273 TraceCheckUtils]: 58: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,929 INFO L273 TraceCheckUtils]: 59: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,929 INFO L273 TraceCheckUtils]: 60: Hoare triple {14809#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14809#true} is VALID [2018-11-14 18:49:42,929 INFO L273 TraceCheckUtils]: 61: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,929 INFO L273 TraceCheckUtils]: 62: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,929 INFO L273 TraceCheckUtils]: 63: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,930 INFO L273 TraceCheckUtils]: 64: Hoare triple {14809#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14809#true} is VALID [2018-11-14 18:49:42,930 INFO L273 TraceCheckUtils]: 65: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,930 INFO L273 TraceCheckUtils]: 66: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,930 INFO L273 TraceCheckUtils]: 67: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,930 INFO L273 TraceCheckUtils]: 68: Hoare triple {14809#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14809#true} is VALID [2018-11-14 18:49:42,930 INFO L273 TraceCheckUtils]: 69: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,930 INFO L273 TraceCheckUtils]: 70: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,931 INFO L273 TraceCheckUtils]: 71: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,931 INFO L273 TraceCheckUtils]: 72: Hoare triple {14809#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14809#true} is VALID [2018-11-14 18:49:42,931 INFO L273 TraceCheckUtils]: 73: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,931 INFO L273 TraceCheckUtils]: 74: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,931 INFO L273 TraceCheckUtils]: 75: Hoare triple {14809#true} assume !(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,931 INFO L273 TraceCheckUtils]: 76: Hoare triple {14809#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {14809#true} is VALID [2018-11-14 18:49:42,932 INFO L273 TraceCheckUtils]: 77: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,932 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {14809#true} {14809#true} #87#return; {14809#true} is VALID [2018-11-14 18:49:42,932 INFO L273 TraceCheckUtils]: 79: Hoare triple {14809#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {14809#true} is VALID [2018-11-14 18:49:42,932 INFO L256 TraceCheckUtils]: 80: Hoare triple {14809#true} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {14809#true} is VALID [2018-11-14 18:49:42,932 INFO L273 TraceCheckUtils]: 81: Hoare triple {14809#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {14809#true} is VALID [2018-11-14 18:49:42,932 INFO L273 TraceCheckUtils]: 82: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,933 INFO L273 TraceCheckUtils]: 83: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,933 INFO L273 TraceCheckUtils]: 84: Hoare triple {14809#true} assume !(~i~1 > 20); {14809#true} is VALID [2018-11-14 18:49:42,933 INFO L273 TraceCheckUtils]: 85: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,933 INFO L273 TraceCheckUtils]: 86: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,933 INFO L273 TraceCheckUtils]: 87: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,933 INFO L273 TraceCheckUtils]: 88: Hoare triple {14809#true} assume !(~i~1 > 20); {14809#true} is VALID [2018-11-14 18:49:42,934 INFO L273 TraceCheckUtils]: 89: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,934 INFO L273 TraceCheckUtils]: 90: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,934 INFO L273 TraceCheckUtils]: 91: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,934 INFO L273 TraceCheckUtils]: 92: Hoare triple {14809#true} assume !(~i~1 > 20); {14809#true} is VALID [2018-11-14 18:49:42,934 INFO L273 TraceCheckUtils]: 93: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,934 INFO L273 TraceCheckUtils]: 94: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,934 INFO L273 TraceCheckUtils]: 95: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,935 INFO L273 TraceCheckUtils]: 96: Hoare triple {14809#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14809#true} is VALID [2018-11-14 18:49:42,935 INFO L273 TraceCheckUtils]: 97: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,935 INFO L273 TraceCheckUtils]: 98: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,935 INFO L273 TraceCheckUtils]: 99: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,935 INFO L273 TraceCheckUtils]: 100: Hoare triple {14809#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14809#true} is VALID [2018-11-14 18:49:42,935 INFO L273 TraceCheckUtils]: 101: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,936 INFO L273 TraceCheckUtils]: 102: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,936 INFO L273 TraceCheckUtils]: 103: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,936 INFO L273 TraceCheckUtils]: 104: Hoare triple {14809#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14809#true} is VALID [2018-11-14 18:49:42,936 INFO L273 TraceCheckUtils]: 105: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,936 INFO L273 TraceCheckUtils]: 106: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,936 INFO L273 TraceCheckUtils]: 107: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,937 INFO L273 TraceCheckUtils]: 108: Hoare triple {14809#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14809#true} is VALID [2018-11-14 18:49:42,937 INFO L273 TraceCheckUtils]: 109: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,937 INFO L273 TraceCheckUtils]: 110: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,937 INFO L273 TraceCheckUtils]: 111: Hoare triple {14809#true} assume !!(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,937 INFO L273 TraceCheckUtils]: 112: Hoare triple {14809#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14809#true} is VALID [2018-11-14 18:49:42,937 INFO L273 TraceCheckUtils]: 113: Hoare triple {14809#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14809#true} is VALID [2018-11-14 18:49:42,938 INFO L273 TraceCheckUtils]: 114: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,938 INFO L273 TraceCheckUtils]: 115: Hoare triple {14809#true} assume !(~i~1 < 40); {14809#true} is VALID [2018-11-14 18:49:42,938 INFO L273 TraceCheckUtils]: 116: Hoare triple {14809#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {14809#true} is VALID [2018-11-14 18:49:42,938 INFO L273 TraceCheckUtils]: 117: Hoare triple {14809#true} assume true; {14809#true} is VALID [2018-11-14 18:49:42,938 INFO L268 TraceCheckUtils]: 118: Hoare quadruple {14809#true} {14809#true} #89#return; {14809#true} is VALID [2018-11-14 18:49:42,941 INFO L273 TraceCheckUtils]: 119: Hoare triple {14809#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {15171#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:42,942 INFO L273 TraceCheckUtils]: 120: Hoare triple {15171#(<= main_~i~2 0)} assume true; {15171#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:42,942 INFO L273 TraceCheckUtils]: 121: Hoare triple {15171#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {15171#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:42,944 INFO L273 TraceCheckUtils]: 122: Hoare triple {15171#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {15181#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:42,944 INFO L273 TraceCheckUtils]: 123: Hoare triple {15181#(<= main_~i~2 1)} assume true; {15181#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:42,946 INFO L273 TraceCheckUtils]: 124: Hoare triple {15181#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {15181#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:42,946 INFO L273 TraceCheckUtils]: 125: Hoare triple {15181#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {15191#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:42,948 INFO L273 TraceCheckUtils]: 126: Hoare triple {15191#(<= main_~i~2 2)} assume true; {15191#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:42,948 INFO L273 TraceCheckUtils]: 127: Hoare triple {15191#(<= main_~i~2 2)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {15191#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:42,948 INFO L273 TraceCheckUtils]: 128: Hoare triple {15191#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {15201#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:42,949 INFO L273 TraceCheckUtils]: 129: Hoare triple {15201#(<= main_~i~2 3)} assume true; {15201#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:42,949 INFO L273 TraceCheckUtils]: 130: Hoare triple {15201#(<= main_~i~2 3)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {15201#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:42,949 INFO L273 TraceCheckUtils]: 131: Hoare triple {15201#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {15211#(<= main_~i~2 4)} is VALID [2018-11-14 18:49:42,950 INFO L273 TraceCheckUtils]: 132: Hoare triple {15211#(<= main_~i~2 4)} assume true; {15211#(<= main_~i~2 4)} is VALID [2018-11-14 18:49:42,950 INFO L273 TraceCheckUtils]: 133: Hoare triple {15211#(<= main_~i~2 4)} assume !(~i~2 < 39); {14810#false} is VALID [2018-11-14 18:49:42,950 INFO L273 TraceCheckUtils]: 134: Hoare triple {14810#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {14810#false} is VALID [2018-11-14 18:49:42,950 INFO L256 TraceCheckUtils]: 135: Hoare triple {14810#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {14810#false} is VALID [2018-11-14 18:49:42,951 INFO L273 TraceCheckUtils]: 136: Hoare triple {14810#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {14810#false} is VALID [2018-11-14 18:49:42,951 INFO L273 TraceCheckUtils]: 137: Hoare triple {14810#false} assume true; {14810#false} is VALID [2018-11-14 18:49:42,951 INFO L273 TraceCheckUtils]: 138: Hoare triple {14810#false} assume !!(~i~1 < 40); {14810#false} is VALID [2018-11-14 18:49:42,951 INFO L273 TraceCheckUtils]: 139: Hoare triple {14810#false} assume !(~i~1 > 20); {14810#false} is VALID [2018-11-14 18:49:42,951 INFO L273 TraceCheckUtils]: 140: Hoare triple {14810#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14810#false} is VALID [2018-11-14 18:49:42,951 INFO L273 TraceCheckUtils]: 141: Hoare triple {14810#false} assume true; {14810#false} is VALID [2018-11-14 18:49:42,951 INFO L273 TraceCheckUtils]: 142: Hoare triple {14810#false} assume !!(~i~1 < 40); {14810#false} is VALID [2018-11-14 18:49:42,951 INFO L273 TraceCheckUtils]: 143: Hoare triple {14810#false} assume !(~i~1 > 20); {14810#false} is VALID [2018-11-14 18:49:42,951 INFO L273 TraceCheckUtils]: 144: Hoare triple {14810#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14810#false} is VALID [2018-11-14 18:49:42,952 INFO L273 TraceCheckUtils]: 145: Hoare triple {14810#false} assume true; {14810#false} is VALID [2018-11-14 18:49:42,952 INFO L273 TraceCheckUtils]: 146: Hoare triple {14810#false} assume !!(~i~1 < 40); {14810#false} is VALID [2018-11-14 18:49:42,952 INFO L273 TraceCheckUtils]: 147: Hoare triple {14810#false} assume !(~i~1 > 20); {14810#false} is VALID [2018-11-14 18:49:42,952 INFO L273 TraceCheckUtils]: 148: Hoare triple {14810#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14810#false} is VALID [2018-11-14 18:49:42,952 INFO L273 TraceCheckUtils]: 149: Hoare triple {14810#false} assume true; {14810#false} is VALID [2018-11-14 18:49:42,953 INFO L273 TraceCheckUtils]: 150: Hoare triple {14810#false} assume !!(~i~1 < 40); {14810#false} is VALID [2018-11-14 18:49:42,953 INFO L273 TraceCheckUtils]: 151: Hoare triple {14810#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14810#false} is VALID [2018-11-14 18:49:42,953 INFO L273 TraceCheckUtils]: 152: Hoare triple {14810#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14810#false} is VALID [2018-11-14 18:49:42,953 INFO L273 TraceCheckUtils]: 153: Hoare triple {14810#false} assume true; {14810#false} is VALID [2018-11-14 18:49:42,953 INFO L273 TraceCheckUtils]: 154: Hoare triple {14810#false} assume !!(~i~1 < 40); {14810#false} is VALID [2018-11-14 18:49:42,953 INFO L273 TraceCheckUtils]: 155: Hoare triple {14810#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14810#false} is VALID [2018-11-14 18:49:42,953 INFO L273 TraceCheckUtils]: 156: Hoare triple {14810#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14810#false} is VALID [2018-11-14 18:49:42,953 INFO L273 TraceCheckUtils]: 157: Hoare triple {14810#false} assume true; {14810#false} is VALID [2018-11-14 18:49:42,953 INFO L273 TraceCheckUtils]: 158: Hoare triple {14810#false} assume !!(~i~1 < 40); {14810#false} is VALID [2018-11-14 18:49:42,954 INFO L273 TraceCheckUtils]: 159: Hoare triple {14810#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14810#false} is VALID [2018-11-14 18:49:42,954 INFO L273 TraceCheckUtils]: 160: Hoare triple {14810#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14810#false} is VALID [2018-11-14 18:49:42,954 INFO L273 TraceCheckUtils]: 161: Hoare triple {14810#false} assume true; {14810#false} is VALID [2018-11-14 18:49:42,954 INFO L273 TraceCheckUtils]: 162: Hoare triple {14810#false} assume !!(~i~1 < 40); {14810#false} is VALID [2018-11-14 18:49:42,954 INFO L273 TraceCheckUtils]: 163: Hoare triple {14810#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14810#false} is VALID [2018-11-14 18:49:42,954 INFO L273 TraceCheckUtils]: 164: Hoare triple {14810#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14810#false} is VALID [2018-11-14 18:49:42,954 INFO L273 TraceCheckUtils]: 165: Hoare triple {14810#false} assume true; {14810#false} is VALID [2018-11-14 18:49:42,954 INFO L273 TraceCheckUtils]: 166: Hoare triple {14810#false} assume !!(~i~1 < 40); {14810#false} is VALID [2018-11-14 18:49:42,954 INFO L273 TraceCheckUtils]: 167: Hoare triple {14810#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {14810#false} is VALID [2018-11-14 18:49:42,955 INFO L273 TraceCheckUtils]: 168: Hoare triple {14810#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {14810#false} is VALID [2018-11-14 18:49:42,955 INFO L273 TraceCheckUtils]: 169: Hoare triple {14810#false} assume true; {14810#false} is VALID [2018-11-14 18:49:42,955 INFO L273 TraceCheckUtils]: 170: Hoare triple {14810#false} assume !(~i~1 < 40); {14810#false} is VALID [2018-11-14 18:49:42,955 INFO L273 TraceCheckUtils]: 171: Hoare triple {14810#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {14810#false} is VALID [2018-11-14 18:49:42,955 INFO L273 TraceCheckUtils]: 172: Hoare triple {14810#false} assume true; {14810#false} is VALID [2018-11-14 18:49:42,955 INFO L268 TraceCheckUtils]: 173: Hoare quadruple {14810#false} {14810#false} #91#return; {14810#false} is VALID [2018-11-14 18:49:42,955 INFO L273 TraceCheckUtils]: 174: Hoare triple {14810#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {14810#false} is VALID [2018-11-14 18:49:42,955 INFO L273 TraceCheckUtils]: 175: Hoare triple {14810#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {14810#false} is VALID [2018-11-14 18:49:42,955 INFO L273 TraceCheckUtils]: 176: Hoare triple {14810#false} assume !false; {14810#false} is VALID [2018-11-14 18:49:42,967 INFO L134 CoverageAnalysis]: Checked inductivity of 1418 backedges. 588 proven. 26 refuted. 0 times theorem prover too weak. 804 trivial. 0 not checked. [2018-11-14 18:49:42,987 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:42,988 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2018-11-14 18:49:42,988 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 177 [2018-11-14 18:49:42,988 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:42,988 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-14 18:49:43,039 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:43,040 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-14 18:49:43,040 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-14 18:49:43,040 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 18:49:43,040 INFO L87 Difference]: Start difference. First operand 102 states and 112 transitions. Second operand 7 states. [2018-11-14 18:49:43,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:43,190 INFO L93 Difference]: Finished difference Result 150 states and 167 transitions. [2018-11-14 18:49:43,191 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-14 18:49:43,191 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 177 [2018-11-14 18:49:43,191 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:43,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 18:49:43,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 73 transitions. [2018-11-14 18:49:43,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 18:49:43,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 73 transitions. [2018-11-14 18:49:43,193 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 73 transitions. [2018-11-14 18:49:43,257 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 18:49:43,259 INFO L225 Difference]: With dead ends: 150 [2018-11-14 18:49:43,259 INFO L226 Difference]: Without dead ends: 106 [2018-11-14 18:49:43,260 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 176 GetRequests, 171 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 18:49:43,260 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2018-11-14 18:49:43,338 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 105. [2018-11-14 18:49:43,338 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:43,338 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand 105 states. [2018-11-14 18:49:43,339 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 105 states. [2018-11-14 18:49:43,339 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 105 states. [2018-11-14 18:49:43,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:43,341 INFO L93 Difference]: Finished difference Result 106 states and 116 transitions. [2018-11-14 18:49:43,341 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 116 transitions. [2018-11-14 18:49:43,341 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:43,341 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:43,341 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 106 states. [2018-11-14 18:49:43,342 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 106 states. [2018-11-14 18:49:43,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:43,343 INFO L93 Difference]: Finished difference Result 106 states and 116 transitions. [2018-11-14 18:49:43,344 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 116 transitions. [2018-11-14 18:49:43,344 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:43,344 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:43,344 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:43,344 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:43,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 105 states. [2018-11-14 18:49:43,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 115 transitions. [2018-11-14 18:49:43,346 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 115 transitions. Word has length 177 [2018-11-14 18:49:43,347 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:43,347 INFO L480 AbstractCegarLoop]: Abstraction has 105 states and 115 transitions. [2018-11-14 18:49:43,347 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-14 18:49:43,347 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 115 transitions. [2018-11-14 18:49:43,348 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 181 [2018-11-14 18:49:43,348 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:43,348 INFO L375 BasicCegarLoop]: trace histogram [27, 24, 24, 15, 10, 9, 9, 9, 6, 5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:43,349 INFO L423 AbstractCegarLoop]: === Iteration 24 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:43,349 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:43,349 INFO L82 PathProgramCache]: Analyzing trace with hash 385459302, now seen corresponding path program 19 times [2018-11-14 18:49:43,349 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:43,349 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:43,350 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:43,350 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:43,350 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:43,361 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:43,362 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:43,362 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:43,377 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:43,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:43,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:43,463 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:43,960 INFO L256 TraceCheckUtils]: 0: Hoare triple {15894#true} call ULTIMATE.init(); {15894#true} is VALID [2018-11-14 18:49:43,960 INFO L273 TraceCheckUtils]: 1: Hoare triple {15894#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {15894#true} is VALID [2018-11-14 18:49:43,960 INFO L273 TraceCheckUtils]: 2: Hoare triple {15894#true} assume true; {15894#true} is VALID [2018-11-14 18:49:43,961 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15894#true} {15894#true} #81#return; {15894#true} is VALID [2018-11-14 18:49:43,961 INFO L256 TraceCheckUtils]: 4: Hoare triple {15894#true} call #t~ret12 := main(); {15894#true} is VALID [2018-11-14 18:49:43,961 INFO L273 TraceCheckUtils]: 5: Hoare triple {15894#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {15894#true} is VALID [2018-11-14 18:49:43,961 INFO L256 TraceCheckUtils]: 6: Hoare triple {15894#true} call init_nondet(~#x~0.base, ~#x~0.offset); {15894#true} is VALID [2018-11-14 18:49:43,962 INFO L273 TraceCheckUtils]: 7: Hoare triple {15894#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {15920#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:43,962 INFO L273 TraceCheckUtils]: 8: Hoare triple {15920#(<= init_nondet_~i~0 0)} assume true; {15920#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:43,962 INFO L273 TraceCheckUtils]: 9: Hoare triple {15920#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {15920#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:43,963 INFO L273 TraceCheckUtils]: 10: Hoare triple {15920#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {15930#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:43,963 INFO L273 TraceCheckUtils]: 11: Hoare triple {15930#(<= init_nondet_~i~0 1)} assume true; {15930#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:43,963 INFO L273 TraceCheckUtils]: 12: Hoare triple {15930#(<= init_nondet_~i~0 1)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {15930#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:43,964 INFO L273 TraceCheckUtils]: 13: Hoare triple {15930#(<= init_nondet_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {15940#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:43,964 INFO L273 TraceCheckUtils]: 14: Hoare triple {15940#(<= init_nondet_~i~0 2)} assume true; {15940#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:43,965 INFO L273 TraceCheckUtils]: 15: Hoare triple {15940#(<= init_nondet_~i~0 2)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {15940#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:43,965 INFO L273 TraceCheckUtils]: 16: Hoare triple {15940#(<= init_nondet_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {15950#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:43,966 INFO L273 TraceCheckUtils]: 17: Hoare triple {15950#(<= init_nondet_~i~0 3)} assume true; {15950#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:43,966 INFO L273 TraceCheckUtils]: 18: Hoare triple {15950#(<= init_nondet_~i~0 3)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {15950#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:43,967 INFO L273 TraceCheckUtils]: 19: Hoare triple {15950#(<= init_nondet_~i~0 3)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {15960#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:43,968 INFO L273 TraceCheckUtils]: 20: Hoare triple {15960#(<= init_nondet_~i~0 4)} assume true; {15960#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:43,968 INFO L273 TraceCheckUtils]: 21: Hoare triple {15960#(<= init_nondet_~i~0 4)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {15960#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:43,969 INFO L273 TraceCheckUtils]: 22: Hoare triple {15960#(<= init_nondet_~i~0 4)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {15970#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:43,969 INFO L273 TraceCheckUtils]: 23: Hoare triple {15970#(<= init_nondet_~i~0 5)} assume true; {15970#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:43,970 INFO L273 TraceCheckUtils]: 24: Hoare triple {15970#(<= init_nondet_~i~0 5)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {15970#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:43,971 INFO L273 TraceCheckUtils]: 25: Hoare triple {15970#(<= init_nondet_~i~0 5)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {15980#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:43,971 INFO L273 TraceCheckUtils]: 26: Hoare triple {15980#(<= init_nondet_~i~0 6)} assume true; {15980#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:43,972 INFO L273 TraceCheckUtils]: 27: Hoare triple {15980#(<= init_nondet_~i~0 6)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {15980#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:43,973 INFO L273 TraceCheckUtils]: 28: Hoare triple {15980#(<= init_nondet_~i~0 6)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {15990#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:43,973 INFO L273 TraceCheckUtils]: 29: Hoare triple {15990#(<= init_nondet_~i~0 7)} assume true; {15990#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:43,974 INFO L273 TraceCheckUtils]: 30: Hoare triple {15990#(<= init_nondet_~i~0 7)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {15990#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:43,974 INFO L273 TraceCheckUtils]: 31: Hoare triple {15990#(<= init_nondet_~i~0 7)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {16000#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:43,975 INFO L273 TraceCheckUtils]: 32: Hoare triple {16000#(<= init_nondet_~i~0 8)} assume true; {16000#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:43,975 INFO L273 TraceCheckUtils]: 33: Hoare triple {16000#(<= init_nondet_~i~0 8)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {16000#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:43,976 INFO L273 TraceCheckUtils]: 34: Hoare triple {16000#(<= init_nondet_~i~0 8)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {16010#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:43,977 INFO L273 TraceCheckUtils]: 35: Hoare triple {16010#(<= init_nondet_~i~0 9)} assume true; {16010#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:43,977 INFO L273 TraceCheckUtils]: 36: Hoare triple {16010#(<= init_nondet_~i~0 9)} assume !(~i~0 < 40); {15895#false} is VALID [2018-11-14 18:49:43,978 INFO L273 TraceCheckUtils]: 37: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,978 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {15895#false} {15894#true} #85#return; {15895#false} is VALID [2018-11-14 18:49:43,978 INFO L273 TraceCheckUtils]: 39: Hoare triple {15895#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {15895#false} is VALID [2018-11-14 18:49:43,978 INFO L256 TraceCheckUtils]: 40: Hoare triple {15895#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {15895#false} is VALID [2018-11-14 18:49:43,978 INFO L273 TraceCheckUtils]: 41: Hoare triple {15895#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {15895#false} is VALID [2018-11-14 18:49:43,979 INFO L273 TraceCheckUtils]: 42: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,979 INFO L273 TraceCheckUtils]: 43: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,979 INFO L273 TraceCheckUtils]: 44: Hoare triple {15895#false} assume !(~i~1 > 20); {15895#false} is VALID [2018-11-14 18:49:43,979 INFO L273 TraceCheckUtils]: 45: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,979 INFO L273 TraceCheckUtils]: 46: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,979 INFO L273 TraceCheckUtils]: 47: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,980 INFO L273 TraceCheckUtils]: 48: Hoare triple {15895#false} assume !(~i~1 > 20); {15895#false} is VALID [2018-11-14 18:49:43,980 INFO L273 TraceCheckUtils]: 49: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,980 INFO L273 TraceCheckUtils]: 50: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,980 INFO L273 TraceCheckUtils]: 51: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,980 INFO L273 TraceCheckUtils]: 52: Hoare triple {15895#false} assume !(~i~1 > 20); {15895#false} is VALID [2018-11-14 18:49:43,980 INFO L273 TraceCheckUtils]: 53: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,980 INFO L273 TraceCheckUtils]: 54: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,980 INFO L273 TraceCheckUtils]: 55: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,980 INFO L273 TraceCheckUtils]: 56: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:43,981 INFO L273 TraceCheckUtils]: 57: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,981 INFO L273 TraceCheckUtils]: 58: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,981 INFO L273 TraceCheckUtils]: 59: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,981 INFO L273 TraceCheckUtils]: 60: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:43,981 INFO L273 TraceCheckUtils]: 61: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,981 INFO L273 TraceCheckUtils]: 62: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,981 INFO L273 TraceCheckUtils]: 63: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,981 INFO L273 TraceCheckUtils]: 64: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:43,981 INFO L273 TraceCheckUtils]: 65: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,982 INFO L273 TraceCheckUtils]: 66: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,982 INFO L273 TraceCheckUtils]: 67: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,982 INFO L273 TraceCheckUtils]: 68: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:43,982 INFO L273 TraceCheckUtils]: 69: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,982 INFO L273 TraceCheckUtils]: 70: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,982 INFO L273 TraceCheckUtils]: 71: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,982 INFO L273 TraceCheckUtils]: 72: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:43,982 INFO L273 TraceCheckUtils]: 73: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,982 INFO L273 TraceCheckUtils]: 74: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,983 INFO L273 TraceCheckUtils]: 75: Hoare triple {15895#false} assume !(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,983 INFO L273 TraceCheckUtils]: 76: Hoare triple {15895#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {15895#false} is VALID [2018-11-14 18:49:43,983 INFO L273 TraceCheckUtils]: 77: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,983 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {15895#false} {15895#false} #87#return; {15895#false} is VALID [2018-11-14 18:49:43,983 INFO L273 TraceCheckUtils]: 79: Hoare triple {15895#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {15895#false} is VALID [2018-11-14 18:49:43,983 INFO L256 TraceCheckUtils]: 80: Hoare triple {15895#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {15895#false} is VALID [2018-11-14 18:49:43,983 INFO L273 TraceCheckUtils]: 81: Hoare triple {15895#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {15895#false} is VALID [2018-11-14 18:49:43,983 INFO L273 TraceCheckUtils]: 82: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,983 INFO L273 TraceCheckUtils]: 83: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,984 INFO L273 TraceCheckUtils]: 84: Hoare triple {15895#false} assume !(~i~1 > 20); {15895#false} is VALID [2018-11-14 18:49:43,984 INFO L273 TraceCheckUtils]: 85: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,984 INFO L273 TraceCheckUtils]: 86: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,984 INFO L273 TraceCheckUtils]: 87: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,984 INFO L273 TraceCheckUtils]: 88: Hoare triple {15895#false} assume !(~i~1 > 20); {15895#false} is VALID [2018-11-14 18:49:43,984 INFO L273 TraceCheckUtils]: 89: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,984 INFO L273 TraceCheckUtils]: 90: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,984 INFO L273 TraceCheckUtils]: 91: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,984 INFO L273 TraceCheckUtils]: 92: Hoare triple {15895#false} assume !(~i~1 > 20); {15895#false} is VALID [2018-11-14 18:49:43,985 INFO L273 TraceCheckUtils]: 93: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,985 INFO L273 TraceCheckUtils]: 94: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,985 INFO L273 TraceCheckUtils]: 95: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,985 INFO L273 TraceCheckUtils]: 96: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:43,985 INFO L273 TraceCheckUtils]: 97: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,985 INFO L273 TraceCheckUtils]: 98: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,985 INFO L273 TraceCheckUtils]: 99: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,985 INFO L273 TraceCheckUtils]: 100: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:43,986 INFO L273 TraceCheckUtils]: 101: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,986 INFO L273 TraceCheckUtils]: 102: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,986 INFO L273 TraceCheckUtils]: 103: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,986 INFO L273 TraceCheckUtils]: 104: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:43,986 INFO L273 TraceCheckUtils]: 105: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,986 INFO L273 TraceCheckUtils]: 106: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,986 INFO L273 TraceCheckUtils]: 107: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,986 INFO L273 TraceCheckUtils]: 108: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:43,986 INFO L273 TraceCheckUtils]: 109: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,987 INFO L273 TraceCheckUtils]: 110: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,987 INFO L273 TraceCheckUtils]: 111: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,987 INFO L273 TraceCheckUtils]: 112: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:43,987 INFO L273 TraceCheckUtils]: 113: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,987 INFO L273 TraceCheckUtils]: 114: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,987 INFO L273 TraceCheckUtils]: 115: Hoare triple {15895#false} assume !(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,987 INFO L273 TraceCheckUtils]: 116: Hoare triple {15895#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {15895#false} is VALID [2018-11-14 18:49:43,987 INFO L273 TraceCheckUtils]: 117: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,988 INFO L268 TraceCheckUtils]: 118: Hoare quadruple {15895#false} {15895#false} #89#return; {15895#false} is VALID [2018-11-14 18:49:43,988 INFO L273 TraceCheckUtils]: 119: Hoare triple {15895#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {15895#false} is VALID [2018-11-14 18:49:43,988 INFO L273 TraceCheckUtils]: 120: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,988 INFO L273 TraceCheckUtils]: 121: Hoare triple {15895#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {15895#false} is VALID [2018-11-14 18:49:43,988 INFO L273 TraceCheckUtils]: 122: Hoare triple {15895#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {15895#false} is VALID [2018-11-14 18:49:43,988 INFO L273 TraceCheckUtils]: 123: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,988 INFO L273 TraceCheckUtils]: 124: Hoare triple {15895#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {15895#false} is VALID [2018-11-14 18:49:43,988 INFO L273 TraceCheckUtils]: 125: Hoare triple {15895#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {15895#false} is VALID [2018-11-14 18:49:43,989 INFO L273 TraceCheckUtils]: 126: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,989 INFO L273 TraceCheckUtils]: 127: Hoare triple {15895#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {15895#false} is VALID [2018-11-14 18:49:43,989 INFO L273 TraceCheckUtils]: 128: Hoare triple {15895#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {15895#false} is VALID [2018-11-14 18:49:43,989 INFO L273 TraceCheckUtils]: 129: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,989 INFO L273 TraceCheckUtils]: 130: Hoare triple {15895#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {15895#false} is VALID [2018-11-14 18:49:43,989 INFO L273 TraceCheckUtils]: 131: Hoare triple {15895#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {15895#false} is VALID [2018-11-14 18:49:43,989 INFO L273 TraceCheckUtils]: 132: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,989 INFO L273 TraceCheckUtils]: 133: Hoare triple {15895#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {15895#false} is VALID [2018-11-14 18:49:43,989 INFO L273 TraceCheckUtils]: 134: Hoare triple {15895#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {15895#false} is VALID [2018-11-14 18:49:43,990 INFO L273 TraceCheckUtils]: 135: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,990 INFO L273 TraceCheckUtils]: 136: Hoare triple {15895#false} assume !(~i~2 < 39); {15895#false} is VALID [2018-11-14 18:49:43,990 INFO L273 TraceCheckUtils]: 137: Hoare triple {15895#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {15895#false} is VALID [2018-11-14 18:49:43,990 INFO L256 TraceCheckUtils]: 138: Hoare triple {15895#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {15895#false} is VALID [2018-11-14 18:49:43,990 INFO L273 TraceCheckUtils]: 139: Hoare triple {15895#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {15895#false} is VALID [2018-11-14 18:49:43,990 INFO L273 TraceCheckUtils]: 140: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,990 INFO L273 TraceCheckUtils]: 141: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,990 INFO L273 TraceCheckUtils]: 142: Hoare triple {15895#false} assume !(~i~1 > 20); {15895#false} is VALID [2018-11-14 18:49:43,990 INFO L273 TraceCheckUtils]: 143: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,991 INFO L273 TraceCheckUtils]: 144: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,991 INFO L273 TraceCheckUtils]: 145: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,991 INFO L273 TraceCheckUtils]: 146: Hoare triple {15895#false} assume !(~i~1 > 20); {15895#false} is VALID [2018-11-14 18:49:43,991 INFO L273 TraceCheckUtils]: 147: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,991 INFO L273 TraceCheckUtils]: 148: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,991 INFO L273 TraceCheckUtils]: 149: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,991 INFO L273 TraceCheckUtils]: 150: Hoare triple {15895#false} assume !(~i~1 > 20); {15895#false} is VALID [2018-11-14 18:49:43,991 INFO L273 TraceCheckUtils]: 151: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,991 INFO L273 TraceCheckUtils]: 152: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,992 INFO L273 TraceCheckUtils]: 153: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:43,992 INFO L273 TraceCheckUtils]: 154: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:43,992 INFO L273 TraceCheckUtils]: 155: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:43,992 INFO L273 TraceCheckUtils]: 156: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:43,992 INFO L273 TraceCheckUtils]: 157: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:44,008 INFO L273 TraceCheckUtils]: 158: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:44,008 INFO L273 TraceCheckUtils]: 159: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:44,009 INFO L273 TraceCheckUtils]: 160: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:44,009 INFO L273 TraceCheckUtils]: 161: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:44,009 INFO L273 TraceCheckUtils]: 162: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:44,009 INFO L273 TraceCheckUtils]: 163: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:44,009 INFO L273 TraceCheckUtils]: 164: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:44,009 INFO L273 TraceCheckUtils]: 165: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:44,009 INFO L273 TraceCheckUtils]: 166: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:44,010 INFO L273 TraceCheckUtils]: 167: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:44,010 INFO L273 TraceCheckUtils]: 168: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:44,010 INFO L273 TraceCheckUtils]: 169: Hoare triple {15895#false} assume !!(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:44,010 INFO L273 TraceCheckUtils]: 170: Hoare triple {15895#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {15895#false} is VALID [2018-11-14 18:49:44,010 INFO L273 TraceCheckUtils]: 171: Hoare triple {15895#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {15895#false} is VALID [2018-11-14 18:49:44,010 INFO L273 TraceCheckUtils]: 172: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:44,011 INFO L273 TraceCheckUtils]: 173: Hoare triple {15895#false} assume !(~i~1 < 40); {15895#false} is VALID [2018-11-14 18:49:44,011 INFO L273 TraceCheckUtils]: 174: Hoare triple {15895#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {15895#false} is VALID [2018-11-14 18:49:44,011 INFO L273 TraceCheckUtils]: 175: Hoare triple {15895#false} assume true; {15895#false} is VALID [2018-11-14 18:49:44,011 INFO L268 TraceCheckUtils]: 176: Hoare quadruple {15895#false} {15895#false} #91#return; {15895#false} is VALID [2018-11-14 18:49:44,011 INFO L273 TraceCheckUtils]: 177: Hoare triple {15895#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {15895#false} is VALID [2018-11-14 18:49:44,012 INFO L273 TraceCheckUtils]: 178: Hoare triple {15895#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {15895#false} is VALID [2018-11-14 18:49:44,012 INFO L273 TraceCheckUtils]: 179: Hoare triple {15895#false} assume !false; {15895#false} is VALID [2018-11-14 18:49:44,024 INFO L134 CoverageAnalysis]: Checked inductivity of 1432 backedges. 0 proven. 126 refuted. 0 times theorem prover too weak. 1306 trivial. 0 not checked. [2018-11-14 18:49:44,043 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:44,043 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2018-11-14 18:49:44,044 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 180 [2018-11-14 18:49:44,044 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:44,044 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-14 18:49:44,108 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:44,108 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-14 18:49:44,108 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-14 18:49:44,108 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-14 18:49:44,109 INFO L87 Difference]: Start difference. First operand 105 states and 115 transitions. Second operand 12 states. [2018-11-14 18:49:44,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:44,325 INFO L93 Difference]: Finished difference Result 177 states and 197 transitions. [2018-11-14 18:49:44,325 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-14 18:49:44,325 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 180 [2018-11-14 18:49:44,325 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:44,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-14 18:49:44,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 101 transitions. [2018-11-14 18:49:44,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-14 18:49:44,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 101 transitions. [2018-11-14 18:49:44,328 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 101 transitions. [2018-11-14 18:49:44,434 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:44,436 INFO L225 Difference]: With dead ends: 177 [2018-11-14 18:49:44,437 INFO L226 Difference]: Without dead ends: 109 [2018-11-14 18:49:44,437 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 169 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-14 18:49:44,438 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-11-14 18:49:44,481 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 108. [2018-11-14 18:49:44,481 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:44,481 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand 108 states. [2018-11-14 18:49:44,481 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand 108 states. [2018-11-14 18:49:44,481 INFO L87 Difference]: Start difference. First operand 109 states. Second operand 108 states. [2018-11-14 18:49:44,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:44,483 INFO L93 Difference]: Finished difference Result 109 states and 119 transitions. [2018-11-14 18:49:44,483 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 119 transitions. [2018-11-14 18:49:44,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:44,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:44,484 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand 109 states. [2018-11-14 18:49:44,484 INFO L87 Difference]: Start difference. First operand 108 states. Second operand 109 states. [2018-11-14 18:49:44,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:44,486 INFO L93 Difference]: Finished difference Result 109 states and 119 transitions. [2018-11-14 18:49:44,486 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 119 transitions. [2018-11-14 18:49:44,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:44,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:44,486 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:44,487 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:44,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 108 states. [2018-11-14 18:49:44,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 118 transitions. [2018-11-14 18:49:44,489 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 118 transitions. Word has length 180 [2018-11-14 18:49:44,489 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:44,489 INFO L480 AbstractCegarLoop]: Abstraction has 108 states and 118 transitions. [2018-11-14 18:49:44,489 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-14 18:49:44,489 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 118 transitions. [2018-11-14 18:49:44,490 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 184 [2018-11-14 18:49:44,490 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:44,491 INFO L375 BasicCegarLoop]: trace histogram [27, 24, 24, 15, 11, 10, 10, 9, 6, 5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:44,491 INFO L423 AbstractCegarLoop]: === Iteration 25 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:44,491 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:44,491 INFO L82 PathProgramCache]: Analyzing trace with hash -1853418932, now seen corresponding path program 20 times [2018-11-14 18:49:44,491 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:44,492 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:44,492 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:44,492 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:44,492 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:44,503 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:44,503 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:44,503 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:44,519 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:49:44,579 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:49:44,579 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:44,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:44,608 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:44,894 INFO L256 TraceCheckUtils]: 0: Hoare triple {17039#true} call ULTIMATE.init(); {17039#true} is VALID [2018-11-14 18:49:44,895 INFO L273 TraceCheckUtils]: 1: Hoare triple {17039#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {17039#true} is VALID [2018-11-14 18:49:44,895 INFO L273 TraceCheckUtils]: 2: Hoare triple {17039#true} assume true; {17039#true} is VALID [2018-11-14 18:49:44,895 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17039#true} {17039#true} #81#return; {17039#true} is VALID [2018-11-14 18:49:44,895 INFO L256 TraceCheckUtils]: 4: Hoare triple {17039#true} call #t~ret12 := main(); {17039#true} is VALID [2018-11-14 18:49:44,895 INFO L273 TraceCheckUtils]: 5: Hoare triple {17039#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {17039#true} is VALID [2018-11-14 18:49:44,896 INFO L256 TraceCheckUtils]: 6: Hoare triple {17039#true} call init_nondet(~#x~0.base, ~#x~0.offset); {17039#true} is VALID [2018-11-14 18:49:44,896 INFO L273 TraceCheckUtils]: 7: Hoare triple {17039#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {17065#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:44,897 INFO L273 TraceCheckUtils]: 8: Hoare triple {17065#(<= init_nondet_~i~0 0)} assume true; {17065#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:44,897 INFO L273 TraceCheckUtils]: 9: Hoare triple {17065#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {17065#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:44,898 INFO L273 TraceCheckUtils]: 10: Hoare triple {17065#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {17075#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:44,898 INFO L273 TraceCheckUtils]: 11: Hoare triple {17075#(<= init_nondet_~i~0 1)} assume true; {17075#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:44,898 INFO L273 TraceCheckUtils]: 12: Hoare triple {17075#(<= init_nondet_~i~0 1)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {17075#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:44,899 INFO L273 TraceCheckUtils]: 13: Hoare triple {17075#(<= init_nondet_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {17085#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:44,899 INFO L273 TraceCheckUtils]: 14: Hoare triple {17085#(<= init_nondet_~i~0 2)} assume true; {17085#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:44,900 INFO L273 TraceCheckUtils]: 15: Hoare triple {17085#(<= init_nondet_~i~0 2)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {17085#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:44,900 INFO L273 TraceCheckUtils]: 16: Hoare triple {17085#(<= init_nondet_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {17095#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:44,901 INFO L273 TraceCheckUtils]: 17: Hoare triple {17095#(<= init_nondet_~i~0 3)} assume true; {17095#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:44,901 INFO L273 TraceCheckUtils]: 18: Hoare triple {17095#(<= init_nondet_~i~0 3)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {17095#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:44,902 INFO L273 TraceCheckUtils]: 19: Hoare triple {17095#(<= init_nondet_~i~0 3)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {17105#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:44,903 INFO L273 TraceCheckUtils]: 20: Hoare triple {17105#(<= init_nondet_~i~0 4)} assume true; {17105#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:44,903 INFO L273 TraceCheckUtils]: 21: Hoare triple {17105#(<= init_nondet_~i~0 4)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {17105#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:44,904 INFO L273 TraceCheckUtils]: 22: Hoare triple {17105#(<= init_nondet_~i~0 4)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {17115#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:44,905 INFO L273 TraceCheckUtils]: 23: Hoare triple {17115#(<= init_nondet_~i~0 5)} assume true; {17115#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:44,905 INFO L273 TraceCheckUtils]: 24: Hoare triple {17115#(<= init_nondet_~i~0 5)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {17115#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:44,906 INFO L273 TraceCheckUtils]: 25: Hoare triple {17115#(<= init_nondet_~i~0 5)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {17125#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:44,906 INFO L273 TraceCheckUtils]: 26: Hoare triple {17125#(<= init_nondet_~i~0 6)} assume true; {17125#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:44,907 INFO L273 TraceCheckUtils]: 27: Hoare triple {17125#(<= init_nondet_~i~0 6)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {17125#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:44,908 INFO L273 TraceCheckUtils]: 28: Hoare triple {17125#(<= init_nondet_~i~0 6)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {17135#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:44,908 INFO L273 TraceCheckUtils]: 29: Hoare triple {17135#(<= init_nondet_~i~0 7)} assume true; {17135#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:44,909 INFO L273 TraceCheckUtils]: 30: Hoare triple {17135#(<= init_nondet_~i~0 7)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {17135#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:44,930 INFO L273 TraceCheckUtils]: 31: Hoare triple {17135#(<= init_nondet_~i~0 7)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {17145#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:44,937 INFO L273 TraceCheckUtils]: 32: Hoare triple {17145#(<= init_nondet_~i~0 8)} assume true; {17145#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:44,937 INFO L273 TraceCheckUtils]: 33: Hoare triple {17145#(<= init_nondet_~i~0 8)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {17145#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:44,943 INFO L273 TraceCheckUtils]: 34: Hoare triple {17145#(<= init_nondet_~i~0 8)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {17155#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:44,944 INFO L273 TraceCheckUtils]: 35: Hoare triple {17155#(<= init_nondet_~i~0 9)} assume true; {17155#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:44,944 INFO L273 TraceCheckUtils]: 36: Hoare triple {17155#(<= init_nondet_~i~0 9)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {17155#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:44,944 INFO L273 TraceCheckUtils]: 37: Hoare triple {17155#(<= init_nondet_~i~0 9)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {17165#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:49:44,945 INFO L273 TraceCheckUtils]: 38: Hoare triple {17165#(<= init_nondet_~i~0 10)} assume true; {17165#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:49:44,945 INFO L273 TraceCheckUtils]: 39: Hoare triple {17165#(<= init_nondet_~i~0 10)} assume !(~i~0 < 40); {17040#false} is VALID [2018-11-14 18:49:44,945 INFO L273 TraceCheckUtils]: 40: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,945 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {17040#false} {17039#true} #85#return; {17040#false} is VALID [2018-11-14 18:49:44,945 INFO L273 TraceCheckUtils]: 42: Hoare triple {17040#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {17040#false} is VALID [2018-11-14 18:49:44,946 INFO L256 TraceCheckUtils]: 43: Hoare triple {17040#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {17040#false} is VALID [2018-11-14 18:49:44,946 INFO L273 TraceCheckUtils]: 44: Hoare triple {17040#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {17040#false} is VALID [2018-11-14 18:49:44,946 INFO L273 TraceCheckUtils]: 45: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,946 INFO L273 TraceCheckUtils]: 46: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,946 INFO L273 TraceCheckUtils]: 47: Hoare triple {17040#false} assume !(~i~1 > 20); {17040#false} is VALID [2018-11-14 18:49:44,946 INFO L273 TraceCheckUtils]: 48: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,946 INFO L273 TraceCheckUtils]: 49: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,946 INFO L273 TraceCheckUtils]: 50: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,946 INFO L273 TraceCheckUtils]: 51: Hoare triple {17040#false} assume !(~i~1 > 20); {17040#false} is VALID [2018-11-14 18:49:44,947 INFO L273 TraceCheckUtils]: 52: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,947 INFO L273 TraceCheckUtils]: 53: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,947 INFO L273 TraceCheckUtils]: 54: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,947 INFO L273 TraceCheckUtils]: 55: Hoare triple {17040#false} assume !(~i~1 > 20); {17040#false} is VALID [2018-11-14 18:49:44,947 INFO L273 TraceCheckUtils]: 56: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,947 INFO L273 TraceCheckUtils]: 57: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,947 INFO L273 TraceCheckUtils]: 58: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,947 INFO L273 TraceCheckUtils]: 59: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,948 INFO L273 TraceCheckUtils]: 60: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,948 INFO L273 TraceCheckUtils]: 61: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,948 INFO L273 TraceCheckUtils]: 62: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,948 INFO L273 TraceCheckUtils]: 63: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,948 INFO L273 TraceCheckUtils]: 64: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,948 INFO L273 TraceCheckUtils]: 65: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,948 INFO L273 TraceCheckUtils]: 66: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,948 INFO L273 TraceCheckUtils]: 67: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,948 INFO L273 TraceCheckUtils]: 68: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,949 INFO L273 TraceCheckUtils]: 69: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,949 INFO L273 TraceCheckUtils]: 70: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,949 INFO L273 TraceCheckUtils]: 71: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,949 INFO L273 TraceCheckUtils]: 72: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,949 INFO L273 TraceCheckUtils]: 73: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,949 INFO L273 TraceCheckUtils]: 74: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,949 INFO L273 TraceCheckUtils]: 75: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,949 INFO L273 TraceCheckUtils]: 76: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,949 INFO L273 TraceCheckUtils]: 77: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,950 INFO L273 TraceCheckUtils]: 78: Hoare triple {17040#false} assume !(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,950 INFO L273 TraceCheckUtils]: 79: Hoare triple {17040#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {17040#false} is VALID [2018-11-14 18:49:44,950 INFO L273 TraceCheckUtils]: 80: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,950 INFO L268 TraceCheckUtils]: 81: Hoare quadruple {17040#false} {17040#false} #87#return; {17040#false} is VALID [2018-11-14 18:49:44,950 INFO L273 TraceCheckUtils]: 82: Hoare triple {17040#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {17040#false} is VALID [2018-11-14 18:49:44,950 INFO L256 TraceCheckUtils]: 83: Hoare triple {17040#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {17040#false} is VALID [2018-11-14 18:49:44,950 INFO L273 TraceCheckUtils]: 84: Hoare triple {17040#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {17040#false} is VALID [2018-11-14 18:49:44,950 INFO L273 TraceCheckUtils]: 85: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,950 INFO L273 TraceCheckUtils]: 86: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,951 INFO L273 TraceCheckUtils]: 87: Hoare triple {17040#false} assume !(~i~1 > 20); {17040#false} is VALID [2018-11-14 18:49:44,951 INFO L273 TraceCheckUtils]: 88: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,951 INFO L273 TraceCheckUtils]: 89: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,951 INFO L273 TraceCheckUtils]: 90: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,951 INFO L273 TraceCheckUtils]: 91: Hoare triple {17040#false} assume !(~i~1 > 20); {17040#false} is VALID [2018-11-14 18:49:44,951 INFO L273 TraceCheckUtils]: 92: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,951 INFO L273 TraceCheckUtils]: 93: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,951 INFO L273 TraceCheckUtils]: 94: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,952 INFO L273 TraceCheckUtils]: 95: Hoare triple {17040#false} assume !(~i~1 > 20); {17040#false} is VALID [2018-11-14 18:49:44,952 INFO L273 TraceCheckUtils]: 96: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,952 INFO L273 TraceCheckUtils]: 97: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,952 INFO L273 TraceCheckUtils]: 98: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,952 INFO L273 TraceCheckUtils]: 99: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,952 INFO L273 TraceCheckUtils]: 100: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,953 INFO L273 TraceCheckUtils]: 101: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,953 INFO L273 TraceCheckUtils]: 102: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,953 INFO L273 TraceCheckUtils]: 103: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,953 INFO L273 TraceCheckUtils]: 104: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,953 INFO L273 TraceCheckUtils]: 105: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,953 INFO L273 TraceCheckUtils]: 106: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,954 INFO L273 TraceCheckUtils]: 107: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,954 INFO L273 TraceCheckUtils]: 108: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,954 INFO L273 TraceCheckUtils]: 109: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,954 INFO L273 TraceCheckUtils]: 110: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,954 INFO L273 TraceCheckUtils]: 111: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,954 INFO L273 TraceCheckUtils]: 112: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,955 INFO L273 TraceCheckUtils]: 113: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,955 INFO L273 TraceCheckUtils]: 114: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,955 INFO L273 TraceCheckUtils]: 115: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,955 INFO L273 TraceCheckUtils]: 116: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,955 INFO L273 TraceCheckUtils]: 117: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,955 INFO L273 TraceCheckUtils]: 118: Hoare triple {17040#false} assume !(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,956 INFO L273 TraceCheckUtils]: 119: Hoare triple {17040#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {17040#false} is VALID [2018-11-14 18:49:44,956 INFO L273 TraceCheckUtils]: 120: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,956 INFO L268 TraceCheckUtils]: 121: Hoare quadruple {17040#false} {17040#false} #89#return; {17040#false} is VALID [2018-11-14 18:49:44,956 INFO L273 TraceCheckUtils]: 122: Hoare triple {17040#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {17040#false} is VALID [2018-11-14 18:49:44,956 INFO L273 TraceCheckUtils]: 123: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,956 INFO L273 TraceCheckUtils]: 124: Hoare triple {17040#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {17040#false} is VALID [2018-11-14 18:49:44,956 INFO L273 TraceCheckUtils]: 125: Hoare triple {17040#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {17040#false} is VALID [2018-11-14 18:49:44,956 INFO L273 TraceCheckUtils]: 126: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,956 INFO L273 TraceCheckUtils]: 127: Hoare triple {17040#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {17040#false} is VALID [2018-11-14 18:49:44,957 INFO L273 TraceCheckUtils]: 128: Hoare triple {17040#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {17040#false} is VALID [2018-11-14 18:49:44,957 INFO L273 TraceCheckUtils]: 129: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,957 INFO L273 TraceCheckUtils]: 130: Hoare triple {17040#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {17040#false} is VALID [2018-11-14 18:49:44,957 INFO L273 TraceCheckUtils]: 131: Hoare triple {17040#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {17040#false} is VALID [2018-11-14 18:49:44,957 INFO L273 TraceCheckUtils]: 132: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,957 INFO L273 TraceCheckUtils]: 133: Hoare triple {17040#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {17040#false} is VALID [2018-11-14 18:49:44,957 INFO L273 TraceCheckUtils]: 134: Hoare triple {17040#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {17040#false} is VALID [2018-11-14 18:49:44,957 INFO L273 TraceCheckUtils]: 135: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,957 INFO L273 TraceCheckUtils]: 136: Hoare triple {17040#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {17040#false} is VALID [2018-11-14 18:49:44,958 INFO L273 TraceCheckUtils]: 137: Hoare triple {17040#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {17040#false} is VALID [2018-11-14 18:49:44,958 INFO L273 TraceCheckUtils]: 138: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,958 INFO L273 TraceCheckUtils]: 139: Hoare triple {17040#false} assume !(~i~2 < 39); {17040#false} is VALID [2018-11-14 18:49:44,958 INFO L273 TraceCheckUtils]: 140: Hoare triple {17040#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {17040#false} is VALID [2018-11-14 18:49:44,958 INFO L256 TraceCheckUtils]: 141: Hoare triple {17040#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {17040#false} is VALID [2018-11-14 18:49:44,958 INFO L273 TraceCheckUtils]: 142: Hoare triple {17040#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {17040#false} is VALID [2018-11-14 18:49:44,958 INFO L273 TraceCheckUtils]: 143: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,958 INFO L273 TraceCheckUtils]: 144: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,959 INFO L273 TraceCheckUtils]: 145: Hoare triple {17040#false} assume !(~i~1 > 20); {17040#false} is VALID [2018-11-14 18:49:44,959 INFO L273 TraceCheckUtils]: 146: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,959 INFO L273 TraceCheckUtils]: 147: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,959 INFO L273 TraceCheckUtils]: 148: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,959 INFO L273 TraceCheckUtils]: 149: Hoare triple {17040#false} assume !(~i~1 > 20); {17040#false} is VALID [2018-11-14 18:49:44,959 INFO L273 TraceCheckUtils]: 150: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,959 INFO L273 TraceCheckUtils]: 151: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,959 INFO L273 TraceCheckUtils]: 152: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,959 INFO L273 TraceCheckUtils]: 153: Hoare triple {17040#false} assume !(~i~1 > 20); {17040#false} is VALID [2018-11-14 18:49:44,960 INFO L273 TraceCheckUtils]: 154: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,960 INFO L273 TraceCheckUtils]: 155: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,960 INFO L273 TraceCheckUtils]: 156: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,960 INFO L273 TraceCheckUtils]: 157: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,960 INFO L273 TraceCheckUtils]: 158: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,960 INFO L273 TraceCheckUtils]: 159: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,960 INFO L273 TraceCheckUtils]: 160: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,960 INFO L273 TraceCheckUtils]: 161: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,960 INFO L273 TraceCheckUtils]: 162: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,961 INFO L273 TraceCheckUtils]: 163: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,961 INFO L273 TraceCheckUtils]: 164: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,961 INFO L273 TraceCheckUtils]: 165: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,961 INFO L273 TraceCheckUtils]: 166: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,961 INFO L273 TraceCheckUtils]: 167: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,961 INFO L273 TraceCheckUtils]: 168: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,961 INFO L273 TraceCheckUtils]: 169: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,961 INFO L273 TraceCheckUtils]: 170: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,961 INFO L273 TraceCheckUtils]: 171: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,962 INFO L273 TraceCheckUtils]: 172: Hoare triple {17040#false} assume !!(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,962 INFO L273 TraceCheckUtils]: 173: Hoare triple {17040#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {17040#false} is VALID [2018-11-14 18:49:44,962 INFO L273 TraceCheckUtils]: 174: Hoare triple {17040#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {17040#false} is VALID [2018-11-14 18:49:44,962 INFO L273 TraceCheckUtils]: 175: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,962 INFO L273 TraceCheckUtils]: 176: Hoare triple {17040#false} assume !(~i~1 < 40); {17040#false} is VALID [2018-11-14 18:49:44,962 INFO L273 TraceCheckUtils]: 177: Hoare triple {17040#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {17040#false} is VALID [2018-11-14 18:49:44,962 INFO L273 TraceCheckUtils]: 178: Hoare triple {17040#false} assume true; {17040#false} is VALID [2018-11-14 18:49:44,962 INFO L268 TraceCheckUtils]: 179: Hoare quadruple {17040#false} {17040#false} #91#return; {17040#false} is VALID [2018-11-14 18:49:44,962 INFO L273 TraceCheckUtils]: 180: Hoare triple {17040#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {17040#false} is VALID [2018-11-14 18:49:44,963 INFO L273 TraceCheckUtils]: 181: Hoare triple {17040#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {17040#false} is VALID [2018-11-14 18:49:44,963 INFO L273 TraceCheckUtils]: 182: Hoare triple {17040#false} assume !false; {17040#false} is VALID [2018-11-14 18:49:44,975 INFO L134 CoverageAnalysis]: Checked inductivity of 1461 backedges. 0 proven. 155 refuted. 0 times theorem prover too weak. 1306 trivial. 0 not checked. [2018-11-14 18:49:44,995 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:44,995 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2018-11-14 18:49:44,996 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 183 [2018-11-14 18:49:44,996 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:44,996 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-14 18:49:45,060 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 18:49:45,060 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-14 18:49:45,061 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-14 18:49:45,061 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2018-11-14 18:49:45,061 INFO L87 Difference]: Start difference. First operand 108 states and 118 transitions. Second operand 13 states. [2018-11-14 18:49:45,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:45,461 INFO L93 Difference]: Finished difference Result 180 states and 200 transitions. [2018-11-14 18:49:45,461 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-14 18:49:45,461 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 183 [2018-11-14 18:49:45,461 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:45,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-14 18:49:45,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 104 transitions. [2018-11-14 18:49:45,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-14 18:49:45,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 104 transitions. [2018-11-14 18:49:45,463 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 104 transitions. [2018-11-14 18:49:45,555 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:45,557 INFO L225 Difference]: With dead ends: 180 [2018-11-14 18:49:45,557 INFO L226 Difference]: Without dead ends: 112 [2018-11-14 18:49:45,557 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 182 GetRequests, 171 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2018-11-14 18:49:45,558 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2018-11-14 18:49:45,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 111. [2018-11-14 18:49:45,585 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:45,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 111 states. [2018-11-14 18:49:45,586 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 111 states. [2018-11-14 18:49:45,586 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 111 states. [2018-11-14 18:49:45,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:45,589 INFO L93 Difference]: Finished difference Result 112 states and 122 transitions. [2018-11-14 18:49:45,589 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 122 transitions. [2018-11-14 18:49:45,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:45,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:45,590 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 112 states. [2018-11-14 18:49:45,590 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 112 states. [2018-11-14 18:49:45,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:45,592 INFO L93 Difference]: Finished difference Result 112 states and 122 transitions. [2018-11-14 18:49:45,592 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 122 transitions. [2018-11-14 18:49:45,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:45,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:45,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:45,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:45,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-11-14 18:49:45,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 121 transitions. [2018-11-14 18:49:45,595 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 121 transitions. Word has length 183 [2018-11-14 18:49:45,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:45,596 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 121 transitions. [2018-11-14 18:49:45,596 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-14 18:49:45,596 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 121 transitions. [2018-11-14 18:49:45,597 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 187 [2018-11-14 18:49:45,597 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:45,597 INFO L375 BasicCegarLoop]: trace histogram [27, 24, 24, 15, 12, 11, 11, 9, 6, 5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:45,598 INFO L423 AbstractCegarLoop]: === Iteration 26 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:45,598 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:45,598 INFO L82 PathProgramCache]: Analyzing trace with hash 567218854, now seen corresponding path program 21 times [2018-11-14 18:49:45,598 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:45,598 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:45,599 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:45,599 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:45,599 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:45,611 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:45,611 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:45,611 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:45,626 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 18:49:45,841 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2018-11-14 18:49:45,841 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:45,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:45,876 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:46,049 INFO L256 TraceCheckUtils]: 0: Hoare triple {18208#true} call ULTIMATE.init(); {18208#true} is VALID [2018-11-14 18:49:46,049 INFO L273 TraceCheckUtils]: 1: Hoare triple {18208#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {18208#true} is VALID [2018-11-14 18:49:46,049 INFO L273 TraceCheckUtils]: 2: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,050 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {18208#true} {18208#true} #81#return; {18208#true} is VALID [2018-11-14 18:49:46,050 INFO L256 TraceCheckUtils]: 4: Hoare triple {18208#true} call #t~ret12 := main(); {18208#true} is VALID [2018-11-14 18:49:46,050 INFO L273 TraceCheckUtils]: 5: Hoare triple {18208#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {18208#true} is VALID [2018-11-14 18:49:46,050 INFO L256 TraceCheckUtils]: 6: Hoare triple {18208#true} call init_nondet(~#x~0.base, ~#x~0.offset); {18208#true} is VALID [2018-11-14 18:49:46,050 INFO L273 TraceCheckUtils]: 7: Hoare triple {18208#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {18208#true} is VALID [2018-11-14 18:49:46,050 INFO L273 TraceCheckUtils]: 8: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,051 INFO L273 TraceCheckUtils]: 9: Hoare triple {18208#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {18208#true} is VALID [2018-11-14 18:49:46,051 INFO L273 TraceCheckUtils]: 10: Hoare triple {18208#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {18208#true} is VALID [2018-11-14 18:49:46,051 INFO L273 TraceCheckUtils]: 11: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,051 INFO L273 TraceCheckUtils]: 12: Hoare triple {18208#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {18208#true} is VALID [2018-11-14 18:49:46,051 INFO L273 TraceCheckUtils]: 13: Hoare triple {18208#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {18208#true} is VALID [2018-11-14 18:49:46,051 INFO L273 TraceCheckUtils]: 14: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,051 INFO L273 TraceCheckUtils]: 15: Hoare triple {18208#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {18208#true} is VALID [2018-11-14 18:49:46,051 INFO L273 TraceCheckUtils]: 16: Hoare triple {18208#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {18208#true} is VALID [2018-11-14 18:49:46,051 INFO L273 TraceCheckUtils]: 17: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,052 INFO L273 TraceCheckUtils]: 18: Hoare triple {18208#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {18208#true} is VALID [2018-11-14 18:49:46,052 INFO L273 TraceCheckUtils]: 19: Hoare triple {18208#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {18208#true} is VALID [2018-11-14 18:49:46,052 INFO L273 TraceCheckUtils]: 20: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,052 INFO L273 TraceCheckUtils]: 21: Hoare triple {18208#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {18208#true} is VALID [2018-11-14 18:49:46,052 INFO L273 TraceCheckUtils]: 22: Hoare triple {18208#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {18208#true} is VALID [2018-11-14 18:49:46,052 INFO L273 TraceCheckUtils]: 23: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,052 INFO L273 TraceCheckUtils]: 24: Hoare triple {18208#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {18208#true} is VALID [2018-11-14 18:49:46,052 INFO L273 TraceCheckUtils]: 25: Hoare triple {18208#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {18208#true} is VALID [2018-11-14 18:49:46,052 INFO L273 TraceCheckUtils]: 26: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,053 INFO L273 TraceCheckUtils]: 27: Hoare triple {18208#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {18208#true} is VALID [2018-11-14 18:49:46,053 INFO L273 TraceCheckUtils]: 28: Hoare triple {18208#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {18208#true} is VALID [2018-11-14 18:49:46,053 INFO L273 TraceCheckUtils]: 29: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,053 INFO L273 TraceCheckUtils]: 30: Hoare triple {18208#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {18208#true} is VALID [2018-11-14 18:49:46,053 INFO L273 TraceCheckUtils]: 31: Hoare triple {18208#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {18208#true} is VALID [2018-11-14 18:49:46,053 INFO L273 TraceCheckUtils]: 32: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,053 INFO L273 TraceCheckUtils]: 33: Hoare triple {18208#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {18208#true} is VALID [2018-11-14 18:49:46,053 INFO L273 TraceCheckUtils]: 34: Hoare triple {18208#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {18208#true} is VALID [2018-11-14 18:49:46,053 INFO L273 TraceCheckUtils]: 35: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,054 INFO L273 TraceCheckUtils]: 36: Hoare triple {18208#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {18208#true} is VALID [2018-11-14 18:49:46,054 INFO L273 TraceCheckUtils]: 37: Hoare triple {18208#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {18208#true} is VALID [2018-11-14 18:49:46,054 INFO L273 TraceCheckUtils]: 38: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,054 INFO L273 TraceCheckUtils]: 39: Hoare triple {18208#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {18208#true} is VALID [2018-11-14 18:49:46,054 INFO L273 TraceCheckUtils]: 40: Hoare triple {18208#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {18208#true} is VALID [2018-11-14 18:49:46,054 INFO L273 TraceCheckUtils]: 41: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,054 INFO L273 TraceCheckUtils]: 42: Hoare triple {18208#true} assume !(~i~0 < 40); {18208#true} is VALID [2018-11-14 18:49:46,054 INFO L273 TraceCheckUtils]: 43: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,054 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {18208#true} {18208#true} #85#return; {18208#true} is VALID [2018-11-14 18:49:46,055 INFO L273 TraceCheckUtils]: 45: Hoare triple {18208#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {18208#true} is VALID [2018-11-14 18:49:46,055 INFO L256 TraceCheckUtils]: 46: Hoare triple {18208#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {18208#true} is VALID [2018-11-14 18:49:46,055 INFO L273 TraceCheckUtils]: 47: Hoare triple {18208#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {18208#true} is VALID [2018-11-14 18:49:46,055 INFO L273 TraceCheckUtils]: 48: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,055 INFO L273 TraceCheckUtils]: 49: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,055 INFO L273 TraceCheckUtils]: 50: Hoare triple {18208#true} assume !(~i~1 > 20); {18208#true} is VALID [2018-11-14 18:49:46,055 INFO L273 TraceCheckUtils]: 51: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,055 INFO L273 TraceCheckUtils]: 52: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,055 INFO L273 TraceCheckUtils]: 53: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,056 INFO L273 TraceCheckUtils]: 54: Hoare triple {18208#true} assume !(~i~1 > 20); {18208#true} is VALID [2018-11-14 18:49:46,056 INFO L273 TraceCheckUtils]: 55: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,056 INFO L273 TraceCheckUtils]: 56: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,056 INFO L273 TraceCheckUtils]: 57: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,056 INFO L273 TraceCheckUtils]: 58: Hoare triple {18208#true} assume !(~i~1 > 20); {18208#true} is VALID [2018-11-14 18:49:46,056 INFO L273 TraceCheckUtils]: 59: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,056 INFO L273 TraceCheckUtils]: 60: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,056 INFO L273 TraceCheckUtils]: 61: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,057 INFO L273 TraceCheckUtils]: 62: Hoare triple {18208#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18208#true} is VALID [2018-11-14 18:49:46,057 INFO L273 TraceCheckUtils]: 63: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,057 INFO L273 TraceCheckUtils]: 64: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,057 INFO L273 TraceCheckUtils]: 65: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,057 INFO L273 TraceCheckUtils]: 66: Hoare triple {18208#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18208#true} is VALID [2018-11-14 18:49:46,057 INFO L273 TraceCheckUtils]: 67: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,057 INFO L273 TraceCheckUtils]: 68: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,057 INFO L273 TraceCheckUtils]: 69: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,057 INFO L273 TraceCheckUtils]: 70: Hoare triple {18208#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18208#true} is VALID [2018-11-14 18:49:46,057 INFO L273 TraceCheckUtils]: 71: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,058 INFO L273 TraceCheckUtils]: 72: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,058 INFO L273 TraceCheckUtils]: 73: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,058 INFO L273 TraceCheckUtils]: 74: Hoare triple {18208#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18208#true} is VALID [2018-11-14 18:49:46,058 INFO L273 TraceCheckUtils]: 75: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,058 INFO L273 TraceCheckUtils]: 76: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,058 INFO L273 TraceCheckUtils]: 77: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,058 INFO L273 TraceCheckUtils]: 78: Hoare triple {18208#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18208#true} is VALID [2018-11-14 18:49:46,058 INFO L273 TraceCheckUtils]: 79: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,058 INFO L273 TraceCheckUtils]: 80: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,059 INFO L273 TraceCheckUtils]: 81: Hoare triple {18208#true} assume !(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,059 INFO L273 TraceCheckUtils]: 82: Hoare triple {18208#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {18208#true} is VALID [2018-11-14 18:49:46,059 INFO L273 TraceCheckUtils]: 83: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,059 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {18208#true} {18208#true} #87#return; {18208#true} is VALID [2018-11-14 18:49:46,059 INFO L273 TraceCheckUtils]: 85: Hoare triple {18208#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {18208#true} is VALID [2018-11-14 18:49:46,059 INFO L256 TraceCheckUtils]: 86: Hoare triple {18208#true} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {18208#true} is VALID [2018-11-14 18:49:46,059 INFO L273 TraceCheckUtils]: 87: Hoare triple {18208#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {18208#true} is VALID [2018-11-14 18:49:46,059 INFO L273 TraceCheckUtils]: 88: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,059 INFO L273 TraceCheckUtils]: 89: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,060 INFO L273 TraceCheckUtils]: 90: Hoare triple {18208#true} assume !(~i~1 > 20); {18208#true} is VALID [2018-11-14 18:49:46,060 INFO L273 TraceCheckUtils]: 91: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,060 INFO L273 TraceCheckUtils]: 92: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,060 INFO L273 TraceCheckUtils]: 93: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,060 INFO L273 TraceCheckUtils]: 94: Hoare triple {18208#true} assume !(~i~1 > 20); {18208#true} is VALID [2018-11-14 18:49:46,060 INFO L273 TraceCheckUtils]: 95: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,060 INFO L273 TraceCheckUtils]: 96: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,060 INFO L273 TraceCheckUtils]: 97: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,060 INFO L273 TraceCheckUtils]: 98: Hoare triple {18208#true} assume !(~i~1 > 20); {18208#true} is VALID [2018-11-14 18:49:46,061 INFO L273 TraceCheckUtils]: 99: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,061 INFO L273 TraceCheckUtils]: 100: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,061 INFO L273 TraceCheckUtils]: 101: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,061 INFO L273 TraceCheckUtils]: 102: Hoare triple {18208#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18208#true} is VALID [2018-11-14 18:49:46,061 INFO L273 TraceCheckUtils]: 103: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,061 INFO L273 TraceCheckUtils]: 104: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,061 INFO L273 TraceCheckUtils]: 105: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,061 INFO L273 TraceCheckUtils]: 106: Hoare triple {18208#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18208#true} is VALID [2018-11-14 18:49:46,061 INFO L273 TraceCheckUtils]: 107: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,062 INFO L273 TraceCheckUtils]: 108: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,062 INFO L273 TraceCheckUtils]: 109: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,062 INFO L273 TraceCheckUtils]: 110: Hoare triple {18208#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18208#true} is VALID [2018-11-14 18:49:46,062 INFO L273 TraceCheckUtils]: 111: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,062 INFO L273 TraceCheckUtils]: 112: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,062 INFO L273 TraceCheckUtils]: 113: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,062 INFO L273 TraceCheckUtils]: 114: Hoare triple {18208#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18208#true} is VALID [2018-11-14 18:49:46,062 INFO L273 TraceCheckUtils]: 115: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,062 INFO L273 TraceCheckUtils]: 116: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,063 INFO L273 TraceCheckUtils]: 117: Hoare triple {18208#true} assume !!(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,063 INFO L273 TraceCheckUtils]: 118: Hoare triple {18208#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18208#true} is VALID [2018-11-14 18:49:46,063 INFO L273 TraceCheckUtils]: 119: Hoare triple {18208#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18208#true} is VALID [2018-11-14 18:49:46,063 INFO L273 TraceCheckUtils]: 120: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,063 INFO L273 TraceCheckUtils]: 121: Hoare triple {18208#true} assume !(~i~1 < 40); {18208#true} is VALID [2018-11-14 18:49:46,063 INFO L273 TraceCheckUtils]: 122: Hoare triple {18208#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {18208#true} is VALID [2018-11-14 18:49:46,063 INFO L273 TraceCheckUtils]: 123: Hoare triple {18208#true} assume true; {18208#true} is VALID [2018-11-14 18:49:46,063 INFO L268 TraceCheckUtils]: 124: Hoare quadruple {18208#true} {18208#true} #89#return; {18208#true} is VALID [2018-11-14 18:49:46,066 INFO L273 TraceCheckUtils]: 125: Hoare triple {18208#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {18588#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:46,066 INFO L273 TraceCheckUtils]: 126: Hoare triple {18588#(<= main_~i~2 0)} assume true; {18588#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:46,068 INFO L273 TraceCheckUtils]: 127: Hoare triple {18588#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {18588#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:46,068 INFO L273 TraceCheckUtils]: 128: Hoare triple {18588#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {18598#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:46,069 INFO L273 TraceCheckUtils]: 129: Hoare triple {18598#(<= main_~i~2 1)} assume true; {18598#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:46,069 INFO L273 TraceCheckUtils]: 130: Hoare triple {18598#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {18598#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:46,070 INFO L273 TraceCheckUtils]: 131: Hoare triple {18598#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {18608#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:46,070 INFO L273 TraceCheckUtils]: 132: Hoare triple {18608#(<= main_~i~2 2)} assume true; {18608#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:46,070 INFO L273 TraceCheckUtils]: 133: Hoare triple {18608#(<= main_~i~2 2)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {18608#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:46,071 INFO L273 TraceCheckUtils]: 134: Hoare triple {18608#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {18618#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:46,071 INFO L273 TraceCheckUtils]: 135: Hoare triple {18618#(<= main_~i~2 3)} assume true; {18618#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:46,072 INFO L273 TraceCheckUtils]: 136: Hoare triple {18618#(<= main_~i~2 3)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {18618#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:46,073 INFO L273 TraceCheckUtils]: 137: Hoare triple {18618#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {18628#(<= main_~i~2 4)} is VALID [2018-11-14 18:49:46,073 INFO L273 TraceCheckUtils]: 138: Hoare triple {18628#(<= main_~i~2 4)} assume true; {18628#(<= main_~i~2 4)} is VALID [2018-11-14 18:49:46,074 INFO L273 TraceCheckUtils]: 139: Hoare triple {18628#(<= main_~i~2 4)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {18628#(<= main_~i~2 4)} is VALID [2018-11-14 18:49:46,074 INFO L273 TraceCheckUtils]: 140: Hoare triple {18628#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {18638#(<= main_~i~2 5)} is VALID [2018-11-14 18:49:46,075 INFO L273 TraceCheckUtils]: 141: Hoare triple {18638#(<= main_~i~2 5)} assume true; {18638#(<= main_~i~2 5)} is VALID [2018-11-14 18:49:46,076 INFO L273 TraceCheckUtils]: 142: Hoare triple {18638#(<= main_~i~2 5)} assume !(~i~2 < 39); {18209#false} is VALID [2018-11-14 18:49:46,076 INFO L273 TraceCheckUtils]: 143: Hoare triple {18209#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {18209#false} is VALID [2018-11-14 18:49:46,076 INFO L256 TraceCheckUtils]: 144: Hoare triple {18209#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {18209#false} is VALID [2018-11-14 18:49:46,076 INFO L273 TraceCheckUtils]: 145: Hoare triple {18209#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {18209#false} is VALID [2018-11-14 18:49:46,076 INFO L273 TraceCheckUtils]: 146: Hoare triple {18209#false} assume true; {18209#false} is VALID [2018-11-14 18:49:46,077 INFO L273 TraceCheckUtils]: 147: Hoare triple {18209#false} assume !!(~i~1 < 40); {18209#false} is VALID [2018-11-14 18:49:46,077 INFO L273 TraceCheckUtils]: 148: Hoare triple {18209#false} assume !(~i~1 > 20); {18209#false} is VALID [2018-11-14 18:49:46,077 INFO L273 TraceCheckUtils]: 149: Hoare triple {18209#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18209#false} is VALID [2018-11-14 18:49:46,077 INFO L273 TraceCheckUtils]: 150: Hoare triple {18209#false} assume true; {18209#false} is VALID [2018-11-14 18:49:46,077 INFO L273 TraceCheckUtils]: 151: Hoare triple {18209#false} assume !!(~i~1 < 40); {18209#false} is VALID [2018-11-14 18:49:46,078 INFO L273 TraceCheckUtils]: 152: Hoare triple {18209#false} assume !(~i~1 > 20); {18209#false} is VALID [2018-11-14 18:49:46,078 INFO L273 TraceCheckUtils]: 153: Hoare triple {18209#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18209#false} is VALID [2018-11-14 18:49:46,078 INFO L273 TraceCheckUtils]: 154: Hoare triple {18209#false} assume true; {18209#false} is VALID [2018-11-14 18:49:46,078 INFO L273 TraceCheckUtils]: 155: Hoare triple {18209#false} assume !!(~i~1 < 40); {18209#false} is VALID [2018-11-14 18:49:46,078 INFO L273 TraceCheckUtils]: 156: Hoare triple {18209#false} assume !(~i~1 > 20); {18209#false} is VALID [2018-11-14 18:49:46,078 INFO L273 TraceCheckUtils]: 157: Hoare triple {18209#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18209#false} is VALID [2018-11-14 18:49:46,079 INFO L273 TraceCheckUtils]: 158: Hoare triple {18209#false} assume true; {18209#false} is VALID [2018-11-14 18:49:46,079 INFO L273 TraceCheckUtils]: 159: Hoare triple {18209#false} assume !!(~i~1 < 40); {18209#false} is VALID [2018-11-14 18:49:46,079 INFO L273 TraceCheckUtils]: 160: Hoare triple {18209#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18209#false} is VALID [2018-11-14 18:49:46,079 INFO L273 TraceCheckUtils]: 161: Hoare triple {18209#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18209#false} is VALID [2018-11-14 18:49:46,079 INFO L273 TraceCheckUtils]: 162: Hoare triple {18209#false} assume true; {18209#false} is VALID [2018-11-14 18:49:46,079 INFO L273 TraceCheckUtils]: 163: Hoare triple {18209#false} assume !!(~i~1 < 40); {18209#false} is VALID [2018-11-14 18:49:46,079 INFO L273 TraceCheckUtils]: 164: Hoare triple {18209#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18209#false} is VALID [2018-11-14 18:49:46,079 INFO L273 TraceCheckUtils]: 165: Hoare triple {18209#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18209#false} is VALID [2018-11-14 18:49:46,079 INFO L273 TraceCheckUtils]: 166: Hoare triple {18209#false} assume true; {18209#false} is VALID [2018-11-14 18:49:46,080 INFO L273 TraceCheckUtils]: 167: Hoare triple {18209#false} assume !!(~i~1 < 40); {18209#false} is VALID [2018-11-14 18:49:46,080 INFO L273 TraceCheckUtils]: 168: Hoare triple {18209#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18209#false} is VALID [2018-11-14 18:49:46,080 INFO L273 TraceCheckUtils]: 169: Hoare triple {18209#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18209#false} is VALID [2018-11-14 18:49:46,080 INFO L273 TraceCheckUtils]: 170: Hoare triple {18209#false} assume true; {18209#false} is VALID [2018-11-14 18:49:46,080 INFO L273 TraceCheckUtils]: 171: Hoare triple {18209#false} assume !!(~i~1 < 40); {18209#false} is VALID [2018-11-14 18:49:46,080 INFO L273 TraceCheckUtils]: 172: Hoare triple {18209#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18209#false} is VALID [2018-11-14 18:49:46,080 INFO L273 TraceCheckUtils]: 173: Hoare triple {18209#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18209#false} is VALID [2018-11-14 18:49:46,080 INFO L273 TraceCheckUtils]: 174: Hoare triple {18209#false} assume true; {18209#false} is VALID [2018-11-14 18:49:46,080 INFO L273 TraceCheckUtils]: 175: Hoare triple {18209#false} assume !!(~i~1 < 40); {18209#false} is VALID [2018-11-14 18:49:46,081 INFO L273 TraceCheckUtils]: 176: Hoare triple {18209#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {18209#false} is VALID [2018-11-14 18:49:46,081 INFO L273 TraceCheckUtils]: 177: Hoare triple {18209#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {18209#false} is VALID [2018-11-14 18:49:46,081 INFO L273 TraceCheckUtils]: 178: Hoare triple {18209#false} assume true; {18209#false} is VALID [2018-11-14 18:49:46,081 INFO L273 TraceCheckUtils]: 179: Hoare triple {18209#false} assume !(~i~1 < 40); {18209#false} is VALID [2018-11-14 18:49:46,081 INFO L273 TraceCheckUtils]: 180: Hoare triple {18209#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {18209#false} is VALID [2018-11-14 18:49:46,081 INFO L273 TraceCheckUtils]: 181: Hoare triple {18209#false} assume true; {18209#false} is VALID [2018-11-14 18:49:46,081 INFO L268 TraceCheckUtils]: 182: Hoare quadruple {18209#false} {18209#false} #91#return; {18209#false} is VALID [2018-11-14 18:49:46,081 INFO L273 TraceCheckUtils]: 183: Hoare triple {18209#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {18209#false} is VALID [2018-11-14 18:49:46,081 INFO L273 TraceCheckUtils]: 184: Hoare triple {18209#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {18209#false} is VALID [2018-11-14 18:49:46,082 INFO L273 TraceCheckUtils]: 185: Hoare triple {18209#false} assume !false; {18209#false} is VALID [2018-11-14 18:49:46,094 INFO L134 CoverageAnalysis]: Checked inductivity of 1493 backedges. 588 proven. 40 refuted. 0 times theorem prover too weak. 865 trivial. 0 not checked. [2018-11-14 18:49:46,113 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:46,113 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2018-11-14 18:49:46,114 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 186 [2018-11-14 18:49:46,114 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:46,114 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-14 18:49:46,277 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 18:49:46,277 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-14 18:49:46,277 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-14 18:49:46,278 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-14 18:49:46,278 INFO L87 Difference]: Start difference. First operand 111 states and 121 transitions. Second operand 8 states. [2018-11-14 18:49:46,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:46,464 INFO L93 Difference]: Finished difference Result 159 states and 176 transitions. [2018-11-14 18:49:46,464 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-14 18:49:46,465 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 186 [2018-11-14 18:49:46,465 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:46,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 18:49:46,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-11-14 18:49:46,466 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 18:49:46,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-11-14 18:49:46,467 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 76 transitions. [2018-11-14 18:49:46,531 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:46,533 INFO L225 Difference]: With dead ends: 159 [2018-11-14 18:49:46,534 INFO L226 Difference]: Without dead ends: 115 [2018-11-14 18:49:46,534 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 179 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-14 18:49:46,534 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-14 18:49:46,567 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 114. [2018-11-14 18:49:46,568 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:46,568 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 114 states. [2018-11-14 18:49:46,568 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 114 states. [2018-11-14 18:49:46,568 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 114 states. [2018-11-14 18:49:46,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:46,571 INFO L93 Difference]: Finished difference Result 115 states and 125 transitions. [2018-11-14 18:49:46,571 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 125 transitions. [2018-11-14 18:49:46,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:46,572 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:46,572 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 115 states. [2018-11-14 18:49:46,572 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 115 states. [2018-11-14 18:49:46,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:46,574 INFO L93 Difference]: Finished difference Result 115 states and 125 transitions. [2018-11-14 18:49:46,574 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 125 transitions. [2018-11-14 18:49:46,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:46,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:46,575 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:46,575 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:46,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 114 states. [2018-11-14 18:49:46,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 124 transitions. [2018-11-14 18:49:46,577 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 124 transitions. Word has length 186 [2018-11-14 18:49:46,577 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:46,577 INFO L480 AbstractCegarLoop]: Abstraction has 114 states and 124 transitions. [2018-11-14 18:49:46,577 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-14 18:49:46,578 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 124 transitions. [2018-11-14 18:49:46,579 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 190 [2018-11-14 18:49:46,579 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:46,579 INFO L375 BasicCegarLoop]: trace histogram [27, 24, 24, 15, 12, 11, 11, 9, 7, 6, 6, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:46,579 INFO L423 AbstractCegarLoop]: === Iteration 27 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:46,579 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:46,580 INFO L82 PathProgramCache]: Analyzing trace with hash -73188765, now seen corresponding path program 22 times [2018-11-14 18:49:46,580 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:46,580 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:46,580 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:46,581 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:46,581 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:46,593 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:46,593 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:46,593 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:46,610 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 18:49:46,673 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 18:49:46,673 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:46,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:46,717 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:47,459 INFO L256 TraceCheckUtils]: 0: Hoare triple {19363#true} call ULTIMATE.init(); {19363#true} is VALID [2018-11-14 18:49:47,459 INFO L273 TraceCheckUtils]: 1: Hoare triple {19363#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {19363#true} is VALID [2018-11-14 18:49:47,460 INFO L273 TraceCheckUtils]: 2: Hoare triple {19363#true} assume true; {19363#true} is VALID [2018-11-14 18:49:47,460 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {19363#true} {19363#true} #81#return; {19363#true} is VALID [2018-11-14 18:49:47,460 INFO L256 TraceCheckUtils]: 4: Hoare triple {19363#true} call #t~ret12 := main(); {19363#true} is VALID [2018-11-14 18:49:47,460 INFO L273 TraceCheckUtils]: 5: Hoare triple {19363#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {19363#true} is VALID [2018-11-14 18:49:47,460 INFO L256 TraceCheckUtils]: 6: Hoare triple {19363#true} call init_nondet(~#x~0.base, ~#x~0.offset); {19363#true} is VALID [2018-11-14 18:49:47,461 INFO L273 TraceCheckUtils]: 7: Hoare triple {19363#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {19389#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:47,462 INFO L273 TraceCheckUtils]: 8: Hoare triple {19389#(<= init_nondet_~i~0 0)} assume true; {19389#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:47,462 INFO L273 TraceCheckUtils]: 9: Hoare triple {19389#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {19389#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:47,463 INFO L273 TraceCheckUtils]: 10: Hoare triple {19389#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {19399#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:47,463 INFO L273 TraceCheckUtils]: 11: Hoare triple {19399#(<= init_nondet_~i~0 1)} assume true; {19399#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:47,463 INFO L273 TraceCheckUtils]: 12: Hoare triple {19399#(<= init_nondet_~i~0 1)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {19399#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:47,464 INFO L273 TraceCheckUtils]: 13: Hoare triple {19399#(<= init_nondet_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {19409#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:47,464 INFO L273 TraceCheckUtils]: 14: Hoare triple {19409#(<= init_nondet_~i~0 2)} assume true; {19409#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:47,465 INFO L273 TraceCheckUtils]: 15: Hoare triple {19409#(<= init_nondet_~i~0 2)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {19409#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:47,465 INFO L273 TraceCheckUtils]: 16: Hoare triple {19409#(<= init_nondet_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {19419#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:47,466 INFO L273 TraceCheckUtils]: 17: Hoare triple {19419#(<= init_nondet_~i~0 3)} assume true; {19419#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:47,466 INFO L273 TraceCheckUtils]: 18: Hoare triple {19419#(<= init_nondet_~i~0 3)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {19419#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:47,467 INFO L273 TraceCheckUtils]: 19: Hoare triple {19419#(<= init_nondet_~i~0 3)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {19429#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:47,468 INFO L273 TraceCheckUtils]: 20: Hoare triple {19429#(<= init_nondet_~i~0 4)} assume true; {19429#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:47,468 INFO L273 TraceCheckUtils]: 21: Hoare triple {19429#(<= init_nondet_~i~0 4)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {19429#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:47,469 INFO L273 TraceCheckUtils]: 22: Hoare triple {19429#(<= init_nondet_~i~0 4)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {19439#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:47,469 INFO L273 TraceCheckUtils]: 23: Hoare triple {19439#(<= init_nondet_~i~0 5)} assume true; {19439#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:47,470 INFO L273 TraceCheckUtils]: 24: Hoare triple {19439#(<= init_nondet_~i~0 5)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {19439#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:47,472 INFO L273 TraceCheckUtils]: 25: Hoare triple {19439#(<= init_nondet_~i~0 5)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {19449#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:47,473 INFO L273 TraceCheckUtils]: 26: Hoare triple {19449#(<= init_nondet_~i~0 6)} assume true; {19449#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:47,473 INFO L273 TraceCheckUtils]: 27: Hoare triple {19449#(<= init_nondet_~i~0 6)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {19449#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:47,474 INFO L273 TraceCheckUtils]: 28: Hoare triple {19449#(<= init_nondet_~i~0 6)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {19459#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:47,474 INFO L273 TraceCheckUtils]: 29: Hoare triple {19459#(<= init_nondet_~i~0 7)} assume true; {19459#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:47,474 INFO L273 TraceCheckUtils]: 30: Hoare triple {19459#(<= init_nondet_~i~0 7)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {19459#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:47,475 INFO L273 TraceCheckUtils]: 31: Hoare triple {19459#(<= init_nondet_~i~0 7)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {19469#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:47,475 INFO L273 TraceCheckUtils]: 32: Hoare triple {19469#(<= init_nondet_~i~0 8)} assume true; {19469#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:47,476 INFO L273 TraceCheckUtils]: 33: Hoare triple {19469#(<= init_nondet_~i~0 8)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {19469#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:47,476 INFO L273 TraceCheckUtils]: 34: Hoare triple {19469#(<= init_nondet_~i~0 8)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {19479#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:47,477 INFO L273 TraceCheckUtils]: 35: Hoare triple {19479#(<= init_nondet_~i~0 9)} assume true; {19479#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:47,477 INFO L273 TraceCheckUtils]: 36: Hoare triple {19479#(<= init_nondet_~i~0 9)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {19479#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:47,478 INFO L273 TraceCheckUtils]: 37: Hoare triple {19479#(<= init_nondet_~i~0 9)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {19489#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:49:47,479 INFO L273 TraceCheckUtils]: 38: Hoare triple {19489#(<= init_nondet_~i~0 10)} assume true; {19489#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:49:47,479 INFO L273 TraceCheckUtils]: 39: Hoare triple {19489#(<= init_nondet_~i~0 10)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {19489#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:49:47,480 INFO L273 TraceCheckUtils]: 40: Hoare triple {19489#(<= init_nondet_~i~0 10)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {19499#(<= init_nondet_~i~0 11)} is VALID [2018-11-14 18:49:47,480 INFO L273 TraceCheckUtils]: 41: Hoare triple {19499#(<= init_nondet_~i~0 11)} assume true; {19499#(<= init_nondet_~i~0 11)} is VALID [2018-11-14 18:49:47,481 INFO L273 TraceCheckUtils]: 42: Hoare triple {19499#(<= init_nondet_~i~0 11)} assume !(~i~0 < 40); {19364#false} is VALID [2018-11-14 18:49:47,481 INFO L273 TraceCheckUtils]: 43: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,482 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {19364#false} {19363#true} #85#return; {19364#false} is VALID [2018-11-14 18:49:47,482 INFO L273 TraceCheckUtils]: 45: Hoare triple {19364#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {19364#false} is VALID [2018-11-14 18:49:47,482 INFO L256 TraceCheckUtils]: 46: Hoare triple {19364#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {19364#false} is VALID [2018-11-14 18:49:47,482 INFO L273 TraceCheckUtils]: 47: Hoare triple {19364#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {19364#false} is VALID [2018-11-14 18:49:47,482 INFO L273 TraceCheckUtils]: 48: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,483 INFO L273 TraceCheckUtils]: 49: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,483 INFO L273 TraceCheckUtils]: 50: Hoare triple {19364#false} assume !(~i~1 > 20); {19364#false} is VALID [2018-11-14 18:49:47,483 INFO L273 TraceCheckUtils]: 51: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,483 INFO L273 TraceCheckUtils]: 52: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,484 INFO L273 TraceCheckUtils]: 53: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,484 INFO L273 TraceCheckUtils]: 54: Hoare triple {19364#false} assume !(~i~1 > 20); {19364#false} is VALID [2018-11-14 18:49:47,484 INFO L273 TraceCheckUtils]: 55: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,484 INFO L273 TraceCheckUtils]: 56: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,485 INFO L273 TraceCheckUtils]: 57: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,485 INFO L273 TraceCheckUtils]: 58: Hoare triple {19364#false} assume !(~i~1 > 20); {19364#false} is VALID [2018-11-14 18:49:47,485 INFO L273 TraceCheckUtils]: 59: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,486 INFO L273 TraceCheckUtils]: 60: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,486 INFO L273 TraceCheckUtils]: 61: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,486 INFO L273 TraceCheckUtils]: 62: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,486 INFO L273 TraceCheckUtils]: 63: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,486 INFO L273 TraceCheckUtils]: 64: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,486 INFO L273 TraceCheckUtils]: 65: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,487 INFO L273 TraceCheckUtils]: 66: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,487 INFO L273 TraceCheckUtils]: 67: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,487 INFO L273 TraceCheckUtils]: 68: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,487 INFO L273 TraceCheckUtils]: 69: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,487 INFO L273 TraceCheckUtils]: 70: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,487 INFO L273 TraceCheckUtils]: 71: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,487 INFO L273 TraceCheckUtils]: 72: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,488 INFO L273 TraceCheckUtils]: 73: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,488 INFO L273 TraceCheckUtils]: 74: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,488 INFO L273 TraceCheckUtils]: 75: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,488 INFO L273 TraceCheckUtils]: 76: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,488 INFO L273 TraceCheckUtils]: 77: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,488 INFO L273 TraceCheckUtils]: 78: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,488 INFO L273 TraceCheckUtils]: 79: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,488 INFO L273 TraceCheckUtils]: 80: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,488 INFO L273 TraceCheckUtils]: 81: Hoare triple {19364#false} assume !(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,489 INFO L273 TraceCheckUtils]: 82: Hoare triple {19364#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {19364#false} is VALID [2018-11-14 18:49:47,489 INFO L273 TraceCheckUtils]: 83: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,489 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {19364#false} {19364#false} #87#return; {19364#false} is VALID [2018-11-14 18:49:47,489 INFO L273 TraceCheckUtils]: 85: Hoare triple {19364#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {19364#false} is VALID [2018-11-14 18:49:47,489 INFO L256 TraceCheckUtils]: 86: Hoare triple {19364#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {19364#false} is VALID [2018-11-14 18:49:47,489 INFO L273 TraceCheckUtils]: 87: Hoare triple {19364#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {19364#false} is VALID [2018-11-14 18:49:47,489 INFO L273 TraceCheckUtils]: 88: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,489 INFO L273 TraceCheckUtils]: 89: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,489 INFO L273 TraceCheckUtils]: 90: Hoare triple {19364#false} assume !(~i~1 > 20); {19364#false} is VALID [2018-11-14 18:49:47,490 INFO L273 TraceCheckUtils]: 91: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,490 INFO L273 TraceCheckUtils]: 92: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,490 INFO L273 TraceCheckUtils]: 93: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,490 INFO L273 TraceCheckUtils]: 94: Hoare triple {19364#false} assume !(~i~1 > 20); {19364#false} is VALID [2018-11-14 18:49:47,490 INFO L273 TraceCheckUtils]: 95: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,490 INFO L273 TraceCheckUtils]: 96: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,490 INFO L273 TraceCheckUtils]: 97: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,490 INFO L273 TraceCheckUtils]: 98: Hoare triple {19364#false} assume !(~i~1 > 20); {19364#false} is VALID [2018-11-14 18:49:47,490 INFO L273 TraceCheckUtils]: 99: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,491 INFO L273 TraceCheckUtils]: 100: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,491 INFO L273 TraceCheckUtils]: 101: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,491 INFO L273 TraceCheckUtils]: 102: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,491 INFO L273 TraceCheckUtils]: 103: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,491 INFO L273 TraceCheckUtils]: 104: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,491 INFO L273 TraceCheckUtils]: 105: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,491 INFO L273 TraceCheckUtils]: 106: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,491 INFO L273 TraceCheckUtils]: 107: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,491 INFO L273 TraceCheckUtils]: 108: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,492 INFO L273 TraceCheckUtils]: 109: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,492 INFO L273 TraceCheckUtils]: 110: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,492 INFO L273 TraceCheckUtils]: 111: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,492 INFO L273 TraceCheckUtils]: 112: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,492 INFO L273 TraceCheckUtils]: 113: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,492 INFO L273 TraceCheckUtils]: 114: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,492 INFO L273 TraceCheckUtils]: 115: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,492 INFO L273 TraceCheckUtils]: 116: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,492 INFO L273 TraceCheckUtils]: 117: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,493 INFO L273 TraceCheckUtils]: 118: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,493 INFO L273 TraceCheckUtils]: 119: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,493 INFO L273 TraceCheckUtils]: 120: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,493 INFO L273 TraceCheckUtils]: 121: Hoare triple {19364#false} assume !(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,493 INFO L273 TraceCheckUtils]: 122: Hoare triple {19364#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {19364#false} is VALID [2018-11-14 18:49:47,493 INFO L273 TraceCheckUtils]: 123: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,493 INFO L268 TraceCheckUtils]: 124: Hoare quadruple {19364#false} {19364#false} #89#return; {19364#false} is VALID [2018-11-14 18:49:47,493 INFO L273 TraceCheckUtils]: 125: Hoare triple {19364#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {19364#false} is VALID [2018-11-14 18:49:47,493 INFO L273 TraceCheckUtils]: 126: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,494 INFO L273 TraceCheckUtils]: 127: Hoare triple {19364#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {19364#false} is VALID [2018-11-14 18:49:47,494 INFO L273 TraceCheckUtils]: 128: Hoare triple {19364#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {19364#false} is VALID [2018-11-14 18:49:47,494 INFO L273 TraceCheckUtils]: 129: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,494 INFO L273 TraceCheckUtils]: 130: Hoare triple {19364#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {19364#false} is VALID [2018-11-14 18:49:47,494 INFO L273 TraceCheckUtils]: 131: Hoare triple {19364#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {19364#false} is VALID [2018-11-14 18:49:47,494 INFO L273 TraceCheckUtils]: 132: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,494 INFO L273 TraceCheckUtils]: 133: Hoare triple {19364#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {19364#false} is VALID [2018-11-14 18:49:47,494 INFO L273 TraceCheckUtils]: 134: Hoare triple {19364#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {19364#false} is VALID [2018-11-14 18:49:47,494 INFO L273 TraceCheckUtils]: 135: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,495 INFO L273 TraceCheckUtils]: 136: Hoare triple {19364#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {19364#false} is VALID [2018-11-14 18:49:47,495 INFO L273 TraceCheckUtils]: 137: Hoare triple {19364#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {19364#false} is VALID [2018-11-14 18:49:47,495 INFO L273 TraceCheckUtils]: 138: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,495 INFO L273 TraceCheckUtils]: 139: Hoare triple {19364#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {19364#false} is VALID [2018-11-14 18:49:47,495 INFO L273 TraceCheckUtils]: 140: Hoare triple {19364#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {19364#false} is VALID [2018-11-14 18:49:47,495 INFO L273 TraceCheckUtils]: 141: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,495 INFO L273 TraceCheckUtils]: 142: Hoare triple {19364#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {19364#false} is VALID [2018-11-14 18:49:47,495 INFO L273 TraceCheckUtils]: 143: Hoare triple {19364#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {19364#false} is VALID [2018-11-14 18:49:47,495 INFO L273 TraceCheckUtils]: 144: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,496 INFO L273 TraceCheckUtils]: 145: Hoare triple {19364#false} assume !(~i~2 < 39); {19364#false} is VALID [2018-11-14 18:49:47,496 INFO L273 TraceCheckUtils]: 146: Hoare triple {19364#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {19364#false} is VALID [2018-11-14 18:49:47,496 INFO L256 TraceCheckUtils]: 147: Hoare triple {19364#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {19364#false} is VALID [2018-11-14 18:49:47,496 INFO L273 TraceCheckUtils]: 148: Hoare triple {19364#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {19364#false} is VALID [2018-11-14 18:49:47,496 INFO L273 TraceCheckUtils]: 149: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,496 INFO L273 TraceCheckUtils]: 150: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,496 INFO L273 TraceCheckUtils]: 151: Hoare triple {19364#false} assume !(~i~1 > 20); {19364#false} is VALID [2018-11-14 18:49:47,496 INFO L273 TraceCheckUtils]: 152: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,496 INFO L273 TraceCheckUtils]: 153: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,497 INFO L273 TraceCheckUtils]: 154: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,497 INFO L273 TraceCheckUtils]: 155: Hoare triple {19364#false} assume !(~i~1 > 20); {19364#false} is VALID [2018-11-14 18:49:47,497 INFO L273 TraceCheckUtils]: 156: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,497 INFO L273 TraceCheckUtils]: 157: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,497 INFO L273 TraceCheckUtils]: 158: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,497 INFO L273 TraceCheckUtils]: 159: Hoare triple {19364#false} assume !(~i~1 > 20); {19364#false} is VALID [2018-11-14 18:49:47,497 INFO L273 TraceCheckUtils]: 160: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,497 INFO L273 TraceCheckUtils]: 161: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,497 INFO L273 TraceCheckUtils]: 162: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,498 INFO L273 TraceCheckUtils]: 163: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,498 INFO L273 TraceCheckUtils]: 164: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,498 INFO L273 TraceCheckUtils]: 165: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,498 INFO L273 TraceCheckUtils]: 166: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,498 INFO L273 TraceCheckUtils]: 167: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,498 INFO L273 TraceCheckUtils]: 168: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,498 INFO L273 TraceCheckUtils]: 169: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,498 INFO L273 TraceCheckUtils]: 170: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,498 INFO L273 TraceCheckUtils]: 171: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,499 INFO L273 TraceCheckUtils]: 172: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,499 INFO L273 TraceCheckUtils]: 173: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,499 INFO L273 TraceCheckUtils]: 174: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,499 INFO L273 TraceCheckUtils]: 175: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,499 INFO L273 TraceCheckUtils]: 176: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,499 INFO L273 TraceCheckUtils]: 177: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,499 INFO L273 TraceCheckUtils]: 178: Hoare triple {19364#false} assume !!(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,499 INFO L273 TraceCheckUtils]: 179: Hoare triple {19364#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {19364#false} is VALID [2018-11-14 18:49:47,500 INFO L273 TraceCheckUtils]: 180: Hoare triple {19364#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {19364#false} is VALID [2018-11-14 18:49:47,500 INFO L273 TraceCheckUtils]: 181: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,500 INFO L273 TraceCheckUtils]: 182: Hoare triple {19364#false} assume !(~i~1 < 40); {19364#false} is VALID [2018-11-14 18:49:47,500 INFO L273 TraceCheckUtils]: 183: Hoare triple {19364#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {19364#false} is VALID [2018-11-14 18:49:47,500 INFO L273 TraceCheckUtils]: 184: Hoare triple {19364#false} assume true; {19364#false} is VALID [2018-11-14 18:49:47,500 INFO L268 TraceCheckUtils]: 185: Hoare quadruple {19364#false} {19364#false} #91#return; {19364#false} is VALID [2018-11-14 18:49:47,501 INFO L273 TraceCheckUtils]: 186: Hoare triple {19364#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {19364#false} is VALID [2018-11-14 18:49:47,501 INFO L273 TraceCheckUtils]: 187: Hoare triple {19364#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {19364#false} is VALID [2018-11-14 18:49:47,501 INFO L273 TraceCheckUtils]: 188: Hoare triple {19364#false} assume !false; {19364#false} is VALID [2018-11-14 18:49:47,515 INFO L134 CoverageAnalysis]: Checked inductivity of 1510 backedges. 0 proven. 187 refuted. 0 times theorem prover too weak. 1323 trivial. 0 not checked. [2018-11-14 18:49:47,534 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:47,534 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2018-11-14 18:49:47,534 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 189 [2018-11-14 18:49:47,535 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:47,535 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-14 18:49:47,601 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:47,602 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-14 18:49:47,602 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-14 18:49:47,602 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-14 18:49:47,603 INFO L87 Difference]: Start difference. First operand 114 states and 124 transitions. Second operand 14 states. [2018-11-14 18:49:47,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:47,800 INFO L93 Difference]: Finished difference Result 189 states and 209 transitions. [2018-11-14 18:49:47,800 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-14 18:49:47,800 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 189 [2018-11-14 18:49:47,800 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:47,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-14 18:49:47,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 107 transitions. [2018-11-14 18:49:47,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-14 18:49:47,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 107 transitions. [2018-11-14 18:49:47,802 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 107 transitions. [2018-11-14 18:49:47,900 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:47,902 INFO L225 Difference]: With dead ends: 189 [2018-11-14 18:49:47,902 INFO L226 Difference]: Without dead ends: 118 [2018-11-14 18:49:47,903 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 176 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-14 18:49:47,903 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2018-11-14 18:49:47,975 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 117. [2018-11-14 18:49:47,975 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:47,975 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand 117 states. [2018-11-14 18:49:47,975 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand 117 states. [2018-11-14 18:49:47,976 INFO L87 Difference]: Start difference. First operand 118 states. Second operand 117 states. [2018-11-14 18:49:47,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:47,978 INFO L93 Difference]: Finished difference Result 118 states and 128 transitions. [2018-11-14 18:49:47,978 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 128 transitions. [2018-11-14 18:49:47,978 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:47,978 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:47,979 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 118 states. [2018-11-14 18:49:47,979 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 118 states. [2018-11-14 18:49:47,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:47,981 INFO L93 Difference]: Finished difference Result 118 states and 128 transitions. [2018-11-14 18:49:47,981 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 128 transitions. [2018-11-14 18:49:47,981 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:47,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:47,982 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:47,982 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:47,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2018-11-14 18:49:47,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 127 transitions. [2018-11-14 18:49:47,984 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 127 transitions. Word has length 189 [2018-11-14 18:49:47,984 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:47,984 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 127 transitions. [2018-11-14 18:49:47,984 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-14 18:49:47,984 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 127 transitions. [2018-11-14 18:49:47,986 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 193 [2018-11-14 18:49:47,986 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:47,986 INFO L375 BasicCegarLoop]: trace histogram [27, 24, 24, 15, 13, 12, 12, 9, 7, 6, 6, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:47,986 INFO L423 AbstractCegarLoop]: === Iteration 28 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:47,986 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:47,987 INFO L82 PathProgramCache]: Analyzing trace with hash -824438979, now seen corresponding path program 23 times [2018-11-14 18:49:47,987 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:47,987 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:47,987 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:47,988 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:47,988 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:48,000 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:48,000 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:48,000 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:48,022 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-14 18:49:48,053 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2018-11-14 18:49:48,053 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:48,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:48,094 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:48,316 INFO L256 TraceCheckUtils]: 0: Hoare triple {20583#true} call ULTIMATE.init(); {20583#true} is VALID [2018-11-14 18:49:48,316 INFO L273 TraceCheckUtils]: 1: Hoare triple {20583#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {20583#true} is VALID [2018-11-14 18:49:48,316 INFO L273 TraceCheckUtils]: 2: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,317 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {20583#true} {20583#true} #81#return; {20583#true} is VALID [2018-11-14 18:49:48,317 INFO L256 TraceCheckUtils]: 4: Hoare triple {20583#true} call #t~ret12 := main(); {20583#true} is VALID [2018-11-14 18:49:48,317 INFO L273 TraceCheckUtils]: 5: Hoare triple {20583#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {20583#true} is VALID [2018-11-14 18:49:48,317 INFO L256 TraceCheckUtils]: 6: Hoare triple {20583#true} call init_nondet(~#x~0.base, ~#x~0.offset); {20583#true} is VALID [2018-11-14 18:49:48,317 INFO L273 TraceCheckUtils]: 7: Hoare triple {20583#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {20583#true} is VALID [2018-11-14 18:49:48,318 INFO L273 TraceCheckUtils]: 8: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,318 INFO L273 TraceCheckUtils]: 9: Hoare triple {20583#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {20583#true} is VALID [2018-11-14 18:49:48,318 INFO L273 TraceCheckUtils]: 10: Hoare triple {20583#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {20583#true} is VALID [2018-11-14 18:49:48,318 INFO L273 TraceCheckUtils]: 11: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,318 INFO L273 TraceCheckUtils]: 12: Hoare triple {20583#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {20583#true} is VALID [2018-11-14 18:49:48,319 INFO L273 TraceCheckUtils]: 13: Hoare triple {20583#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {20583#true} is VALID [2018-11-14 18:49:48,319 INFO L273 TraceCheckUtils]: 14: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,319 INFO L273 TraceCheckUtils]: 15: Hoare triple {20583#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {20583#true} is VALID [2018-11-14 18:49:48,319 INFO L273 TraceCheckUtils]: 16: Hoare triple {20583#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {20583#true} is VALID [2018-11-14 18:49:48,319 INFO L273 TraceCheckUtils]: 17: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,319 INFO L273 TraceCheckUtils]: 18: Hoare triple {20583#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {20583#true} is VALID [2018-11-14 18:49:48,320 INFO L273 TraceCheckUtils]: 19: Hoare triple {20583#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {20583#true} is VALID [2018-11-14 18:49:48,320 INFO L273 TraceCheckUtils]: 20: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,320 INFO L273 TraceCheckUtils]: 21: Hoare triple {20583#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {20583#true} is VALID [2018-11-14 18:49:48,320 INFO L273 TraceCheckUtils]: 22: Hoare triple {20583#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {20583#true} is VALID [2018-11-14 18:49:48,320 INFO L273 TraceCheckUtils]: 23: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,320 INFO L273 TraceCheckUtils]: 24: Hoare triple {20583#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {20583#true} is VALID [2018-11-14 18:49:48,320 INFO L273 TraceCheckUtils]: 25: Hoare triple {20583#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {20583#true} is VALID [2018-11-14 18:49:48,321 INFO L273 TraceCheckUtils]: 26: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,321 INFO L273 TraceCheckUtils]: 27: Hoare triple {20583#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {20583#true} is VALID [2018-11-14 18:49:48,321 INFO L273 TraceCheckUtils]: 28: Hoare triple {20583#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {20583#true} is VALID [2018-11-14 18:49:48,321 INFO L273 TraceCheckUtils]: 29: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,321 INFO L273 TraceCheckUtils]: 30: Hoare triple {20583#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {20583#true} is VALID [2018-11-14 18:49:48,321 INFO L273 TraceCheckUtils]: 31: Hoare triple {20583#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {20583#true} is VALID [2018-11-14 18:49:48,321 INFO L273 TraceCheckUtils]: 32: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,322 INFO L273 TraceCheckUtils]: 33: Hoare triple {20583#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {20583#true} is VALID [2018-11-14 18:49:48,322 INFO L273 TraceCheckUtils]: 34: Hoare triple {20583#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {20583#true} is VALID [2018-11-14 18:49:48,322 INFO L273 TraceCheckUtils]: 35: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,322 INFO L273 TraceCheckUtils]: 36: Hoare triple {20583#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {20583#true} is VALID [2018-11-14 18:49:48,322 INFO L273 TraceCheckUtils]: 37: Hoare triple {20583#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {20583#true} is VALID [2018-11-14 18:49:48,322 INFO L273 TraceCheckUtils]: 38: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,322 INFO L273 TraceCheckUtils]: 39: Hoare triple {20583#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {20583#true} is VALID [2018-11-14 18:49:48,322 INFO L273 TraceCheckUtils]: 40: Hoare triple {20583#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {20583#true} is VALID [2018-11-14 18:49:48,322 INFO L273 TraceCheckUtils]: 41: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,323 INFO L273 TraceCheckUtils]: 42: Hoare triple {20583#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {20583#true} is VALID [2018-11-14 18:49:48,323 INFO L273 TraceCheckUtils]: 43: Hoare triple {20583#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {20583#true} is VALID [2018-11-14 18:49:48,323 INFO L273 TraceCheckUtils]: 44: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,323 INFO L273 TraceCheckUtils]: 45: Hoare triple {20583#true} assume !(~i~0 < 40); {20583#true} is VALID [2018-11-14 18:49:48,323 INFO L273 TraceCheckUtils]: 46: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,323 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {20583#true} {20583#true} #85#return; {20583#true} is VALID [2018-11-14 18:49:48,323 INFO L273 TraceCheckUtils]: 48: Hoare triple {20583#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {20583#true} is VALID [2018-11-14 18:49:48,323 INFO L256 TraceCheckUtils]: 49: Hoare triple {20583#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {20583#true} is VALID [2018-11-14 18:49:48,323 INFO L273 TraceCheckUtils]: 50: Hoare triple {20583#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {20583#true} is VALID [2018-11-14 18:49:48,324 INFO L273 TraceCheckUtils]: 51: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,324 INFO L273 TraceCheckUtils]: 52: Hoare triple {20583#true} assume !!(~i~1 < 40); {20583#true} is VALID [2018-11-14 18:49:48,324 INFO L273 TraceCheckUtils]: 53: Hoare triple {20583#true} assume !(~i~1 > 20); {20583#true} is VALID [2018-11-14 18:49:48,324 INFO L273 TraceCheckUtils]: 54: Hoare triple {20583#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20583#true} is VALID [2018-11-14 18:49:48,324 INFO L273 TraceCheckUtils]: 55: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,324 INFO L273 TraceCheckUtils]: 56: Hoare triple {20583#true} assume !!(~i~1 < 40); {20583#true} is VALID [2018-11-14 18:49:48,324 INFO L273 TraceCheckUtils]: 57: Hoare triple {20583#true} assume !(~i~1 > 20); {20583#true} is VALID [2018-11-14 18:49:48,324 INFO L273 TraceCheckUtils]: 58: Hoare triple {20583#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20583#true} is VALID [2018-11-14 18:49:48,325 INFO L273 TraceCheckUtils]: 59: Hoare triple {20583#true} assume true; {20583#true} is VALID [2018-11-14 18:49:48,325 INFO L273 TraceCheckUtils]: 60: Hoare triple {20583#true} assume !!(~i~1 < 40); {20583#true} is VALID [2018-11-14 18:49:48,327 INFO L273 TraceCheckUtils]: 61: Hoare triple {20583#true} assume !(~i~1 > 20); {20771#(<= rangesum_~i~1 20)} is VALID [2018-11-14 18:49:48,327 INFO L273 TraceCheckUtils]: 62: Hoare triple {20771#(<= rangesum_~i~1 20)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20775#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:48,328 INFO L273 TraceCheckUtils]: 63: Hoare triple {20775#(<= rangesum_~i~1 21)} assume true; {20775#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:48,328 INFO L273 TraceCheckUtils]: 64: Hoare triple {20775#(<= rangesum_~i~1 21)} assume !!(~i~1 < 40); {20775#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:48,329 INFO L273 TraceCheckUtils]: 65: Hoare triple {20775#(<= rangesum_~i~1 21)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20775#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:49:48,330 INFO L273 TraceCheckUtils]: 66: Hoare triple {20775#(<= rangesum_~i~1 21)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20788#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:48,330 INFO L273 TraceCheckUtils]: 67: Hoare triple {20788#(<= rangesum_~i~1 22)} assume true; {20788#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:48,331 INFO L273 TraceCheckUtils]: 68: Hoare triple {20788#(<= rangesum_~i~1 22)} assume !!(~i~1 < 40); {20788#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:48,331 INFO L273 TraceCheckUtils]: 69: Hoare triple {20788#(<= rangesum_~i~1 22)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20788#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:49:48,332 INFO L273 TraceCheckUtils]: 70: Hoare triple {20788#(<= rangesum_~i~1 22)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20801#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:48,332 INFO L273 TraceCheckUtils]: 71: Hoare triple {20801#(<= rangesum_~i~1 23)} assume true; {20801#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:48,333 INFO L273 TraceCheckUtils]: 72: Hoare triple {20801#(<= rangesum_~i~1 23)} assume !!(~i~1 < 40); {20801#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:48,333 INFO L273 TraceCheckUtils]: 73: Hoare triple {20801#(<= rangesum_~i~1 23)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20801#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:49:48,334 INFO L273 TraceCheckUtils]: 74: Hoare triple {20801#(<= rangesum_~i~1 23)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20814#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:49:48,335 INFO L273 TraceCheckUtils]: 75: Hoare triple {20814#(<= rangesum_~i~1 24)} assume true; {20814#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:49:48,335 INFO L273 TraceCheckUtils]: 76: Hoare triple {20814#(<= rangesum_~i~1 24)} assume !!(~i~1 < 40); {20814#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:49:48,336 INFO L273 TraceCheckUtils]: 77: Hoare triple {20814#(<= rangesum_~i~1 24)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20814#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:49:48,336 INFO L273 TraceCheckUtils]: 78: Hoare triple {20814#(<= rangesum_~i~1 24)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20827#(<= rangesum_~i~1 25)} is VALID [2018-11-14 18:49:48,337 INFO L273 TraceCheckUtils]: 79: Hoare triple {20827#(<= rangesum_~i~1 25)} assume true; {20827#(<= rangesum_~i~1 25)} is VALID [2018-11-14 18:49:48,338 INFO L273 TraceCheckUtils]: 80: Hoare triple {20827#(<= rangesum_~i~1 25)} assume !!(~i~1 < 40); {20827#(<= rangesum_~i~1 25)} is VALID [2018-11-14 18:49:48,338 INFO L273 TraceCheckUtils]: 81: Hoare triple {20827#(<= rangesum_~i~1 25)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20827#(<= rangesum_~i~1 25)} is VALID [2018-11-14 18:49:48,339 INFO L273 TraceCheckUtils]: 82: Hoare triple {20827#(<= rangesum_~i~1 25)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20840#(<= rangesum_~i~1 26)} is VALID [2018-11-14 18:49:48,339 INFO L273 TraceCheckUtils]: 83: Hoare triple {20840#(<= rangesum_~i~1 26)} assume true; {20840#(<= rangesum_~i~1 26)} is VALID [2018-11-14 18:49:48,340 INFO L273 TraceCheckUtils]: 84: Hoare triple {20840#(<= rangesum_~i~1 26)} assume !(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,340 INFO L273 TraceCheckUtils]: 85: Hoare triple {20584#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {20584#false} is VALID [2018-11-14 18:49:48,340 INFO L273 TraceCheckUtils]: 86: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,341 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {20584#false} {20583#true} #87#return; {20584#false} is VALID [2018-11-14 18:49:48,341 INFO L273 TraceCheckUtils]: 88: Hoare triple {20584#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {20584#false} is VALID [2018-11-14 18:49:48,341 INFO L256 TraceCheckUtils]: 89: Hoare triple {20584#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {20584#false} is VALID [2018-11-14 18:49:48,342 INFO L273 TraceCheckUtils]: 90: Hoare triple {20584#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {20584#false} is VALID [2018-11-14 18:49:48,342 INFO L273 TraceCheckUtils]: 91: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,342 INFO L273 TraceCheckUtils]: 92: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,342 INFO L273 TraceCheckUtils]: 93: Hoare triple {20584#false} assume !(~i~1 > 20); {20584#false} is VALID [2018-11-14 18:49:48,343 INFO L273 TraceCheckUtils]: 94: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,343 INFO L273 TraceCheckUtils]: 95: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,343 INFO L273 TraceCheckUtils]: 96: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,344 INFO L273 TraceCheckUtils]: 97: Hoare triple {20584#false} assume !(~i~1 > 20); {20584#false} is VALID [2018-11-14 18:49:48,344 INFO L273 TraceCheckUtils]: 98: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,344 INFO L273 TraceCheckUtils]: 99: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,344 INFO L273 TraceCheckUtils]: 100: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,344 INFO L273 TraceCheckUtils]: 101: Hoare triple {20584#false} assume !(~i~1 > 20); {20584#false} is VALID [2018-11-14 18:49:48,344 INFO L273 TraceCheckUtils]: 102: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,344 INFO L273 TraceCheckUtils]: 103: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,345 INFO L273 TraceCheckUtils]: 104: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,345 INFO L273 TraceCheckUtils]: 105: Hoare triple {20584#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20584#false} is VALID [2018-11-14 18:49:48,345 INFO L273 TraceCheckUtils]: 106: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,345 INFO L273 TraceCheckUtils]: 107: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,345 INFO L273 TraceCheckUtils]: 108: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,345 INFO L273 TraceCheckUtils]: 109: Hoare triple {20584#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20584#false} is VALID [2018-11-14 18:49:48,346 INFO L273 TraceCheckUtils]: 110: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,346 INFO L273 TraceCheckUtils]: 111: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,346 INFO L273 TraceCheckUtils]: 112: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,346 INFO L273 TraceCheckUtils]: 113: Hoare triple {20584#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20584#false} is VALID [2018-11-14 18:49:48,346 INFO L273 TraceCheckUtils]: 114: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,346 INFO L273 TraceCheckUtils]: 115: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,346 INFO L273 TraceCheckUtils]: 116: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,347 INFO L273 TraceCheckUtils]: 117: Hoare triple {20584#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20584#false} is VALID [2018-11-14 18:49:48,347 INFO L273 TraceCheckUtils]: 118: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,347 INFO L273 TraceCheckUtils]: 119: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,347 INFO L273 TraceCheckUtils]: 120: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,347 INFO L273 TraceCheckUtils]: 121: Hoare triple {20584#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20584#false} is VALID [2018-11-14 18:49:48,347 INFO L273 TraceCheckUtils]: 122: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,348 INFO L273 TraceCheckUtils]: 123: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,348 INFO L273 TraceCheckUtils]: 124: Hoare triple {20584#false} assume !(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,348 INFO L273 TraceCheckUtils]: 125: Hoare triple {20584#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {20584#false} is VALID [2018-11-14 18:49:48,348 INFO L273 TraceCheckUtils]: 126: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,348 INFO L268 TraceCheckUtils]: 127: Hoare quadruple {20584#false} {20584#false} #89#return; {20584#false} is VALID [2018-11-14 18:49:48,349 INFO L273 TraceCheckUtils]: 128: Hoare triple {20584#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {20584#false} is VALID [2018-11-14 18:49:48,349 INFO L273 TraceCheckUtils]: 129: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,349 INFO L273 TraceCheckUtils]: 130: Hoare triple {20584#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {20584#false} is VALID [2018-11-14 18:49:48,349 INFO L273 TraceCheckUtils]: 131: Hoare triple {20584#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {20584#false} is VALID [2018-11-14 18:49:48,349 INFO L273 TraceCheckUtils]: 132: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,349 INFO L273 TraceCheckUtils]: 133: Hoare triple {20584#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {20584#false} is VALID [2018-11-14 18:49:48,350 INFO L273 TraceCheckUtils]: 134: Hoare triple {20584#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {20584#false} is VALID [2018-11-14 18:49:48,350 INFO L273 TraceCheckUtils]: 135: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,350 INFO L273 TraceCheckUtils]: 136: Hoare triple {20584#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {20584#false} is VALID [2018-11-14 18:49:48,350 INFO L273 TraceCheckUtils]: 137: Hoare triple {20584#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {20584#false} is VALID [2018-11-14 18:49:48,350 INFO L273 TraceCheckUtils]: 138: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,350 INFO L273 TraceCheckUtils]: 139: Hoare triple {20584#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {20584#false} is VALID [2018-11-14 18:49:48,351 INFO L273 TraceCheckUtils]: 140: Hoare triple {20584#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {20584#false} is VALID [2018-11-14 18:49:48,351 INFO L273 TraceCheckUtils]: 141: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,351 INFO L273 TraceCheckUtils]: 142: Hoare triple {20584#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {20584#false} is VALID [2018-11-14 18:49:48,351 INFO L273 TraceCheckUtils]: 143: Hoare triple {20584#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {20584#false} is VALID [2018-11-14 18:49:48,351 INFO L273 TraceCheckUtils]: 144: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,351 INFO L273 TraceCheckUtils]: 145: Hoare triple {20584#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {20584#false} is VALID [2018-11-14 18:49:48,352 INFO L273 TraceCheckUtils]: 146: Hoare triple {20584#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {20584#false} is VALID [2018-11-14 18:49:48,352 INFO L273 TraceCheckUtils]: 147: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,352 INFO L273 TraceCheckUtils]: 148: Hoare triple {20584#false} assume !(~i~2 < 39); {20584#false} is VALID [2018-11-14 18:49:48,352 INFO L273 TraceCheckUtils]: 149: Hoare triple {20584#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {20584#false} is VALID [2018-11-14 18:49:48,352 INFO L256 TraceCheckUtils]: 150: Hoare triple {20584#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {20584#false} is VALID [2018-11-14 18:49:48,352 INFO L273 TraceCheckUtils]: 151: Hoare triple {20584#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {20584#false} is VALID [2018-11-14 18:49:48,353 INFO L273 TraceCheckUtils]: 152: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,353 INFO L273 TraceCheckUtils]: 153: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,353 INFO L273 TraceCheckUtils]: 154: Hoare triple {20584#false} assume !(~i~1 > 20); {20584#false} is VALID [2018-11-14 18:49:48,353 INFO L273 TraceCheckUtils]: 155: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,353 INFO L273 TraceCheckUtils]: 156: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,353 INFO L273 TraceCheckUtils]: 157: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,354 INFO L273 TraceCheckUtils]: 158: Hoare triple {20584#false} assume !(~i~1 > 20); {20584#false} is VALID [2018-11-14 18:49:48,354 INFO L273 TraceCheckUtils]: 159: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,354 INFO L273 TraceCheckUtils]: 160: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,354 INFO L273 TraceCheckUtils]: 161: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,354 INFO L273 TraceCheckUtils]: 162: Hoare triple {20584#false} assume !(~i~1 > 20); {20584#false} is VALID [2018-11-14 18:49:48,354 INFO L273 TraceCheckUtils]: 163: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,355 INFO L273 TraceCheckUtils]: 164: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,355 INFO L273 TraceCheckUtils]: 165: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,355 INFO L273 TraceCheckUtils]: 166: Hoare triple {20584#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20584#false} is VALID [2018-11-14 18:49:48,355 INFO L273 TraceCheckUtils]: 167: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,355 INFO L273 TraceCheckUtils]: 168: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,355 INFO L273 TraceCheckUtils]: 169: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,356 INFO L273 TraceCheckUtils]: 170: Hoare triple {20584#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20584#false} is VALID [2018-11-14 18:49:48,356 INFO L273 TraceCheckUtils]: 171: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,356 INFO L273 TraceCheckUtils]: 172: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,356 INFO L273 TraceCheckUtils]: 173: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,356 INFO L273 TraceCheckUtils]: 174: Hoare triple {20584#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20584#false} is VALID [2018-11-14 18:49:48,356 INFO L273 TraceCheckUtils]: 175: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,357 INFO L273 TraceCheckUtils]: 176: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,357 INFO L273 TraceCheckUtils]: 177: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,357 INFO L273 TraceCheckUtils]: 178: Hoare triple {20584#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20584#false} is VALID [2018-11-14 18:49:48,357 INFO L273 TraceCheckUtils]: 179: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,357 INFO L273 TraceCheckUtils]: 180: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,357 INFO L273 TraceCheckUtils]: 181: Hoare triple {20584#false} assume !!(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,358 INFO L273 TraceCheckUtils]: 182: Hoare triple {20584#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {20584#false} is VALID [2018-11-14 18:49:48,358 INFO L273 TraceCheckUtils]: 183: Hoare triple {20584#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {20584#false} is VALID [2018-11-14 18:49:48,358 INFO L273 TraceCheckUtils]: 184: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,358 INFO L273 TraceCheckUtils]: 185: Hoare triple {20584#false} assume !(~i~1 < 40); {20584#false} is VALID [2018-11-14 18:49:48,358 INFO L273 TraceCheckUtils]: 186: Hoare triple {20584#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {20584#false} is VALID [2018-11-14 18:49:48,358 INFO L273 TraceCheckUtils]: 187: Hoare triple {20584#false} assume true; {20584#false} is VALID [2018-11-14 18:49:48,359 INFO L268 TraceCheckUtils]: 188: Hoare quadruple {20584#false} {20584#false} #91#return; {20584#false} is VALID [2018-11-14 18:49:48,359 INFO L273 TraceCheckUtils]: 189: Hoare triple {20584#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {20584#false} is VALID [2018-11-14 18:49:48,359 INFO L273 TraceCheckUtils]: 190: Hoare triple {20584#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {20584#false} is VALID [2018-11-14 18:49:48,359 INFO L273 TraceCheckUtils]: 191: Hoare triple {20584#false} assume !false; {20584#false} is VALID [2018-11-14 18:49:48,400 INFO L134 CoverageAnalysis]: Checked inductivity of 1545 backedges. 645 proven. 55 refuted. 0 times theorem prover too weak. 845 trivial. 0 not checked. [2018-11-14 18:49:48,430 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:48,430 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2018-11-14 18:49:48,431 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 192 [2018-11-14 18:49:48,431 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:48,431 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-14 18:49:48,664 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:48,664 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-14 18:49:48,665 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-14 18:49:48,665 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-14 18:49:48,665 INFO L87 Difference]: Start difference. First operand 117 states and 127 transitions. Second operand 9 states. [2018-11-14 18:49:48,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:48,960 INFO L93 Difference]: Finished difference Result 190 states and 214 transitions. [2018-11-14 18:49:48,960 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-14 18:49:48,960 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 192 [2018-11-14 18:49:48,960 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:48,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 18:49:48,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 103 transitions. [2018-11-14 18:49:48,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 18:49:48,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 103 transitions. [2018-11-14 18:49:48,963 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 103 transitions. [2018-11-14 18:49:49,084 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:49,087 INFO L225 Difference]: With dead ends: 190 [2018-11-14 18:49:49,087 INFO L226 Difference]: Without dead ends: 123 [2018-11-14 18:49:49,087 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 191 GetRequests, 184 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-14 18:49:49,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2018-11-14 18:49:49,132 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 121. [2018-11-14 18:49:49,132 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:49,132 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand 121 states. [2018-11-14 18:49:49,132 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 121 states. [2018-11-14 18:49:49,132 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 121 states. [2018-11-14 18:49:49,135 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:49,135 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2018-11-14 18:49:49,135 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2018-11-14 18:49:49,136 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:49,136 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:49,136 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 123 states. [2018-11-14 18:49:49,136 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 123 states. [2018-11-14 18:49:49,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:49,138 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2018-11-14 18:49:49,138 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 135 transitions. [2018-11-14 18:49:49,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:49,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:49,139 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:49,139 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:49,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 121 states. [2018-11-14 18:49:49,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 132 transitions. [2018-11-14 18:49:49,141 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 132 transitions. Word has length 192 [2018-11-14 18:49:49,141 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:49,142 INFO L480 AbstractCegarLoop]: Abstraction has 121 states and 132 transitions. [2018-11-14 18:49:49,142 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-14 18:49:49,142 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 132 transitions. [2018-11-14 18:49:49,143 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 205 [2018-11-14 18:49:49,143 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:49,143 INFO L375 BasicCegarLoop]: trace histogram [30, 27, 27, 18, 13, 12, 12, 9, 7, 6, 6, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:49,143 INFO L423 AbstractCegarLoop]: === Iteration 29 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:49,143 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:49,144 INFO L82 PathProgramCache]: Analyzing trace with hash 193894260, now seen corresponding path program 24 times [2018-11-14 18:49:49,144 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:49,144 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:49,145 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:49,145 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:49,145 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:49,157 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:49,157 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:49,157 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:49,170 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-14 18:49:53,135 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 15 check-sat command(s) [2018-11-14 18:49:53,135 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:53,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:53,176 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:53,483 INFO L256 TraceCheckUtils]: 0: Hoare triple {21823#true} call ULTIMATE.init(); {21823#true} is VALID [2018-11-14 18:49:53,483 INFO L273 TraceCheckUtils]: 1: Hoare triple {21823#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {21823#true} is VALID [2018-11-14 18:49:53,483 INFO L273 TraceCheckUtils]: 2: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,484 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {21823#true} {21823#true} #81#return; {21823#true} is VALID [2018-11-14 18:49:53,484 INFO L256 TraceCheckUtils]: 4: Hoare triple {21823#true} call #t~ret12 := main(); {21823#true} is VALID [2018-11-14 18:49:53,484 INFO L273 TraceCheckUtils]: 5: Hoare triple {21823#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {21823#true} is VALID [2018-11-14 18:49:53,484 INFO L256 TraceCheckUtils]: 6: Hoare triple {21823#true} call init_nondet(~#x~0.base, ~#x~0.offset); {21823#true} is VALID [2018-11-14 18:49:53,484 INFO L273 TraceCheckUtils]: 7: Hoare triple {21823#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {21823#true} is VALID [2018-11-14 18:49:53,485 INFO L273 TraceCheckUtils]: 8: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,485 INFO L273 TraceCheckUtils]: 9: Hoare triple {21823#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {21823#true} is VALID [2018-11-14 18:49:53,485 INFO L273 TraceCheckUtils]: 10: Hoare triple {21823#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {21823#true} is VALID [2018-11-14 18:49:53,485 INFO L273 TraceCheckUtils]: 11: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,485 INFO L273 TraceCheckUtils]: 12: Hoare triple {21823#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {21823#true} is VALID [2018-11-14 18:49:53,485 INFO L273 TraceCheckUtils]: 13: Hoare triple {21823#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {21823#true} is VALID [2018-11-14 18:49:53,485 INFO L273 TraceCheckUtils]: 14: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,485 INFO L273 TraceCheckUtils]: 15: Hoare triple {21823#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {21823#true} is VALID [2018-11-14 18:49:53,485 INFO L273 TraceCheckUtils]: 16: Hoare triple {21823#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {21823#true} is VALID [2018-11-14 18:49:53,485 INFO L273 TraceCheckUtils]: 17: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,486 INFO L273 TraceCheckUtils]: 18: Hoare triple {21823#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {21823#true} is VALID [2018-11-14 18:49:53,486 INFO L273 TraceCheckUtils]: 19: Hoare triple {21823#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {21823#true} is VALID [2018-11-14 18:49:53,486 INFO L273 TraceCheckUtils]: 20: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,486 INFO L273 TraceCheckUtils]: 21: Hoare triple {21823#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {21823#true} is VALID [2018-11-14 18:49:53,486 INFO L273 TraceCheckUtils]: 22: Hoare triple {21823#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {21823#true} is VALID [2018-11-14 18:49:53,486 INFO L273 TraceCheckUtils]: 23: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,486 INFO L273 TraceCheckUtils]: 24: Hoare triple {21823#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {21823#true} is VALID [2018-11-14 18:49:53,486 INFO L273 TraceCheckUtils]: 25: Hoare triple {21823#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {21823#true} is VALID [2018-11-14 18:49:53,487 INFO L273 TraceCheckUtils]: 26: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,487 INFO L273 TraceCheckUtils]: 27: Hoare triple {21823#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {21823#true} is VALID [2018-11-14 18:49:53,487 INFO L273 TraceCheckUtils]: 28: Hoare triple {21823#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {21823#true} is VALID [2018-11-14 18:49:53,487 INFO L273 TraceCheckUtils]: 29: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,487 INFO L273 TraceCheckUtils]: 30: Hoare triple {21823#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {21823#true} is VALID [2018-11-14 18:49:53,487 INFO L273 TraceCheckUtils]: 31: Hoare triple {21823#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {21823#true} is VALID [2018-11-14 18:49:53,487 INFO L273 TraceCheckUtils]: 32: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,488 INFO L273 TraceCheckUtils]: 33: Hoare triple {21823#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {21823#true} is VALID [2018-11-14 18:49:53,488 INFO L273 TraceCheckUtils]: 34: Hoare triple {21823#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {21823#true} is VALID [2018-11-14 18:49:53,488 INFO L273 TraceCheckUtils]: 35: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,488 INFO L273 TraceCheckUtils]: 36: Hoare triple {21823#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {21823#true} is VALID [2018-11-14 18:49:53,488 INFO L273 TraceCheckUtils]: 37: Hoare triple {21823#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {21823#true} is VALID [2018-11-14 18:49:53,488 INFO L273 TraceCheckUtils]: 38: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,488 INFO L273 TraceCheckUtils]: 39: Hoare triple {21823#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {21823#true} is VALID [2018-11-14 18:49:53,488 INFO L273 TraceCheckUtils]: 40: Hoare triple {21823#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {21823#true} is VALID [2018-11-14 18:49:53,488 INFO L273 TraceCheckUtils]: 41: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,489 INFO L273 TraceCheckUtils]: 42: Hoare triple {21823#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {21823#true} is VALID [2018-11-14 18:49:53,489 INFO L273 TraceCheckUtils]: 43: Hoare triple {21823#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {21823#true} is VALID [2018-11-14 18:49:53,489 INFO L273 TraceCheckUtils]: 44: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,489 INFO L273 TraceCheckUtils]: 45: Hoare triple {21823#true} assume !(~i~0 < 40); {21823#true} is VALID [2018-11-14 18:49:53,489 INFO L273 TraceCheckUtils]: 46: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,489 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {21823#true} {21823#true} #85#return; {21823#true} is VALID [2018-11-14 18:49:53,489 INFO L273 TraceCheckUtils]: 48: Hoare triple {21823#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {21823#true} is VALID [2018-11-14 18:49:53,489 INFO L256 TraceCheckUtils]: 49: Hoare triple {21823#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {21823#true} is VALID [2018-11-14 18:49:53,489 INFO L273 TraceCheckUtils]: 50: Hoare triple {21823#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {21823#true} is VALID [2018-11-14 18:49:53,489 INFO L273 TraceCheckUtils]: 51: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,490 INFO L273 TraceCheckUtils]: 52: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,490 INFO L273 TraceCheckUtils]: 53: Hoare triple {21823#true} assume !(~i~1 > 20); {21823#true} is VALID [2018-11-14 18:49:53,490 INFO L273 TraceCheckUtils]: 54: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,490 INFO L273 TraceCheckUtils]: 55: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,490 INFO L273 TraceCheckUtils]: 56: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,490 INFO L273 TraceCheckUtils]: 57: Hoare triple {21823#true} assume !(~i~1 > 20); {21823#true} is VALID [2018-11-14 18:49:53,490 INFO L273 TraceCheckUtils]: 58: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,490 INFO L273 TraceCheckUtils]: 59: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,490 INFO L273 TraceCheckUtils]: 60: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,491 INFO L273 TraceCheckUtils]: 61: Hoare triple {21823#true} assume !(~i~1 > 20); {21823#true} is VALID [2018-11-14 18:49:53,491 INFO L273 TraceCheckUtils]: 62: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,491 INFO L273 TraceCheckUtils]: 63: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,491 INFO L273 TraceCheckUtils]: 64: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,491 INFO L273 TraceCheckUtils]: 65: Hoare triple {21823#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21823#true} is VALID [2018-11-14 18:49:53,491 INFO L273 TraceCheckUtils]: 66: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,491 INFO L273 TraceCheckUtils]: 67: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,491 INFO L273 TraceCheckUtils]: 68: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,491 INFO L273 TraceCheckUtils]: 69: Hoare triple {21823#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21823#true} is VALID [2018-11-14 18:49:53,491 INFO L273 TraceCheckUtils]: 70: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,492 INFO L273 TraceCheckUtils]: 71: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,492 INFO L273 TraceCheckUtils]: 72: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,492 INFO L273 TraceCheckUtils]: 73: Hoare triple {21823#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21823#true} is VALID [2018-11-14 18:49:53,492 INFO L273 TraceCheckUtils]: 74: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,492 INFO L273 TraceCheckUtils]: 75: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,492 INFO L273 TraceCheckUtils]: 76: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,493 INFO L273 TraceCheckUtils]: 77: Hoare triple {21823#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21823#true} is VALID [2018-11-14 18:49:53,493 INFO L273 TraceCheckUtils]: 78: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,493 INFO L273 TraceCheckUtils]: 79: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,493 INFO L273 TraceCheckUtils]: 80: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,493 INFO L273 TraceCheckUtils]: 81: Hoare triple {21823#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21823#true} is VALID [2018-11-14 18:49:53,493 INFO L273 TraceCheckUtils]: 82: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,494 INFO L273 TraceCheckUtils]: 83: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,494 INFO L273 TraceCheckUtils]: 84: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,494 INFO L273 TraceCheckUtils]: 85: Hoare triple {21823#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21823#true} is VALID [2018-11-14 18:49:53,494 INFO L273 TraceCheckUtils]: 86: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,494 INFO L273 TraceCheckUtils]: 87: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,494 INFO L273 TraceCheckUtils]: 88: Hoare triple {21823#true} assume !(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,495 INFO L273 TraceCheckUtils]: 89: Hoare triple {21823#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {21823#true} is VALID [2018-11-14 18:49:53,495 INFO L273 TraceCheckUtils]: 90: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,495 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {21823#true} {21823#true} #87#return; {21823#true} is VALID [2018-11-14 18:49:53,495 INFO L273 TraceCheckUtils]: 92: Hoare triple {21823#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {21823#true} is VALID [2018-11-14 18:49:53,495 INFO L256 TraceCheckUtils]: 93: Hoare triple {21823#true} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {21823#true} is VALID [2018-11-14 18:49:53,495 INFO L273 TraceCheckUtils]: 94: Hoare triple {21823#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {21823#true} is VALID [2018-11-14 18:49:53,495 INFO L273 TraceCheckUtils]: 95: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,496 INFO L273 TraceCheckUtils]: 96: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,496 INFO L273 TraceCheckUtils]: 97: Hoare triple {21823#true} assume !(~i~1 > 20); {21823#true} is VALID [2018-11-14 18:49:53,496 INFO L273 TraceCheckUtils]: 98: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,496 INFO L273 TraceCheckUtils]: 99: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,496 INFO L273 TraceCheckUtils]: 100: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,496 INFO L273 TraceCheckUtils]: 101: Hoare triple {21823#true} assume !(~i~1 > 20); {21823#true} is VALID [2018-11-14 18:49:53,496 INFO L273 TraceCheckUtils]: 102: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,497 INFO L273 TraceCheckUtils]: 103: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,497 INFO L273 TraceCheckUtils]: 104: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,497 INFO L273 TraceCheckUtils]: 105: Hoare triple {21823#true} assume !(~i~1 > 20); {21823#true} is VALID [2018-11-14 18:49:53,497 INFO L273 TraceCheckUtils]: 106: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,497 INFO L273 TraceCheckUtils]: 107: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,497 INFO L273 TraceCheckUtils]: 108: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,497 INFO L273 TraceCheckUtils]: 109: Hoare triple {21823#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21823#true} is VALID [2018-11-14 18:49:53,498 INFO L273 TraceCheckUtils]: 110: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,498 INFO L273 TraceCheckUtils]: 111: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,498 INFO L273 TraceCheckUtils]: 112: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,498 INFO L273 TraceCheckUtils]: 113: Hoare triple {21823#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21823#true} is VALID [2018-11-14 18:49:53,498 INFO L273 TraceCheckUtils]: 114: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,498 INFO L273 TraceCheckUtils]: 115: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,498 INFO L273 TraceCheckUtils]: 116: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,499 INFO L273 TraceCheckUtils]: 117: Hoare triple {21823#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21823#true} is VALID [2018-11-14 18:49:53,499 INFO L273 TraceCheckUtils]: 118: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,499 INFO L273 TraceCheckUtils]: 119: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,499 INFO L273 TraceCheckUtils]: 120: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,499 INFO L273 TraceCheckUtils]: 121: Hoare triple {21823#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21823#true} is VALID [2018-11-14 18:49:53,499 INFO L273 TraceCheckUtils]: 122: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,500 INFO L273 TraceCheckUtils]: 123: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,500 INFO L273 TraceCheckUtils]: 124: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,500 INFO L273 TraceCheckUtils]: 125: Hoare triple {21823#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21823#true} is VALID [2018-11-14 18:49:53,500 INFO L273 TraceCheckUtils]: 126: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,500 INFO L273 TraceCheckUtils]: 127: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,500 INFO L273 TraceCheckUtils]: 128: Hoare triple {21823#true} assume !!(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,500 INFO L273 TraceCheckUtils]: 129: Hoare triple {21823#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21823#true} is VALID [2018-11-14 18:49:53,501 INFO L273 TraceCheckUtils]: 130: Hoare triple {21823#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21823#true} is VALID [2018-11-14 18:49:53,501 INFO L273 TraceCheckUtils]: 131: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,501 INFO L273 TraceCheckUtils]: 132: Hoare triple {21823#true} assume !(~i~1 < 40); {21823#true} is VALID [2018-11-14 18:49:53,501 INFO L273 TraceCheckUtils]: 133: Hoare triple {21823#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {21823#true} is VALID [2018-11-14 18:49:53,501 INFO L273 TraceCheckUtils]: 134: Hoare triple {21823#true} assume true; {21823#true} is VALID [2018-11-14 18:49:53,501 INFO L268 TraceCheckUtils]: 135: Hoare quadruple {21823#true} {21823#true} #89#return; {21823#true} is VALID [2018-11-14 18:49:53,515 INFO L273 TraceCheckUtils]: 136: Hoare triple {21823#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {22236#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:53,516 INFO L273 TraceCheckUtils]: 137: Hoare triple {22236#(<= main_~i~2 0)} assume true; {22236#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:53,516 INFO L273 TraceCheckUtils]: 138: Hoare triple {22236#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {22236#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:53,519 INFO L273 TraceCheckUtils]: 139: Hoare triple {22236#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {22246#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:53,519 INFO L273 TraceCheckUtils]: 140: Hoare triple {22246#(<= main_~i~2 1)} assume true; {22246#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:53,521 INFO L273 TraceCheckUtils]: 141: Hoare triple {22246#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {22246#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:53,521 INFO L273 TraceCheckUtils]: 142: Hoare triple {22246#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {22256#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:53,523 INFO L273 TraceCheckUtils]: 143: Hoare triple {22256#(<= main_~i~2 2)} assume true; {22256#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:53,523 INFO L273 TraceCheckUtils]: 144: Hoare triple {22256#(<= main_~i~2 2)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {22256#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:53,525 INFO L273 TraceCheckUtils]: 145: Hoare triple {22256#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {22266#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:53,525 INFO L273 TraceCheckUtils]: 146: Hoare triple {22266#(<= main_~i~2 3)} assume true; {22266#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:53,527 INFO L273 TraceCheckUtils]: 147: Hoare triple {22266#(<= main_~i~2 3)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {22266#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:53,527 INFO L273 TraceCheckUtils]: 148: Hoare triple {22266#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {22276#(<= main_~i~2 4)} is VALID [2018-11-14 18:49:53,529 INFO L273 TraceCheckUtils]: 149: Hoare triple {22276#(<= main_~i~2 4)} assume true; {22276#(<= main_~i~2 4)} is VALID [2018-11-14 18:49:53,529 INFO L273 TraceCheckUtils]: 150: Hoare triple {22276#(<= main_~i~2 4)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {22276#(<= main_~i~2 4)} is VALID [2018-11-14 18:49:53,531 INFO L273 TraceCheckUtils]: 151: Hoare triple {22276#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {22286#(<= main_~i~2 5)} is VALID [2018-11-14 18:49:53,531 INFO L273 TraceCheckUtils]: 152: Hoare triple {22286#(<= main_~i~2 5)} assume true; {22286#(<= main_~i~2 5)} is VALID [2018-11-14 18:49:53,533 INFO L273 TraceCheckUtils]: 153: Hoare triple {22286#(<= main_~i~2 5)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {22286#(<= main_~i~2 5)} is VALID [2018-11-14 18:49:53,533 INFO L273 TraceCheckUtils]: 154: Hoare triple {22286#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {22296#(<= main_~i~2 6)} is VALID [2018-11-14 18:49:53,535 INFO L273 TraceCheckUtils]: 155: Hoare triple {22296#(<= main_~i~2 6)} assume true; {22296#(<= main_~i~2 6)} is VALID [2018-11-14 18:49:53,535 INFO L273 TraceCheckUtils]: 156: Hoare triple {22296#(<= main_~i~2 6)} assume !(~i~2 < 39); {21824#false} is VALID [2018-11-14 18:49:53,535 INFO L273 TraceCheckUtils]: 157: Hoare triple {21824#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {21824#false} is VALID [2018-11-14 18:49:53,535 INFO L256 TraceCheckUtils]: 158: Hoare triple {21824#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {21824#false} is VALID [2018-11-14 18:49:53,535 INFO L273 TraceCheckUtils]: 159: Hoare triple {21824#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {21824#false} is VALID [2018-11-14 18:49:53,535 INFO L273 TraceCheckUtils]: 160: Hoare triple {21824#false} assume true; {21824#false} is VALID [2018-11-14 18:49:53,536 INFO L273 TraceCheckUtils]: 161: Hoare triple {21824#false} assume !!(~i~1 < 40); {21824#false} is VALID [2018-11-14 18:49:53,536 INFO L273 TraceCheckUtils]: 162: Hoare triple {21824#false} assume !(~i~1 > 20); {21824#false} is VALID [2018-11-14 18:49:53,536 INFO L273 TraceCheckUtils]: 163: Hoare triple {21824#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21824#false} is VALID [2018-11-14 18:49:53,536 INFO L273 TraceCheckUtils]: 164: Hoare triple {21824#false} assume true; {21824#false} is VALID [2018-11-14 18:49:53,536 INFO L273 TraceCheckUtils]: 165: Hoare triple {21824#false} assume !!(~i~1 < 40); {21824#false} is VALID [2018-11-14 18:49:53,536 INFO L273 TraceCheckUtils]: 166: Hoare triple {21824#false} assume !(~i~1 > 20); {21824#false} is VALID [2018-11-14 18:49:53,536 INFO L273 TraceCheckUtils]: 167: Hoare triple {21824#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21824#false} is VALID [2018-11-14 18:49:53,536 INFO L273 TraceCheckUtils]: 168: Hoare triple {21824#false} assume true; {21824#false} is VALID [2018-11-14 18:49:53,537 INFO L273 TraceCheckUtils]: 169: Hoare triple {21824#false} assume !!(~i~1 < 40); {21824#false} is VALID [2018-11-14 18:49:53,537 INFO L273 TraceCheckUtils]: 170: Hoare triple {21824#false} assume !(~i~1 > 20); {21824#false} is VALID [2018-11-14 18:49:53,537 INFO L273 TraceCheckUtils]: 171: Hoare triple {21824#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21824#false} is VALID [2018-11-14 18:49:53,537 INFO L273 TraceCheckUtils]: 172: Hoare triple {21824#false} assume true; {21824#false} is VALID [2018-11-14 18:49:53,537 INFO L273 TraceCheckUtils]: 173: Hoare triple {21824#false} assume !!(~i~1 < 40); {21824#false} is VALID [2018-11-14 18:49:53,537 INFO L273 TraceCheckUtils]: 174: Hoare triple {21824#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21824#false} is VALID [2018-11-14 18:49:53,538 INFO L273 TraceCheckUtils]: 175: Hoare triple {21824#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21824#false} is VALID [2018-11-14 18:49:53,538 INFO L273 TraceCheckUtils]: 176: Hoare triple {21824#false} assume true; {21824#false} is VALID [2018-11-14 18:49:53,538 INFO L273 TraceCheckUtils]: 177: Hoare triple {21824#false} assume !!(~i~1 < 40); {21824#false} is VALID [2018-11-14 18:49:53,538 INFO L273 TraceCheckUtils]: 178: Hoare triple {21824#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21824#false} is VALID [2018-11-14 18:49:53,538 INFO L273 TraceCheckUtils]: 179: Hoare triple {21824#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21824#false} is VALID [2018-11-14 18:49:53,538 INFO L273 TraceCheckUtils]: 180: Hoare triple {21824#false} assume true; {21824#false} is VALID [2018-11-14 18:49:53,539 INFO L273 TraceCheckUtils]: 181: Hoare triple {21824#false} assume !!(~i~1 < 40); {21824#false} is VALID [2018-11-14 18:49:53,539 INFO L273 TraceCheckUtils]: 182: Hoare triple {21824#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21824#false} is VALID [2018-11-14 18:49:53,539 INFO L273 TraceCheckUtils]: 183: Hoare triple {21824#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21824#false} is VALID [2018-11-14 18:49:53,539 INFO L273 TraceCheckUtils]: 184: Hoare triple {21824#false} assume true; {21824#false} is VALID [2018-11-14 18:49:53,539 INFO L273 TraceCheckUtils]: 185: Hoare triple {21824#false} assume !!(~i~1 < 40); {21824#false} is VALID [2018-11-14 18:49:53,539 INFO L273 TraceCheckUtils]: 186: Hoare triple {21824#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21824#false} is VALID [2018-11-14 18:49:53,539 INFO L273 TraceCheckUtils]: 187: Hoare triple {21824#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21824#false} is VALID [2018-11-14 18:49:53,539 INFO L273 TraceCheckUtils]: 188: Hoare triple {21824#false} assume true; {21824#false} is VALID [2018-11-14 18:49:53,539 INFO L273 TraceCheckUtils]: 189: Hoare triple {21824#false} assume !!(~i~1 < 40); {21824#false} is VALID [2018-11-14 18:49:53,539 INFO L273 TraceCheckUtils]: 190: Hoare triple {21824#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21824#false} is VALID [2018-11-14 18:49:53,540 INFO L273 TraceCheckUtils]: 191: Hoare triple {21824#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21824#false} is VALID [2018-11-14 18:49:53,540 INFO L273 TraceCheckUtils]: 192: Hoare triple {21824#false} assume true; {21824#false} is VALID [2018-11-14 18:49:53,540 INFO L273 TraceCheckUtils]: 193: Hoare triple {21824#false} assume !!(~i~1 < 40); {21824#false} is VALID [2018-11-14 18:49:53,540 INFO L273 TraceCheckUtils]: 194: Hoare triple {21824#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {21824#false} is VALID [2018-11-14 18:49:53,540 INFO L273 TraceCheckUtils]: 195: Hoare triple {21824#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {21824#false} is VALID [2018-11-14 18:49:53,540 INFO L273 TraceCheckUtils]: 196: Hoare triple {21824#false} assume true; {21824#false} is VALID [2018-11-14 18:49:53,540 INFO L273 TraceCheckUtils]: 197: Hoare triple {21824#false} assume !(~i~1 < 40); {21824#false} is VALID [2018-11-14 18:49:53,540 INFO L273 TraceCheckUtils]: 198: Hoare triple {21824#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {21824#false} is VALID [2018-11-14 18:49:53,540 INFO L273 TraceCheckUtils]: 199: Hoare triple {21824#false} assume true; {21824#false} is VALID [2018-11-14 18:49:53,541 INFO L268 TraceCheckUtils]: 200: Hoare quadruple {21824#false} {21824#false} #91#return; {21824#false} is VALID [2018-11-14 18:49:53,541 INFO L273 TraceCheckUtils]: 201: Hoare triple {21824#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {21824#false} is VALID [2018-11-14 18:49:53,541 INFO L273 TraceCheckUtils]: 202: Hoare triple {21824#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {21824#false} is VALID [2018-11-14 18:49:53,541 INFO L273 TraceCheckUtils]: 203: Hoare triple {21824#false} assume !false; {21824#false} is VALID [2018-11-14 18:49:53,556 INFO L134 CoverageAnalysis]: Checked inductivity of 1863 backedges. 732 proven. 57 refuted. 0 times theorem prover too weak. 1074 trivial. 0 not checked. [2018-11-14 18:49:53,577 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:53,577 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2018-11-14 18:49:53,577 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 204 [2018-11-14 18:49:53,577 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:53,578 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-14 18:49:53,654 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:53,654 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-14 18:49:53,654 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-14 18:49:53,654 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-14 18:49:53,654 INFO L87 Difference]: Start difference. First operand 121 states and 132 transitions. Second operand 9 states. [2018-11-14 18:49:53,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:53,956 INFO L93 Difference]: Finished difference Result 173 states and 192 transitions. [2018-11-14 18:49:53,956 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-14 18:49:53,956 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 204 [2018-11-14 18:49:53,957 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:53,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 18:49:53,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2018-11-14 18:49:53,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 18:49:53,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2018-11-14 18:49:53,959 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 79 transitions. [2018-11-14 18:49:54,034 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:54,037 INFO L225 Difference]: With dead ends: 173 [2018-11-14 18:49:54,037 INFO L226 Difference]: Without dead ends: 125 [2018-11-14 18:49:54,037 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 203 GetRequests, 196 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-14 18:49:54,037 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2018-11-14 18:49:54,074 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 124. [2018-11-14 18:49:54,074 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:54,074 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand 124 states. [2018-11-14 18:49:54,074 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand 124 states. [2018-11-14 18:49:54,074 INFO L87 Difference]: Start difference. First operand 125 states. Second operand 124 states. [2018-11-14 18:49:54,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:54,077 INFO L93 Difference]: Finished difference Result 125 states and 136 transitions. [2018-11-14 18:49:54,077 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 136 transitions. [2018-11-14 18:49:54,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:54,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:54,078 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand 125 states. [2018-11-14 18:49:54,078 INFO L87 Difference]: Start difference. First operand 124 states. Second operand 125 states. [2018-11-14 18:49:54,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:54,080 INFO L93 Difference]: Finished difference Result 125 states and 136 transitions. [2018-11-14 18:49:54,080 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 136 transitions. [2018-11-14 18:49:54,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:54,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:54,081 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:54,081 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:54,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 124 states. [2018-11-14 18:49:54,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 135 transitions. [2018-11-14 18:49:54,083 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 135 transitions. Word has length 204 [2018-11-14 18:49:54,083 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:54,083 INFO L480 AbstractCegarLoop]: Abstraction has 124 states and 135 transitions. [2018-11-14 18:49:54,083 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-14 18:49:54,083 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 135 transitions. [2018-11-14 18:49:54,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 208 [2018-11-14 18:49:54,084 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:54,084 INFO L375 BasicCegarLoop]: trace histogram [30, 27, 27, 18, 13, 12, 12, 9, 8, 7, 7, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:54,084 INFO L423 AbstractCegarLoop]: === Iteration 30 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:54,084 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:54,085 INFO L82 PathProgramCache]: Analyzing trace with hash 1539533063, now seen corresponding path program 25 times [2018-11-14 18:49:54,085 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:54,085 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:54,085 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:54,085 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:54,085 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:54,096 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:54,096 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:54,096 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:54,108 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:54,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:54,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:54,220 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:55,013 INFO L256 TraceCheckUtils]: 0: Hoare triple {23084#true} call ULTIMATE.init(); {23084#true} is VALID [2018-11-14 18:49:55,014 INFO L273 TraceCheckUtils]: 1: Hoare triple {23084#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {23084#true} is VALID [2018-11-14 18:49:55,014 INFO L273 TraceCheckUtils]: 2: Hoare triple {23084#true} assume true; {23084#true} is VALID [2018-11-14 18:49:55,014 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {23084#true} {23084#true} #81#return; {23084#true} is VALID [2018-11-14 18:49:55,014 INFO L256 TraceCheckUtils]: 4: Hoare triple {23084#true} call #t~ret12 := main(); {23084#true} is VALID [2018-11-14 18:49:55,015 INFO L273 TraceCheckUtils]: 5: Hoare triple {23084#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {23084#true} is VALID [2018-11-14 18:49:55,015 INFO L256 TraceCheckUtils]: 6: Hoare triple {23084#true} call init_nondet(~#x~0.base, ~#x~0.offset); {23084#true} is VALID [2018-11-14 18:49:55,015 INFO L273 TraceCheckUtils]: 7: Hoare triple {23084#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {23110#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:55,016 INFO L273 TraceCheckUtils]: 8: Hoare triple {23110#(<= init_nondet_~i~0 0)} assume true; {23110#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:55,016 INFO L273 TraceCheckUtils]: 9: Hoare triple {23110#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {23110#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:55,017 INFO L273 TraceCheckUtils]: 10: Hoare triple {23110#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {23120#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:55,018 INFO L273 TraceCheckUtils]: 11: Hoare triple {23120#(<= init_nondet_~i~0 1)} assume true; {23120#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:55,018 INFO L273 TraceCheckUtils]: 12: Hoare triple {23120#(<= init_nondet_~i~0 1)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {23120#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:55,018 INFO L273 TraceCheckUtils]: 13: Hoare triple {23120#(<= init_nondet_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {23130#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:55,019 INFO L273 TraceCheckUtils]: 14: Hoare triple {23130#(<= init_nondet_~i~0 2)} assume true; {23130#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:55,019 INFO L273 TraceCheckUtils]: 15: Hoare triple {23130#(<= init_nondet_~i~0 2)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {23130#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:55,019 INFO L273 TraceCheckUtils]: 16: Hoare triple {23130#(<= init_nondet_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {23140#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:55,020 INFO L273 TraceCheckUtils]: 17: Hoare triple {23140#(<= init_nondet_~i~0 3)} assume true; {23140#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:55,020 INFO L273 TraceCheckUtils]: 18: Hoare triple {23140#(<= init_nondet_~i~0 3)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {23140#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:55,021 INFO L273 TraceCheckUtils]: 19: Hoare triple {23140#(<= init_nondet_~i~0 3)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {23150#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:55,021 INFO L273 TraceCheckUtils]: 20: Hoare triple {23150#(<= init_nondet_~i~0 4)} assume true; {23150#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:55,022 INFO L273 TraceCheckUtils]: 21: Hoare triple {23150#(<= init_nondet_~i~0 4)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {23150#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:55,022 INFO L273 TraceCheckUtils]: 22: Hoare triple {23150#(<= init_nondet_~i~0 4)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {23160#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:55,023 INFO L273 TraceCheckUtils]: 23: Hoare triple {23160#(<= init_nondet_~i~0 5)} assume true; {23160#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:55,023 INFO L273 TraceCheckUtils]: 24: Hoare triple {23160#(<= init_nondet_~i~0 5)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {23160#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:55,024 INFO L273 TraceCheckUtils]: 25: Hoare triple {23160#(<= init_nondet_~i~0 5)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {23170#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:55,025 INFO L273 TraceCheckUtils]: 26: Hoare triple {23170#(<= init_nondet_~i~0 6)} assume true; {23170#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:55,025 INFO L273 TraceCheckUtils]: 27: Hoare triple {23170#(<= init_nondet_~i~0 6)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {23170#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:55,026 INFO L273 TraceCheckUtils]: 28: Hoare triple {23170#(<= init_nondet_~i~0 6)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {23180#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:55,026 INFO L273 TraceCheckUtils]: 29: Hoare triple {23180#(<= init_nondet_~i~0 7)} assume true; {23180#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:55,027 INFO L273 TraceCheckUtils]: 30: Hoare triple {23180#(<= init_nondet_~i~0 7)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {23180#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:55,028 INFO L273 TraceCheckUtils]: 31: Hoare triple {23180#(<= init_nondet_~i~0 7)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {23190#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:55,028 INFO L273 TraceCheckUtils]: 32: Hoare triple {23190#(<= init_nondet_~i~0 8)} assume true; {23190#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:55,029 INFO L273 TraceCheckUtils]: 33: Hoare triple {23190#(<= init_nondet_~i~0 8)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {23190#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:55,029 INFO L273 TraceCheckUtils]: 34: Hoare triple {23190#(<= init_nondet_~i~0 8)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {23200#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:55,030 INFO L273 TraceCheckUtils]: 35: Hoare triple {23200#(<= init_nondet_~i~0 9)} assume true; {23200#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:55,030 INFO L273 TraceCheckUtils]: 36: Hoare triple {23200#(<= init_nondet_~i~0 9)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {23200#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:55,031 INFO L273 TraceCheckUtils]: 37: Hoare triple {23200#(<= init_nondet_~i~0 9)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {23210#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:49:55,032 INFO L273 TraceCheckUtils]: 38: Hoare triple {23210#(<= init_nondet_~i~0 10)} assume true; {23210#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:49:55,032 INFO L273 TraceCheckUtils]: 39: Hoare triple {23210#(<= init_nondet_~i~0 10)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {23210#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:49:55,033 INFO L273 TraceCheckUtils]: 40: Hoare triple {23210#(<= init_nondet_~i~0 10)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {23220#(<= init_nondet_~i~0 11)} is VALID [2018-11-14 18:49:55,033 INFO L273 TraceCheckUtils]: 41: Hoare triple {23220#(<= init_nondet_~i~0 11)} assume true; {23220#(<= init_nondet_~i~0 11)} is VALID [2018-11-14 18:49:55,034 INFO L273 TraceCheckUtils]: 42: Hoare triple {23220#(<= init_nondet_~i~0 11)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {23220#(<= init_nondet_~i~0 11)} is VALID [2018-11-14 18:49:55,035 INFO L273 TraceCheckUtils]: 43: Hoare triple {23220#(<= init_nondet_~i~0 11)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {23230#(<= init_nondet_~i~0 12)} is VALID [2018-11-14 18:49:55,035 INFO L273 TraceCheckUtils]: 44: Hoare triple {23230#(<= init_nondet_~i~0 12)} assume true; {23230#(<= init_nondet_~i~0 12)} is VALID [2018-11-14 18:49:55,036 INFO L273 TraceCheckUtils]: 45: Hoare triple {23230#(<= init_nondet_~i~0 12)} assume !(~i~0 < 40); {23085#false} is VALID [2018-11-14 18:49:55,036 INFO L273 TraceCheckUtils]: 46: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,036 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {23085#false} {23084#true} #85#return; {23085#false} is VALID [2018-11-14 18:49:55,036 INFO L273 TraceCheckUtils]: 48: Hoare triple {23085#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {23085#false} is VALID [2018-11-14 18:49:55,037 INFO L256 TraceCheckUtils]: 49: Hoare triple {23085#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {23085#false} is VALID [2018-11-14 18:49:55,037 INFO L273 TraceCheckUtils]: 50: Hoare triple {23085#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {23085#false} is VALID [2018-11-14 18:49:55,037 INFO L273 TraceCheckUtils]: 51: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,037 INFO L273 TraceCheckUtils]: 52: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,037 INFO L273 TraceCheckUtils]: 53: Hoare triple {23085#false} assume !(~i~1 > 20); {23085#false} is VALID [2018-11-14 18:49:55,037 INFO L273 TraceCheckUtils]: 54: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,038 INFO L273 TraceCheckUtils]: 55: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,038 INFO L273 TraceCheckUtils]: 56: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,038 INFO L273 TraceCheckUtils]: 57: Hoare triple {23085#false} assume !(~i~1 > 20); {23085#false} is VALID [2018-11-14 18:49:55,038 INFO L273 TraceCheckUtils]: 58: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,038 INFO L273 TraceCheckUtils]: 59: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,038 INFO L273 TraceCheckUtils]: 60: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,039 INFO L273 TraceCheckUtils]: 61: Hoare triple {23085#false} assume !(~i~1 > 20); {23085#false} is VALID [2018-11-14 18:49:55,039 INFO L273 TraceCheckUtils]: 62: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,039 INFO L273 TraceCheckUtils]: 63: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,039 INFO L273 TraceCheckUtils]: 64: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,039 INFO L273 TraceCheckUtils]: 65: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,039 INFO L273 TraceCheckUtils]: 66: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,039 INFO L273 TraceCheckUtils]: 67: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,039 INFO L273 TraceCheckUtils]: 68: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,039 INFO L273 TraceCheckUtils]: 69: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,039 INFO L273 TraceCheckUtils]: 70: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,040 INFO L273 TraceCheckUtils]: 71: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,040 INFO L273 TraceCheckUtils]: 72: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,040 INFO L273 TraceCheckUtils]: 73: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,040 INFO L273 TraceCheckUtils]: 74: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,040 INFO L273 TraceCheckUtils]: 75: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,040 INFO L273 TraceCheckUtils]: 76: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,040 INFO L273 TraceCheckUtils]: 77: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,040 INFO L273 TraceCheckUtils]: 78: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,040 INFO L273 TraceCheckUtils]: 79: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,041 INFO L273 TraceCheckUtils]: 80: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,041 INFO L273 TraceCheckUtils]: 81: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,041 INFO L273 TraceCheckUtils]: 82: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,041 INFO L273 TraceCheckUtils]: 83: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,041 INFO L273 TraceCheckUtils]: 84: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,041 INFO L273 TraceCheckUtils]: 85: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,041 INFO L273 TraceCheckUtils]: 86: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,041 INFO L273 TraceCheckUtils]: 87: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,041 INFO L273 TraceCheckUtils]: 88: Hoare triple {23085#false} assume !(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,041 INFO L273 TraceCheckUtils]: 89: Hoare triple {23085#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {23085#false} is VALID [2018-11-14 18:49:55,042 INFO L273 TraceCheckUtils]: 90: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,042 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {23085#false} {23085#false} #87#return; {23085#false} is VALID [2018-11-14 18:49:55,042 INFO L273 TraceCheckUtils]: 92: Hoare triple {23085#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {23085#false} is VALID [2018-11-14 18:49:55,042 INFO L256 TraceCheckUtils]: 93: Hoare triple {23085#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {23085#false} is VALID [2018-11-14 18:49:55,042 INFO L273 TraceCheckUtils]: 94: Hoare triple {23085#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {23085#false} is VALID [2018-11-14 18:49:55,042 INFO L273 TraceCheckUtils]: 95: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,042 INFO L273 TraceCheckUtils]: 96: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,042 INFO L273 TraceCheckUtils]: 97: Hoare triple {23085#false} assume !(~i~1 > 20); {23085#false} is VALID [2018-11-14 18:49:55,042 INFO L273 TraceCheckUtils]: 98: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,043 INFO L273 TraceCheckUtils]: 99: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,043 INFO L273 TraceCheckUtils]: 100: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,043 INFO L273 TraceCheckUtils]: 101: Hoare triple {23085#false} assume !(~i~1 > 20); {23085#false} is VALID [2018-11-14 18:49:55,043 INFO L273 TraceCheckUtils]: 102: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,043 INFO L273 TraceCheckUtils]: 103: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,043 INFO L273 TraceCheckUtils]: 104: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,043 INFO L273 TraceCheckUtils]: 105: Hoare triple {23085#false} assume !(~i~1 > 20); {23085#false} is VALID [2018-11-14 18:49:55,043 INFO L273 TraceCheckUtils]: 106: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,043 INFO L273 TraceCheckUtils]: 107: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,043 INFO L273 TraceCheckUtils]: 108: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,044 INFO L273 TraceCheckUtils]: 109: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,044 INFO L273 TraceCheckUtils]: 110: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,044 INFO L273 TraceCheckUtils]: 111: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,044 INFO L273 TraceCheckUtils]: 112: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,044 INFO L273 TraceCheckUtils]: 113: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,044 INFO L273 TraceCheckUtils]: 114: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,044 INFO L273 TraceCheckUtils]: 115: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,044 INFO L273 TraceCheckUtils]: 116: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,044 INFO L273 TraceCheckUtils]: 117: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,045 INFO L273 TraceCheckUtils]: 118: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,045 INFO L273 TraceCheckUtils]: 119: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,045 INFO L273 TraceCheckUtils]: 120: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,045 INFO L273 TraceCheckUtils]: 121: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,045 INFO L273 TraceCheckUtils]: 122: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,045 INFO L273 TraceCheckUtils]: 123: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,045 INFO L273 TraceCheckUtils]: 124: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,045 INFO L273 TraceCheckUtils]: 125: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,045 INFO L273 TraceCheckUtils]: 126: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,045 INFO L273 TraceCheckUtils]: 127: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,046 INFO L273 TraceCheckUtils]: 128: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,046 INFO L273 TraceCheckUtils]: 129: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,046 INFO L273 TraceCheckUtils]: 130: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,046 INFO L273 TraceCheckUtils]: 131: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,046 INFO L273 TraceCheckUtils]: 132: Hoare triple {23085#false} assume !(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,046 INFO L273 TraceCheckUtils]: 133: Hoare triple {23085#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {23085#false} is VALID [2018-11-14 18:49:55,046 INFO L273 TraceCheckUtils]: 134: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,046 INFO L268 TraceCheckUtils]: 135: Hoare quadruple {23085#false} {23085#false} #89#return; {23085#false} is VALID [2018-11-14 18:49:55,046 INFO L273 TraceCheckUtils]: 136: Hoare triple {23085#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {23085#false} is VALID [2018-11-14 18:49:55,047 INFO L273 TraceCheckUtils]: 137: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,047 INFO L273 TraceCheckUtils]: 138: Hoare triple {23085#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {23085#false} is VALID [2018-11-14 18:49:55,047 INFO L273 TraceCheckUtils]: 139: Hoare triple {23085#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {23085#false} is VALID [2018-11-14 18:49:55,047 INFO L273 TraceCheckUtils]: 140: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,047 INFO L273 TraceCheckUtils]: 141: Hoare triple {23085#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {23085#false} is VALID [2018-11-14 18:49:55,047 INFO L273 TraceCheckUtils]: 142: Hoare triple {23085#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {23085#false} is VALID [2018-11-14 18:49:55,047 INFO L273 TraceCheckUtils]: 143: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,047 INFO L273 TraceCheckUtils]: 144: Hoare triple {23085#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {23085#false} is VALID [2018-11-14 18:49:55,047 INFO L273 TraceCheckUtils]: 145: Hoare triple {23085#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {23085#false} is VALID [2018-11-14 18:49:55,047 INFO L273 TraceCheckUtils]: 146: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,048 INFO L273 TraceCheckUtils]: 147: Hoare triple {23085#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {23085#false} is VALID [2018-11-14 18:49:55,048 INFO L273 TraceCheckUtils]: 148: Hoare triple {23085#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {23085#false} is VALID [2018-11-14 18:49:55,048 INFO L273 TraceCheckUtils]: 149: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,048 INFO L273 TraceCheckUtils]: 150: Hoare triple {23085#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {23085#false} is VALID [2018-11-14 18:49:55,048 INFO L273 TraceCheckUtils]: 151: Hoare triple {23085#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {23085#false} is VALID [2018-11-14 18:49:55,048 INFO L273 TraceCheckUtils]: 152: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,048 INFO L273 TraceCheckUtils]: 153: Hoare triple {23085#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {23085#false} is VALID [2018-11-14 18:49:55,048 INFO L273 TraceCheckUtils]: 154: Hoare triple {23085#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {23085#false} is VALID [2018-11-14 18:49:55,048 INFO L273 TraceCheckUtils]: 155: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,048 INFO L273 TraceCheckUtils]: 156: Hoare triple {23085#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {23085#false} is VALID [2018-11-14 18:49:55,049 INFO L273 TraceCheckUtils]: 157: Hoare triple {23085#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {23085#false} is VALID [2018-11-14 18:49:55,049 INFO L273 TraceCheckUtils]: 158: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,049 INFO L273 TraceCheckUtils]: 159: Hoare triple {23085#false} assume !(~i~2 < 39); {23085#false} is VALID [2018-11-14 18:49:55,049 INFO L273 TraceCheckUtils]: 160: Hoare triple {23085#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {23085#false} is VALID [2018-11-14 18:49:55,049 INFO L256 TraceCheckUtils]: 161: Hoare triple {23085#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {23085#false} is VALID [2018-11-14 18:49:55,049 INFO L273 TraceCheckUtils]: 162: Hoare triple {23085#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {23085#false} is VALID [2018-11-14 18:49:55,049 INFO L273 TraceCheckUtils]: 163: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,049 INFO L273 TraceCheckUtils]: 164: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,049 INFO L273 TraceCheckUtils]: 165: Hoare triple {23085#false} assume !(~i~1 > 20); {23085#false} is VALID [2018-11-14 18:49:55,050 INFO L273 TraceCheckUtils]: 166: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,050 INFO L273 TraceCheckUtils]: 167: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,050 INFO L273 TraceCheckUtils]: 168: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,050 INFO L273 TraceCheckUtils]: 169: Hoare triple {23085#false} assume !(~i~1 > 20); {23085#false} is VALID [2018-11-14 18:49:55,050 INFO L273 TraceCheckUtils]: 170: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,050 INFO L273 TraceCheckUtils]: 171: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,050 INFO L273 TraceCheckUtils]: 172: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,050 INFO L273 TraceCheckUtils]: 173: Hoare triple {23085#false} assume !(~i~1 > 20); {23085#false} is VALID [2018-11-14 18:49:55,050 INFO L273 TraceCheckUtils]: 174: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,050 INFO L273 TraceCheckUtils]: 175: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,051 INFO L273 TraceCheckUtils]: 176: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,051 INFO L273 TraceCheckUtils]: 177: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,051 INFO L273 TraceCheckUtils]: 178: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,051 INFO L273 TraceCheckUtils]: 179: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,051 INFO L273 TraceCheckUtils]: 180: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,051 INFO L273 TraceCheckUtils]: 181: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,051 INFO L273 TraceCheckUtils]: 182: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,051 INFO L273 TraceCheckUtils]: 183: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,051 INFO L273 TraceCheckUtils]: 184: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,052 INFO L273 TraceCheckUtils]: 185: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,052 INFO L273 TraceCheckUtils]: 186: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,052 INFO L273 TraceCheckUtils]: 187: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,052 INFO L273 TraceCheckUtils]: 188: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,052 INFO L273 TraceCheckUtils]: 189: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,052 INFO L273 TraceCheckUtils]: 190: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,052 INFO L273 TraceCheckUtils]: 191: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,052 INFO L273 TraceCheckUtils]: 192: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,052 INFO L273 TraceCheckUtils]: 193: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,052 INFO L273 TraceCheckUtils]: 194: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,053 INFO L273 TraceCheckUtils]: 195: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,053 INFO L273 TraceCheckUtils]: 196: Hoare triple {23085#false} assume !!(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,053 INFO L273 TraceCheckUtils]: 197: Hoare triple {23085#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {23085#false} is VALID [2018-11-14 18:49:55,053 INFO L273 TraceCheckUtils]: 198: Hoare triple {23085#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {23085#false} is VALID [2018-11-14 18:49:55,053 INFO L273 TraceCheckUtils]: 199: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,053 INFO L273 TraceCheckUtils]: 200: Hoare triple {23085#false} assume !(~i~1 < 40); {23085#false} is VALID [2018-11-14 18:49:55,053 INFO L273 TraceCheckUtils]: 201: Hoare triple {23085#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {23085#false} is VALID [2018-11-14 18:49:55,053 INFO L273 TraceCheckUtils]: 202: Hoare triple {23085#false} assume true; {23085#false} is VALID [2018-11-14 18:49:55,053 INFO L268 TraceCheckUtils]: 203: Hoare quadruple {23085#false} {23085#false} #91#return; {23085#false} is VALID [2018-11-14 18:49:55,053 INFO L273 TraceCheckUtils]: 204: Hoare triple {23085#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {23085#false} is VALID [2018-11-14 18:49:55,054 INFO L273 TraceCheckUtils]: 205: Hoare triple {23085#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {23085#false} is VALID [2018-11-14 18:49:55,054 INFO L273 TraceCheckUtils]: 206: Hoare triple {23085#false} assume !false; {23085#false} is VALID [2018-11-14 18:49:55,070 INFO L134 CoverageAnalysis]: Checked inductivity of 1883 backedges. 0 proven. 222 refuted. 0 times theorem prover too weak. 1661 trivial. 0 not checked. [2018-11-14 18:49:55,090 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:55,090 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2018-11-14 18:49:55,090 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 207 [2018-11-14 18:49:55,090 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:55,090 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-14 18:49:55,157 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 18:49:55,157 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-14 18:49:55,157 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-14 18:49:55,157 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2018-11-14 18:49:55,158 INFO L87 Difference]: Start difference. First operand 124 states and 135 transitions. Second operand 15 states. [2018-11-14 18:49:55,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:55,416 INFO L93 Difference]: Finished difference Result 206 states and 228 transitions. [2018-11-14 18:49:55,416 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-14 18:49:55,416 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 207 [2018-11-14 18:49:55,416 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:55,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-14 18:49:55,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 110 transitions. [2018-11-14 18:49:55,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-14 18:49:55,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 110 transitions. [2018-11-14 18:49:55,418 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 110 transitions. [2018-11-14 18:49:55,514 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:55,517 INFO L225 Difference]: With dead ends: 206 [2018-11-14 18:49:55,517 INFO L226 Difference]: Without dead ends: 128 [2018-11-14 18:49:55,518 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 206 GetRequests, 193 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2018-11-14 18:49:55,519 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2018-11-14 18:49:55,601 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 127. [2018-11-14 18:49:55,601 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:55,601 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand 127 states. [2018-11-14 18:49:55,602 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 127 states. [2018-11-14 18:49:55,602 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 127 states. [2018-11-14 18:49:55,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:55,604 INFO L93 Difference]: Finished difference Result 128 states and 139 transitions. [2018-11-14 18:49:55,604 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 139 transitions. [2018-11-14 18:49:55,604 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:55,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:55,605 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand 128 states. [2018-11-14 18:49:55,605 INFO L87 Difference]: Start difference. First operand 127 states. Second operand 128 states. [2018-11-14 18:49:55,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:55,607 INFO L93 Difference]: Finished difference Result 128 states and 139 transitions. [2018-11-14 18:49:55,607 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 139 transitions. [2018-11-14 18:49:55,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:55,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:55,608 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:55,608 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:55,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 127 states. [2018-11-14 18:49:55,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 138 transitions. [2018-11-14 18:49:55,610 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 138 transitions. Word has length 207 [2018-11-14 18:49:55,610 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:55,610 INFO L480 AbstractCegarLoop]: Abstraction has 127 states and 138 transitions. [2018-11-14 18:49:55,610 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-14 18:49:55,611 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 138 transitions. [2018-11-14 18:49:55,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 211 [2018-11-14 18:49:55,612 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:55,612 INFO L375 BasicCegarLoop]: trace histogram [30, 27, 27, 18, 14, 13, 13, 9, 8, 7, 7, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:55,612 INFO L423 AbstractCegarLoop]: === Iteration 31 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:55,612 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:55,613 INFO L82 PathProgramCache]: Analyzing trace with hash 218528609, now seen corresponding path program 26 times [2018-11-14 18:49:55,613 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:55,613 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:55,613 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:55,614 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:55,614 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:55,625 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:55,625 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:55,625 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:55,641 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:49:55,710 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:49:55,711 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:55,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:55,761 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:57,005 INFO L256 TraceCheckUtils]: 0: Hoare triple {24414#true} call ULTIMATE.init(); {24414#true} is VALID [2018-11-14 18:49:57,005 INFO L273 TraceCheckUtils]: 1: Hoare triple {24414#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {24414#true} is VALID [2018-11-14 18:49:57,005 INFO L273 TraceCheckUtils]: 2: Hoare triple {24414#true} assume true; {24414#true} is VALID [2018-11-14 18:49:57,006 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {24414#true} {24414#true} #81#return; {24414#true} is VALID [2018-11-14 18:49:57,006 INFO L256 TraceCheckUtils]: 4: Hoare triple {24414#true} call #t~ret12 := main(); {24414#true} is VALID [2018-11-14 18:49:57,006 INFO L273 TraceCheckUtils]: 5: Hoare triple {24414#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {24414#true} is VALID [2018-11-14 18:49:57,006 INFO L256 TraceCheckUtils]: 6: Hoare triple {24414#true} call init_nondet(~#x~0.base, ~#x~0.offset); {24414#true} is VALID [2018-11-14 18:49:57,007 INFO L273 TraceCheckUtils]: 7: Hoare triple {24414#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {24440#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:57,007 INFO L273 TraceCheckUtils]: 8: Hoare triple {24440#(<= init_nondet_~i~0 0)} assume true; {24440#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:57,008 INFO L273 TraceCheckUtils]: 9: Hoare triple {24440#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {24440#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:49:57,008 INFO L273 TraceCheckUtils]: 10: Hoare triple {24440#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {24450#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:57,009 INFO L273 TraceCheckUtils]: 11: Hoare triple {24450#(<= init_nondet_~i~0 1)} assume true; {24450#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:57,009 INFO L273 TraceCheckUtils]: 12: Hoare triple {24450#(<= init_nondet_~i~0 1)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {24450#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:49:57,009 INFO L273 TraceCheckUtils]: 13: Hoare triple {24450#(<= init_nondet_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {24460#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:57,010 INFO L273 TraceCheckUtils]: 14: Hoare triple {24460#(<= init_nondet_~i~0 2)} assume true; {24460#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:57,010 INFO L273 TraceCheckUtils]: 15: Hoare triple {24460#(<= init_nondet_~i~0 2)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {24460#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:49:57,011 INFO L273 TraceCheckUtils]: 16: Hoare triple {24460#(<= init_nondet_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {24470#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:57,011 INFO L273 TraceCheckUtils]: 17: Hoare triple {24470#(<= init_nondet_~i~0 3)} assume true; {24470#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:57,012 INFO L273 TraceCheckUtils]: 18: Hoare triple {24470#(<= init_nondet_~i~0 3)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {24470#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:49:57,013 INFO L273 TraceCheckUtils]: 19: Hoare triple {24470#(<= init_nondet_~i~0 3)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {24480#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:57,013 INFO L273 TraceCheckUtils]: 20: Hoare triple {24480#(<= init_nondet_~i~0 4)} assume true; {24480#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:57,014 INFO L273 TraceCheckUtils]: 21: Hoare triple {24480#(<= init_nondet_~i~0 4)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {24480#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:49:57,014 INFO L273 TraceCheckUtils]: 22: Hoare triple {24480#(<= init_nondet_~i~0 4)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {24490#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:57,015 INFO L273 TraceCheckUtils]: 23: Hoare triple {24490#(<= init_nondet_~i~0 5)} assume true; {24490#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:57,015 INFO L273 TraceCheckUtils]: 24: Hoare triple {24490#(<= init_nondet_~i~0 5)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {24490#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:49:57,016 INFO L273 TraceCheckUtils]: 25: Hoare triple {24490#(<= init_nondet_~i~0 5)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {24500#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:57,017 INFO L273 TraceCheckUtils]: 26: Hoare triple {24500#(<= init_nondet_~i~0 6)} assume true; {24500#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:57,017 INFO L273 TraceCheckUtils]: 27: Hoare triple {24500#(<= init_nondet_~i~0 6)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {24500#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:49:57,018 INFO L273 TraceCheckUtils]: 28: Hoare triple {24500#(<= init_nondet_~i~0 6)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {24510#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:57,018 INFO L273 TraceCheckUtils]: 29: Hoare triple {24510#(<= init_nondet_~i~0 7)} assume true; {24510#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:57,019 INFO L273 TraceCheckUtils]: 30: Hoare triple {24510#(<= init_nondet_~i~0 7)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {24510#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:49:57,020 INFO L273 TraceCheckUtils]: 31: Hoare triple {24510#(<= init_nondet_~i~0 7)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {24520#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:57,020 INFO L273 TraceCheckUtils]: 32: Hoare triple {24520#(<= init_nondet_~i~0 8)} assume true; {24520#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:57,021 INFO L273 TraceCheckUtils]: 33: Hoare triple {24520#(<= init_nondet_~i~0 8)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {24520#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:49:57,021 INFO L273 TraceCheckUtils]: 34: Hoare triple {24520#(<= init_nondet_~i~0 8)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {24530#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:57,022 INFO L273 TraceCheckUtils]: 35: Hoare triple {24530#(<= init_nondet_~i~0 9)} assume true; {24530#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:57,022 INFO L273 TraceCheckUtils]: 36: Hoare triple {24530#(<= init_nondet_~i~0 9)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {24530#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:49:57,023 INFO L273 TraceCheckUtils]: 37: Hoare triple {24530#(<= init_nondet_~i~0 9)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {24540#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:49:57,024 INFO L273 TraceCheckUtils]: 38: Hoare triple {24540#(<= init_nondet_~i~0 10)} assume true; {24540#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:49:57,024 INFO L273 TraceCheckUtils]: 39: Hoare triple {24540#(<= init_nondet_~i~0 10)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {24540#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:49:57,025 INFO L273 TraceCheckUtils]: 40: Hoare triple {24540#(<= init_nondet_~i~0 10)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {24550#(<= init_nondet_~i~0 11)} is VALID [2018-11-14 18:49:57,025 INFO L273 TraceCheckUtils]: 41: Hoare triple {24550#(<= init_nondet_~i~0 11)} assume true; {24550#(<= init_nondet_~i~0 11)} is VALID [2018-11-14 18:49:57,026 INFO L273 TraceCheckUtils]: 42: Hoare triple {24550#(<= init_nondet_~i~0 11)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {24550#(<= init_nondet_~i~0 11)} is VALID [2018-11-14 18:49:57,027 INFO L273 TraceCheckUtils]: 43: Hoare triple {24550#(<= init_nondet_~i~0 11)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {24560#(<= init_nondet_~i~0 12)} is VALID [2018-11-14 18:49:57,027 INFO L273 TraceCheckUtils]: 44: Hoare triple {24560#(<= init_nondet_~i~0 12)} assume true; {24560#(<= init_nondet_~i~0 12)} is VALID [2018-11-14 18:49:57,028 INFO L273 TraceCheckUtils]: 45: Hoare triple {24560#(<= init_nondet_~i~0 12)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {24560#(<= init_nondet_~i~0 12)} is VALID [2018-11-14 18:49:57,028 INFO L273 TraceCheckUtils]: 46: Hoare triple {24560#(<= init_nondet_~i~0 12)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {24570#(<= init_nondet_~i~0 13)} is VALID [2018-11-14 18:49:57,029 INFO L273 TraceCheckUtils]: 47: Hoare triple {24570#(<= init_nondet_~i~0 13)} assume true; {24570#(<= init_nondet_~i~0 13)} is VALID [2018-11-14 18:49:57,030 INFO L273 TraceCheckUtils]: 48: Hoare triple {24570#(<= init_nondet_~i~0 13)} assume !(~i~0 < 40); {24415#false} is VALID [2018-11-14 18:49:57,030 INFO L273 TraceCheckUtils]: 49: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,030 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {24415#false} {24414#true} #85#return; {24415#false} is VALID [2018-11-14 18:49:57,030 INFO L273 TraceCheckUtils]: 51: Hoare triple {24415#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {24415#false} is VALID [2018-11-14 18:49:57,030 INFO L256 TraceCheckUtils]: 52: Hoare triple {24415#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {24415#false} is VALID [2018-11-14 18:49:57,031 INFO L273 TraceCheckUtils]: 53: Hoare triple {24415#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {24415#false} is VALID [2018-11-14 18:49:57,031 INFO L273 TraceCheckUtils]: 54: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,031 INFO L273 TraceCheckUtils]: 55: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,031 INFO L273 TraceCheckUtils]: 56: Hoare triple {24415#false} assume !(~i~1 > 20); {24415#false} is VALID [2018-11-14 18:49:57,032 INFO L273 TraceCheckUtils]: 57: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,032 INFO L273 TraceCheckUtils]: 58: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,032 INFO L273 TraceCheckUtils]: 59: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,032 INFO L273 TraceCheckUtils]: 60: Hoare triple {24415#false} assume !(~i~1 > 20); {24415#false} is VALID [2018-11-14 18:49:57,032 INFO L273 TraceCheckUtils]: 61: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,033 INFO L273 TraceCheckUtils]: 62: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,033 INFO L273 TraceCheckUtils]: 63: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,033 INFO L273 TraceCheckUtils]: 64: Hoare triple {24415#false} assume !(~i~1 > 20); {24415#false} is VALID [2018-11-14 18:49:57,033 INFO L273 TraceCheckUtils]: 65: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,033 INFO L273 TraceCheckUtils]: 66: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,033 INFO L273 TraceCheckUtils]: 67: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,033 INFO L273 TraceCheckUtils]: 68: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,033 INFO L273 TraceCheckUtils]: 69: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,034 INFO L273 TraceCheckUtils]: 70: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,034 INFO L273 TraceCheckUtils]: 71: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,034 INFO L273 TraceCheckUtils]: 72: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,034 INFO L273 TraceCheckUtils]: 73: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,034 INFO L273 TraceCheckUtils]: 74: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,034 INFO L273 TraceCheckUtils]: 75: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,034 INFO L273 TraceCheckUtils]: 76: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,034 INFO L273 TraceCheckUtils]: 77: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,034 INFO L273 TraceCheckUtils]: 78: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,035 INFO L273 TraceCheckUtils]: 79: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,035 INFO L273 TraceCheckUtils]: 80: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,035 INFO L273 TraceCheckUtils]: 81: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,035 INFO L273 TraceCheckUtils]: 82: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,035 INFO L273 TraceCheckUtils]: 83: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,035 INFO L273 TraceCheckUtils]: 84: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,035 INFO L273 TraceCheckUtils]: 85: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,035 INFO L273 TraceCheckUtils]: 86: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,035 INFO L273 TraceCheckUtils]: 87: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,035 INFO L273 TraceCheckUtils]: 88: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,036 INFO L273 TraceCheckUtils]: 89: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,036 INFO L273 TraceCheckUtils]: 90: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,036 INFO L273 TraceCheckUtils]: 91: Hoare triple {24415#false} assume !(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,036 INFO L273 TraceCheckUtils]: 92: Hoare triple {24415#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {24415#false} is VALID [2018-11-14 18:49:57,036 INFO L273 TraceCheckUtils]: 93: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,036 INFO L268 TraceCheckUtils]: 94: Hoare quadruple {24415#false} {24415#false} #87#return; {24415#false} is VALID [2018-11-14 18:49:57,036 INFO L273 TraceCheckUtils]: 95: Hoare triple {24415#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {24415#false} is VALID [2018-11-14 18:49:57,036 INFO L256 TraceCheckUtils]: 96: Hoare triple {24415#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {24415#false} is VALID [2018-11-14 18:49:57,036 INFO L273 TraceCheckUtils]: 97: Hoare triple {24415#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {24415#false} is VALID [2018-11-14 18:49:57,037 INFO L273 TraceCheckUtils]: 98: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,037 INFO L273 TraceCheckUtils]: 99: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,037 INFO L273 TraceCheckUtils]: 100: Hoare triple {24415#false} assume !(~i~1 > 20); {24415#false} is VALID [2018-11-14 18:49:57,037 INFO L273 TraceCheckUtils]: 101: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,037 INFO L273 TraceCheckUtils]: 102: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,037 INFO L273 TraceCheckUtils]: 103: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,037 INFO L273 TraceCheckUtils]: 104: Hoare triple {24415#false} assume !(~i~1 > 20); {24415#false} is VALID [2018-11-14 18:49:57,037 INFO L273 TraceCheckUtils]: 105: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,037 INFO L273 TraceCheckUtils]: 106: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,037 INFO L273 TraceCheckUtils]: 107: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,038 INFO L273 TraceCheckUtils]: 108: Hoare triple {24415#false} assume !(~i~1 > 20); {24415#false} is VALID [2018-11-14 18:49:57,038 INFO L273 TraceCheckUtils]: 109: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,038 INFO L273 TraceCheckUtils]: 110: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,038 INFO L273 TraceCheckUtils]: 111: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,038 INFO L273 TraceCheckUtils]: 112: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,038 INFO L273 TraceCheckUtils]: 113: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,038 INFO L273 TraceCheckUtils]: 114: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,038 INFO L273 TraceCheckUtils]: 115: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,038 INFO L273 TraceCheckUtils]: 116: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,039 INFO L273 TraceCheckUtils]: 117: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,039 INFO L273 TraceCheckUtils]: 118: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,039 INFO L273 TraceCheckUtils]: 119: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,039 INFO L273 TraceCheckUtils]: 120: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,039 INFO L273 TraceCheckUtils]: 121: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,039 INFO L273 TraceCheckUtils]: 122: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,039 INFO L273 TraceCheckUtils]: 123: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,039 INFO L273 TraceCheckUtils]: 124: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,039 INFO L273 TraceCheckUtils]: 125: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,039 INFO L273 TraceCheckUtils]: 126: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,040 INFO L273 TraceCheckUtils]: 127: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,040 INFO L273 TraceCheckUtils]: 128: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,040 INFO L273 TraceCheckUtils]: 129: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,040 INFO L273 TraceCheckUtils]: 130: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,040 INFO L273 TraceCheckUtils]: 131: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,040 INFO L273 TraceCheckUtils]: 132: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,040 INFO L273 TraceCheckUtils]: 133: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,040 INFO L273 TraceCheckUtils]: 134: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,040 INFO L273 TraceCheckUtils]: 135: Hoare triple {24415#false} assume !(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,040 INFO L273 TraceCheckUtils]: 136: Hoare triple {24415#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {24415#false} is VALID [2018-11-14 18:49:57,041 INFO L273 TraceCheckUtils]: 137: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,041 INFO L268 TraceCheckUtils]: 138: Hoare quadruple {24415#false} {24415#false} #89#return; {24415#false} is VALID [2018-11-14 18:49:57,041 INFO L273 TraceCheckUtils]: 139: Hoare triple {24415#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {24415#false} is VALID [2018-11-14 18:49:57,041 INFO L273 TraceCheckUtils]: 140: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,041 INFO L273 TraceCheckUtils]: 141: Hoare triple {24415#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {24415#false} is VALID [2018-11-14 18:49:57,041 INFO L273 TraceCheckUtils]: 142: Hoare triple {24415#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {24415#false} is VALID [2018-11-14 18:49:57,041 INFO L273 TraceCheckUtils]: 143: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,041 INFO L273 TraceCheckUtils]: 144: Hoare triple {24415#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {24415#false} is VALID [2018-11-14 18:49:57,041 INFO L273 TraceCheckUtils]: 145: Hoare triple {24415#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {24415#false} is VALID [2018-11-14 18:49:57,042 INFO L273 TraceCheckUtils]: 146: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,042 INFO L273 TraceCheckUtils]: 147: Hoare triple {24415#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {24415#false} is VALID [2018-11-14 18:49:57,042 INFO L273 TraceCheckUtils]: 148: Hoare triple {24415#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {24415#false} is VALID [2018-11-14 18:49:57,042 INFO L273 TraceCheckUtils]: 149: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,042 INFO L273 TraceCheckUtils]: 150: Hoare triple {24415#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {24415#false} is VALID [2018-11-14 18:49:57,042 INFO L273 TraceCheckUtils]: 151: Hoare triple {24415#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {24415#false} is VALID [2018-11-14 18:49:57,042 INFO L273 TraceCheckUtils]: 152: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,042 INFO L273 TraceCheckUtils]: 153: Hoare triple {24415#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {24415#false} is VALID [2018-11-14 18:49:57,042 INFO L273 TraceCheckUtils]: 154: Hoare triple {24415#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {24415#false} is VALID [2018-11-14 18:49:57,043 INFO L273 TraceCheckUtils]: 155: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,043 INFO L273 TraceCheckUtils]: 156: Hoare triple {24415#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {24415#false} is VALID [2018-11-14 18:49:57,043 INFO L273 TraceCheckUtils]: 157: Hoare triple {24415#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {24415#false} is VALID [2018-11-14 18:49:57,043 INFO L273 TraceCheckUtils]: 158: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,043 INFO L273 TraceCheckUtils]: 159: Hoare triple {24415#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {24415#false} is VALID [2018-11-14 18:49:57,043 INFO L273 TraceCheckUtils]: 160: Hoare triple {24415#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {24415#false} is VALID [2018-11-14 18:49:57,043 INFO L273 TraceCheckUtils]: 161: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,043 INFO L273 TraceCheckUtils]: 162: Hoare triple {24415#false} assume !(~i~2 < 39); {24415#false} is VALID [2018-11-14 18:49:57,043 INFO L273 TraceCheckUtils]: 163: Hoare triple {24415#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {24415#false} is VALID [2018-11-14 18:49:57,043 INFO L256 TraceCheckUtils]: 164: Hoare triple {24415#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {24415#false} is VALID [2018-11-14 18:49:57,044 INFO L273 TraceCheckUtils]: 165: Hoare triple {24415#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {24415#false} is VALID [2018-11-14 18:49:57,044 INFO L273 TraceCheckUtils]: 166: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,044 INFO L273 TraceCheckUtils]: 167: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,044 INFO L273 TraceCheckUtils]: 168: Hoare triple {24415#false} assume !(~i~1 > 20); {24415#false} is VALID [2018-11-14 18:49:57,044 INFO L273 TraceCheckUtils]: 169: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,044 INFO L273 TraceCheckUtils]: 170: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,044 INFO L273 TraceCheckUtils]: 171: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,044 INFO L273 TraceCheckUtils]: 172: Hoare triple {24415#false} assume !(~i~1 > 20); {24415#false} is VALID [2018-11-14 18:49:57,044 INFO L273 TraceCheckUtils]: 173: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,045 INFO L273 TraceCheckUtils]: 174: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,045 INFO L273 TraceCheckUtils]: 175: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,045 INFO L273 TraceCheckUtils]: 176: Hoare triple {24415#false} assume !(~i~1 > 20); {24415#false} is VALID [2018-11-14 18:49:57,045 INFO L273 TraceCheckUtils]: 177: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,045 INFO L273 TraceCheckUtils]: 178: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,045 INFO L273 TraceCheckUtils]: 179: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,045 INFO L273 TraceCheckUtils]: 180: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,045 INFO L273 TraceCheckUtils]: 181: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,045 INFO L273 TraceCheckUtils]: 182: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,046 INFO L273 TraceCheckUtils]: 183: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,046 INFO L273 TraceCheckUtils]: 184: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,046 INFO L273 TraceCheckUtils]: 185: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,046 INFO L273 TraceCheckUtils]: 186: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,046 INFO L273 TraceCheckUtils]: 187: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,046 INFO L273 TraceCheckUtils]: 188: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,046 INFO L273 TraceCheckUtils]: 189: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,047 INFO L273 TraceCheckUtils]: 190: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,047 INFO L273 TraceCheckUtils]: 191: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,047 INFO L273 TraceCheckUtils]: 192: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,047 INFO L273 TraceCheckUtils]: 193: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,047 INFO L273 TraceCheckUtils]: 194: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,047 INFO L273 TraceCheckUtils]: 195: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,048 INFO L273 TraceCheckUtils]: 196: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,048 INFO L273 TraceCheckUtils]: 197: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,048 INFO L273 TraceCheckUtils]: 198: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,048 INFO L273 TraceCheckUtils]: 199: Hoare triple {24415#false} assume !!(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,048 INFO L273 TraceCheckUtils]: 200: Hoare triple {24415#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {24415#false} is VALID [2018-11-14 18:49:57,048 INFO L273 TraceCheckUtils]: 201: Hoare triple {24415#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {24415#false} is VALID [2018-11-14 18:49:57,048 INFO L273 TraceCheckUtils]: 202: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,049 INFO L273 TraceCheckUtils]: 203: Hoare triple {24415#false} assume !(~i~1 < 40); {24415#false} is VALID [2018-11-14 18:49:57,049 INFO L273 TraceCheckUtils]: 204: Hoare triple {24415#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {24415#false} is VALID [2018-11-14 18:49:57,049 INFO L273 TraceCheckUtils]: 205: Hoare triple {24415#false} assume true; {24415#false} is VALID [2018-11-14 18:49:57,049 INFO L268 TraceCheckUtils]: 206: Hoare quadruple {24415#false} {24415#false} #91#return; {24415#false} is VALID [2018-11-14 18:49:57,049 INFO L273 TraceCheckUtils]: 207: Hoare triple {24415#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {24415#false} is VALID [2018-11-14 18:49:57,049 INFO L273 TraceCheckUtils]: 208: Hoare triple {24415#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {24415#false} is VALID [2018-11-14 18:49:57,049 INFO L273 TraceCheckUtils]: 209: Hoare triple {24415#false} assume !false; {24415#false} is VALID [2018-11-14 18:49:57,069 INFO L134 CoverageAnalysis]: Checked inductivity of 1921 backedges. 0 proven. 260 refuted. 0 times theorem prover too weak. 1661 trivial. 0 not checked. [2018-11-14 18:49:57,091 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:57,091 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2018-11-14 18:49:57,092 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 210 [2018-11-14 18:49:57,092 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:57,092 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-14 18:49:57,172 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:57,172 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-14 18:49:57,172 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-14 18:49:57,172 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-14 18:49:57,173 INFO L87 Difference]: Start difference. First operand 127 states and 138 transitions. Second operand 16 states. [2018-11-14 18:49:57,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:57,436 INFO L93 Difference]: Finished difference Result 209 states and 231 transitions. [2018-11-14 18:49:57,436 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-14 18:49:57,436 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 210 [2018-11-14 18:49:57,437 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:57,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 18:49:57,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 113 transitions. [2018-11-14 18:49:57,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 18:49:57,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 113 transitions. [2018-11-14 18:49:57,439 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 113 transitions. [2018-11-14 18:49:58,161 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:58,164 INFO L225 Difference]: With dead ends: 209 [2018-11-14 18:49:58,164 INFO L226 Difference]: Without dead ends: 131 [2018-11-14 18:49:58,165 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 195 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-14 18:49:58,165 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2018-11-14 18:49:58,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 130. [2018-11-14 18:49:58,221 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:58,221 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand 130 states. [2018-11-14 18:49:58,221 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 130 states. [2018-11-14 18:49:58,221 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 130 states. [2018-11-14 18:49:58,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:58,223 INFO L93 Difference]: Finished difference Result 131 states and 142 transitions. [2018-11-14 18:49:58,224 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 142 transitions. [2018-11-14 18:49:58,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:58,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:58,224 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 131 states. [2018-11-14 18:49:58,224 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 131 states. [2018-11-14 18:49:58,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:58,226 INFO L93 Difference]: Finished difference Result 131 states and 142 transitions. [2018-11-14 18:49:58,226 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 142 transitions. [2018-11-14 18:49:58,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:58,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:58,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:58,227 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:58,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 130 states. [2018-11-14 18:49:58,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 141 transitions. [2018-11-14 18:49:58,228 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 141 transitions. Word has length 210 [2018-11-14 18:49:58,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:58,228 INFO L480 AbstractCegarLoop]: Abstraction has 130 states and 141 transitions. [2018-11-14 18:49:58,229 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-14 18:49:58,229 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 141 transitions. [2018-11-14 18:49:58,230 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 214 [2018-11-14 18:49:58,230 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:58,230 INFO L375 BasicCegarLoop]: trace histogram [30, 27, 27, 18, 15, 14, 14, 9, 8, 7, 7, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:58,230 INFO L423 AbstractCegarLoop]: === Iteration 32 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:58,230 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:58,231 INFO L82 PathProgramCache]: Analyzing trace with hash 960172743, now seen corresponding path program 27 times [2018-11-14 18:49:58,231 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:58,231 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:58,231 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:58,232 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:58,232 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:58,243 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:49:58,243 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:49:58,243 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:49:58,257 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 18:49:59,096 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2018-11-14 18:49:59,097 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:59,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:59,144 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:59,574 INFO L256 TraceCheckUtils]: 0: Hoare triple {25768#true} call ULTIMATE.init(); {25768#true} is VALID [2018-11-14 18:49:59,574 INFO L273 TraceCheckUtils]: 1: Hoare triple {25768#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {25768#true} is VALID [2018-11-14 18:49:59,574 INFO L273 TraceCheckUtils]: 2: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,574 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {25768#true} {25768#true} #81#return; {25768#true} is VALID [2018-11-14 18:49:59,575 INFO L256 TraceCheckUtils]: 4: Hoare triple {25768#true} call #t~ret12 := main(); {25768#true} is VALID [2018-11-14 18:49:59,575 INFO L273 TraceCheckUtils]: 5: Hoare triple {25768#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {25768#true} is VALID [2018-11-14 18:49:59,575 INFO L256 TraceCheckUtils]: 6: Hoare triple {25768#true} call init_nondet(~#x~0.base, ~#x~0.offset); {25768#true} is VALID [2018-11-14 18:49:59,575 INFO L273 TraceCheckUtils]: 7: Hoare triple {25768#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {25768#true} is VALID [2018-11-14 18:49:59,575 INFO L273 TraceCheckUtils]: 8: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,575 INFO L273 TraceCheckUtils]: 9: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,575 INFO L273 TraceCheckUtils]: 10: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,576 INFO L273 TraceCheckUtils]: 11: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,576 INFO L273 TraceCheckUtils]: 12: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,576 INFO L273 TraceCheckUtils]: 13: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,576 INFO L273 TraceCheckUtils]: 14: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,576 INFO L273 TraceCheckUtils]: 15: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,576 INFO L273 TraceCheckUtils]: 16: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,576 INFO L273 TraceCheckUtils]: 17: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,576 INFO L273 TraceCheckUtils]: 18: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,576 INFO L273 TraceCheckUtils]: 19: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,576 INFO L273 TraceCheckUtils]: 20: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,577 INFO L273 TraceCheckUtils]: 21: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,577 INFO L273 TraceCheckUtils]: 22: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,577 INFO L273 TraceCheckUtils]: 23: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,577 INFO L273 TraceCheckUtils]: 24: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,577 INFO L273 TraceCheckUtils]: 25: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,577 INFO L273 TraceCheckUtils]: 26: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,577 INFO L273 TraceCheckUtils]: 27: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,577 INFO L273 TraceCheckUtils]: 28: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,577 INFO L273 TraceCheckUtils]: 29: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,578 INFO L273 TraceCheckUtils]: 30: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,578 INFO L273 TraceCheckUtils]: 31: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,578 INFO L273 TraceCheckUtils]: 32: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,578 INFO L273 TraceCheckUtils]: 33: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,578 INFO L273 TraceCheckUtils]: 34: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,578 INFO L273 TraceCheckUtils]: 35: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,578 INFO L273 TraceCheckUtils]: 36: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,578 INFO L273 TraceCheckUtils]: 37: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,578 INFO L273 TraceCheckUtils]: 38: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,578 INFO L273 TraceCheckUtils]: 39: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,579 INFO L273 TraceCheckUtils]: 40: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,579 INFO L273 TraceCheckUtils]: 41: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,579 INFO L273 TraceCheckUtils]: 42: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,579 INFO L273 TraceCheckUtils]: 43: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,579 INFO L273 TraceCheckUtils]: 44: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,579 INFO L273 TraceCheckUtils]: 45: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,579 INFO L273 TraceCheckUtils]: 46: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,579 INFO L273 TraceCheckUtils]: 47: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,579 INFO L273 TraceCheckUtils]: 48: Hoare triple {25768#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {25768#true} is VALID [2018-11-14 18:49:59,579 INFO L273 TraceCheckUtils]: 49: Hoare triple {25768#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {25768#true} is VALID [2018-11-14 18:49:59,580 INFO L273 TraceCheckUtils]: 50: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,580 INFO L273 TraceCheckUtils]: 51: Hoare triple {25768#true} assume !(~i~0 < 40); {25768#true} is VALID [2018-11-14 18:49:59,580 INFO L273 TraceCheckUtils]: 52: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,580 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {25768#true} {25768#true} #85#return; {25768#true} is VALID [2018-11-14 18:49:59,580 INFO L273 TraceCheckUtils]: 54: Hoare triple {25768#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {25768#true} is VALID [2018-11-14 18:49:59,580 INFO L256 TraceCheckUtils]: 55: Hoare triple {25768#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {25768#true} is VALID [2018-11-14 18:49:59,580 INFO L273 TraceCheckUtils]: 56: Hoare triple {25768#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {25768#true} is VALID [2018-11-14 18:49:59,580 INFO L273 TraceCheckUtils]: 57: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,580 INFO L273 TraceCheckUtils]: 58: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,580 INFO L273 TraceCheckUtils]: 59: Hoare triple {25768#true} assume !(~i~1 > 20); {25768#true} is VALID [2018-11-14 18:49:59,581 INFO L273 TraceCheckUtils]: 60: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,581 INFO L273 TraceCheckUtils]: 61: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,581 INFO L273 TraceCheckUtils]: 62: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,581 INFO L273 TraceCheckUtils]: 63: Hoare triple {25768#true} assume !(~i~1 > 20); {25768#true} is VALID [2018-11-14 18:49:59,581 INFO L273 TraceCheckUtils]: 64: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,581 INFO L273 TraceCheckUtils]: 65: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,581 INFO L273 TraceCheckUtils]: 66: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,581 INFO L273 TraceCheckUtils]: 67: Hoare triple {25768#true} assume !(~i~1 > 20); {25768#true} is VALID [2018-11-14 18:49:59,581 INFO L273 TraceCheckUtils]: 68: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,582 INFO L273 TraceCheckUtils]: 69: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,582 INFO L273 TraceCheckUtils]: 70: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,582 INFO L273 TraceCheckUtils]: 71: Hoare triple {25768#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25768#true} is VALID [2018-11-14 18:49:59,582 INFO L273 TraceCheckUtils]: 72: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,582 INFO L273 TraceCheckUtils]: 73: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,582 INFO L273 TraceCheckUtils]: 74: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,582 INFO L273 TraceCheckUtils]: 75: Hoare triple {25768#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25768#true} is VALID [2018-11-14 18:49:59,582 INFO L273 TraceCheckUtils]: 76: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,582 INFO L273 TraceCheckUtils]: 77: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,582 INFO L273 TraceCheckUtils]: 78: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,583 INFO L273 TraceCheckUtils]: 79: Hoare triple {25768#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25768#true} is VALID [2018-11-14 18:49:59,583 INFO L273 TraceCheckUtils]: 80: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,583 INFO L273 TraceCheckUtils]: 81: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,583 INFO L273 TraceCheckUtils]: 82: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,583 INFO L273 TraceCheckUtils]: 83: Hoare triple {25768#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25768#true} is VALID [2018-11-14 18:49:59,583 INFO L273 TraceCheckUtils]: 84: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,583 INFO L273 TraceCheckUtils]: 85: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,583 INFO L273 TraceCheckUtils]: 86: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,583 INFO L273 TraceCheckUtils]: 87: Hoare triple {25768#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25768#true} is VALID [2018-11-14 18:49:59,583 INFO L273 TraceCheckUtils]: 88: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,584 INFO L273 TraceCheckUtils]: 89: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,584 INFO L273 TraceCheckUtils]: 90: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,584 INFO L273 TraceCheckUtils]: 91: Hoare triple {25768#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25768#true} is VALID [2018-11-14 18:49:59,584 INFO L273 TraceCheckUtils]: 92: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,584 INFO L273 TraceCheckUtils]: 93: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,584 INFO L273 TraceCheckUtils]: 94: Hoare triple {25768#true} assume !(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,584 INFO L273 TraceCheckUtils]: 95: Hoare triple {25768#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {25768#true} is VALID [2018-11-14 18:49:59,584 INFO L273 TraceCheckUtils]: 96: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,584 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {25768#true} {25768#true} #87#return; {25768#true} is VALID [2018-11-14 18:49:59,585 INFO L273 TraceCheckUtils]: 98: Hoare triple {25768#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {25768#true} is VALID [2018-11-14 18:49:59,585 INFO L256 TraceCheckUtils]: 99: Hoare triple {25768#true} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {25768#true} is VALID [2018-11-14 18:49:59,585 INFO L273 TraceCheckUtils]: 100: Hoare triple {25768#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {25768#true} is VALID [2018-11-14 18:49:59,585 INFO L273 TraceCheckUtils]: 101: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,585 INFO L273 TraceCheckUtils]: 102: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,585 INFO L273 TraceCheckUtils]: 103: Hoare triple {25768#true} assume !(~i~1 > 20); {25768#true} is VALID [2018-11-14 18:49:59,585 INFO L273 TraceCheckUtils]: 104: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,585 INFO L273 TraceCheckUtils]: 105: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,585 INFO L273 TraceCheckUtils]: 106: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,585 INFO L273 TraceCheckUtils]: 107: Hoare triple {25768#true} assume !(~i~1 > 20); {25768#true} is VALID [2018-11-14 18:49:59,586 INFO L273 TraceCheckUtils]: 108: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,586 INFO L273 TraceCheckUtils]: 109: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,586 INFO L273 TraceCheckUtils]: 110: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,586 INFO L273 TraceCheckUtils]: 111: Hoare triple {25768#true} assume !(~i~1 > 20); {25768#true} is VALID [2018-11-14 18:49:59,586 INFO L273 TraceCheckUtils]: 112: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,586 INFO L273 TraceCheckUtils]: 113: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,586 INFO L273 TraceCheckUtils]: 114: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,586 INFO L273 TraceCheckUtils]: 115: Hoare triple {25768#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25768#true} is VALID [2018-11-14 18:49:59,586 INFO L273 TraceCheckUtils]: 116: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,587 INFO L273 TraceCheckUtils]: 117: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,587 INFO L273 TraceCheckUtils]: 118: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,587 INFO L273 TraceCheckUtils]: 119: Hoare triple {25768#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25768#true} is VALID [2018-11-14 18:49:59,587 INFO L273 TraceCheckUtils]: 120: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,587 INFO L273 TraceCheckUtils]: 121: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,587 INFO L273 TraceCheckUtils]: 122: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,587 INFO L273 TraceCheckUtils]: 123: Hoare triple {25768#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25768#true} is VALID [2018-11-14 18:49:59,587 INFO L273 TraceCheckUtils]: 124: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,587 INFO L273 TraceCheckUtils]: 125: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,587 INFO L273 TraceCheckUtils]: 126: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,588 INFO L273 TraceCheckUtils]: 127: Hoare triple {25768#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25768#true} is VALID [2018-11-14 18:49:59,588 INFO L273 TraceCheckUtils]: 128: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,588 INFO L273 TraceCheckUtils]: 129: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,588 INFO L273 TraceCheckUtils]: 130: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,588 INFO L273 TraceCheckUtils]: 131: Hoare triple {25768#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25768#true} is VALID [2018-11-14 18:49:59,588 INFO L273 TraceCheckUtils]: 132: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,588 INFO L273 TraceCheckUtils]: 133: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,588 INFO L273 TraceCheckUtils]: 134: Hoare triple {25768#true} assume !!(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,588 INFO L273 TraceCheckUtils]: 135: Hoare triple {25768#true} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25768#true} is VALID [2018-11-14 18:49:59,588 INFO L273 TraceCheckUtils]: 136: Hoare triple {25768#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25768#true} is VALID [2018-11-14 18:49:59,589 INFO L273 TraceCheckUtils]: 137: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,589 INFO L273 TraceCheckUtils]: 138: Hoare triple {25768#true} assume !(~i~1 < 40); {25768#true} is VALID [2018-11-14 18:49:59,589 INFO L273 TraceCheckUtils]: 139: Hoare triple {25768#true} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {25768#true} is VALID [2018-11-14 18:49:59,589 INFO L273 TraceCheckUtils]: 140: Hoare triple {25768#true} assume true; {25768#true} is VALID [2018-11-14 18:49:59,589 INFO L268 TraceCheckUtils]: 141: Hoare quadruple {25768#true} {25768#true} #89#return; {25768#true} is VALID [2018-11-14 18:49:59,589 INFO L273 TraceCheckUtils]: 142: Hoare triple {25768#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {26199#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:59,590 INFO L273 TraceCheckUtils]: 143: Hoare triple {26199#(<= main_~i~2 0)} assume true; {26199#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:59,590 INFO L273 TraceCheckUtils]: 144: Hoare triple {26199#(<= main_~i~2 0)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {26199#(<= main_~i~2 0)} is VALID [2018-11-14 18:49:59,591 INFO L273 TraceCheckUtils]: 145: Hoare triple {26199#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {26209#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:59,591 INFO L273 TraceCheckUtils]: 146: Hoare triple {26209#(<= main_~i~2 1)} assume true; {26209#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:59,591 INFO L273 TraceCheckUtils]: 147: Hoare triple {26209#(<= main_~i~2 1)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {26209#(<= main_~i~2 1)} is VALID [2018-11-14 18:49:59,592 INFO L273 TraceCheckUtils]: 148: Hoare triple {26209#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {26219#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:59,592 INFO L273 TraceCheckUtils]: 149: Hoare triple {26219#(<= main_~i~2 2)} assume true; {26219#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:59,592 INFO L273 TraceCheckUtils]: 150: Hoare triple {26219#(<= main_~i~2 2)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {26219#(<= main_~i~2 2)} is VALID [2018-11-14 18:49:59,593 INFO L273 TraceCheckUtils]: 151: Hoare triple {26219#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {26229#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:59,594 INFO L273 TraceCheckUtils]: 152: Hoare triple {26229#(<= main_~i~2 3)} assume true; {26229#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:59,594 INFO L273 TraceCheckUtils]: 153: Hoare triple {26229#(<= main_~i~2 3)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {26229#(<= main_~i~2 3)} is VALID [2018-11-14 18:49:59,595 INFO L273 TraceCheckUtils]: 154: Hoare triple {26229#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {26239#(<= main_~i~2 4)} is VALID [2018-11-14 18:49:59,595 INFO L273 TraceCheckUtils]: 155: Hoare triple {26239#(<= main_~i~2 4)} assume true; {26239#(<= main_~i~2 4)} is VALID [2018-11-14 18:49:59,596 INFO L273 TraceCheckUtils]: 156: Hoare triple {26239#(<= main_~i~2 4)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {26239#(<= main_~i~2 4)} is VALID [2018-11-14 18:49:59,597 INFO L273 TraceCheckUtils]: 157: Hoare triple {26239#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {26249#(<= main_~i~2 5)} is VALID [2018-11-14 18:49:59,597 INFO L273 TraceCheckUtils]: 158: Hoare triple {26249#(<= main_~i~2 5)} assume true; {26249#(<= main_~i~2 5)} is VALID [2018-11-14 18:49:59,598 INFO L273 TraceCheckUtils]: 159: Hoare triple {26249#(<= main_~i~2 5)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {26249#(<= main_~i~2 5)} is VALID [2018-11-14 18:49:59,598 INFO L273 TraceCheckUtils]: 160: Hoare triple {26249#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {26259#(<= main_~i~2 6)} is VALID [2018-11-14 18:49:59,599 INFO L273 TraceCheckUtils]: 161: Hoare triple {26259#(<= main_~i~2 6)} assume true; {26259#(<= main_~i~2 6)} is VALID [2018-11-14 18:49:59,599 INFO L273 TraceCheckUtils]: 162: Hoare triple {26259#(<= main_~i~2 6)} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {26259#(<= main_~i~2 6)} is VALID [2018-11-14 18:49:59,600 INFO L273 TraceCheckUtils]: 163: Hoare triple {26259#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {26269#(<= main_~i~2 7)} is VALID [2018-11-14 18:49:59,601 INFO L273 TraceCheckUtils]: 164: Hoare triple {26269#(<= main_~i~2 7)} assume true; {26269#(<= main_~i~2 7)} is VALID [2018-11-14 18:49:59,601 INFO L273 TraceCheckUtils]: 165: Hoare triple {26269#(<= main_~i~2 7)} assume !(~i~2 < 39); {25769#false} is VALID [2018-11-14 18:49:59,601 INFO L273 TraceCheckUtils]: 166: Hoare triple {25769#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {25769#false} is VALID [2018-11-14 18:49:59,602 INFO L256 TraceCheckUtils]: 167: Hoare triple {25769#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {25769#false} is VALID [2018-11-14 18:49:59,602 INFO L273 TraceCheckUtils]: 168: Hoare triple {25769#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {25769#false} is VALID [2018-11-14 18:49:59,602 INFO L273 TraceCheckUtils]: 169: Hoare triple {25769#false} assume true; {25769#false} is VALID [2018-11-14 18:49:59,602 INFO L273 TraceCheckUtils]: 170: Hoare triple {25769#false} assume !!(~i~1 < 40); {25769#false} is VALID [2018-11-14 18:49:59,602 INFO L273 TraceCheckUtils]: 171: Hoare triple {25769#false} assume !(~i~1 > 20); {25769#false} is VALID [2018-11-14 18:49:59,603 INFO L273 TraceCheckUtils]: 172: Hoare triple {25769#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25769#false} is VALID [2018-11-14 18:49:59,603 INFO L273 TraceCheckUtils]: 173: Hoare triple {25769#false} assume true; {25769#false} is VALID [2018-11-14 18:49:59,603 INFO L273 TraceCheckUtils]: 174: Hoare triple {25769#false} assume !!(~i~1 < 40); {25769#false} is VALID [2018-11-14 18:49:59,603 INFO L273 TraceCheckUtils]: 175: Hoare triple {25769#false} assume !(~i~1 > 20); {25769#false} is VALID [2018-11-14 18:49:59,603 INFO L273 TraceCheckUtils]: 176: Hoare triple {25769#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25769#false} is VALID [2018-11-14 18:49:59,603 INFO L273 TraceCheckUtils]: 177: Hoare triple {25769#false} assume true; {25769#false} is VALID [2018-11-14 18:49:59,604 INFO L273 TraceCheckUtils]: 178: Hoare triple {25769#false} assume !!(~i~1 < 40); {25769#false} is VALID [2018-11-14 18:49:59,604 INFO L273 TraceCheckUtils]: 179: Hoare triple {25769#false} assume !(~i~1 > 20); {25769#false} is VALID [2018-11-14 18:49:59,604 INFO L273 TraceCheckUtils]: 180: Hoare triple {25769#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25769#false} is VALID [2018-11-14 18:49:59,604 INFO L273 TraceCheckUtils]: 181: Hoare triple {25769#false} assume true; {25769#false} is VALID [2018-11-14 18:49:59,604 INFO L273 TraceCheckUtils]: 182: Hoare triple {25769#false} assume !!(~i~1 < 40); {25769#false} is VALID [2018-11-14 18:49:59,604 INFO L273 TraceCheckUtils]: 183: Hoare triple {25769#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25769#false} is VALID [2018-11-14 18:49:59,605 INFO L273 TraceCheckUtils]: 184: Hoare triple {25769#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25769#false} is VALID [2018-11-14 18:49:59,605 INFO L273 TraceCheckUtils]: 185: Hoare triple {25769#false} assume true; {25769#false} is VALID [2018-11-14 18:49:59,605 INFO L273 TraceCheckUtils]: 186: Hoare triple {25769#false} assume !!(~i~1 < 40); {25769#false} is VALID [2018-11-14 18:49:59,605 INFO L273 TraceCheckUtils]: 187: Hoare triple {25769#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25769#false} is VALID [2018-11-14 18:49:59,605 INFO L273 TraceCheckUtils]: 188: Hoare triple {25769#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25769#false} is VALID [2018-11-14 18:49:59,605 INFO L273 TraceCheckUtils]: 189: Hoare triple {25769#false} assume true; {25769#false} is VALID [2018-11-14 18:49:59,605 INFO L273 TraceCheckUtils]: 190: Hoare triple {25769#false} assume !!(~i~1 < 40); {25769#false} is VALID [2018-11-14 18:49:59,605 INFO L273 TraceCheckUtils]: 191: Hoare triple {25769#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25769#false} is VALID [2018-11-14 18:49:59,606 INFO L273 TraceCheckUtils]: 192: Hoare triple {25769#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25769#false} is VALID [2018-11-14 18:49:59,606 INFO L273 TraceCheckUtils]: 193: Hoare triple {25769#false} assume true; {25769#false} is VALID [2018-11-14 18:49:59,606 INFO L273 TraceCheckUtils]: 194: Hoare triple {25769#false} assume !!(~i~1 < 40); {25769#false} is VALID [2018-11-14 18:49:59,606 INFO L273 TraceCheckUtils]: 195: Hoare triple {25769#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25769#false} is VALID [2018-11-14 18:49:59,606 INFO L273 TraceCheckUtils]: 196: Hoare triple {25769#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25769#false} is VALID [2018-11-14 18:49:59,606 INFO L273 TraceCheckUtils]: 197: Hoare triple {25769#false} assume true; {25769#false} is VALID [2018-11-14 18:49:59,606 INFO L273 TraceCheckUtils]: 198: Hoare triple {25769#false} assume !!(~i~1 < 40); {25769#false} is VALID [2018-11-14 18:49:59,606 INFO L273 TraceCheckUtils]: 199: Hoare triple {25769#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25769#false} is VALID [2018-11-14 18:49:59,606 INFO L273 TraceCheckUtils]: 200: Hoare triple {25769#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25769#false} is VALID [2018-11-14 18:49:59,606 INFO L273 TraceCheckUtils]: 201: Hoare triple {25769#false} assume true; {25769#false} is VALID [2018-11-14 18:49:59,607 INFO L273 TraceCheckUtils]: 202: Hoare triple {25769#false} assume !!(~i~1 < 40); {25769#false} is VALID [2018-11-14 18:49:59,607 INFO L273 TraceCheckUtils]: 203: Hoare triple {25769#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {25769#false} is VALID [2018-11-14 18:49:59,607 INFO L273 TraceCheckUtils]: 204: Hoare triple {25769#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {25769#false} is VALID [2018-11-14 18:49:59,607 INFO L273 TraceCheckUtils]: 205: Hoare triple {25769#false} assume true; {25769#false} is VALID [2018-11-14 18:49:59,607 INFO L273 TraceCheckUtils]: 206: Hoare triple {25769#false} assume !(~i~1 < 40); {25769#false} is VALID [2018-11-14 18:49:59,607 INFO L273 TraceCheckUtils]: 207: Hoare triple {25769#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {25769#false} is VALID [2018-11-14 18:49:59,607 INFO L273 TraceCheckUtils]: 208: Hoare triple {25769#false} assume true; {25769#false} is VALID [2018-11-14 18:49:59,607 INFO L268 TraceCheckUtils]: 209: Hoare quadruple {25769#false} {25769#false} #91#return; {25769#false} is VALID [2018-11-14 18:49:59,607 INFO L273 TraceCheckUtils]: 210: Hoare triple {25769#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {25769#false} is VALID [2018-11-14 18:49:59,607 INFO L273 TraceCheckUtils]: 211: Hoare triple {25769#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {25769#false} is VALID [2018-11-14 18:49:59,608 INFO L273 TraceCheckUtils]: 212: Hoare triple {25769#false} assume !false; {25769#false} is VALID [2018-11-14 18:49:59,624 INFO L134 CoverageAnalysis]: Checked inductivity of 1962 backedges. 732 proven. 77 refuted. 0 times theorem prover too weak. 1153 trivial. 0 not checked. [2018-11-14 18:49:59,643 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:49:59,644 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2018-11-14 18:49:59,644 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 213 [2018-11-14 18:49:59,644 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:59,645 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-14 18:49:59,706 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 18:49:59,706 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-14 18:49:59,707 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-14 18:49:59,707 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-14 18:49:59,707 INFO L87 Difference]: Start difference. First operand 130 states and 141 transitions. Second operand 10 states. [2018-11-14 18:49:59,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:59,974 INFO L93 Difference]: Finished difference Result 182 states and 201 transitions. [2018-11-14 18:49:59,975 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-14 18:49:59,975 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 213 [2018-11-14 18:49:59,975 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:59,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 18:49:59,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 82 transitions. [2018-11-14 18:49:59,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 18:49:59,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 82 transitions. [2018-11-14 18:49:59,976 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 82 transitions. [2018-11-14 18:50:00,054 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 18:50:00,057 INFO L225 Difference]: With dead ends: 182 [2018-11-14 18:50:00,057 INFO L226 Difference]: Without dead ends: 134 [2018-11-14 18:50:00,057 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 212 GetRequests, 204 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-14 18:50:00,058 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states. [2018-11-14 18:50:00,121 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 133. [2018-11-14 18:50:00,122 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:00,122 INFO L82 GeneralOperation]: Start isEquivalent. First operand 134 states. Second operand 133 states. [2018-11-14 18:50:00,122 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 133 states. [2018-11-14 18:50:00,122 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 133 states. [2018-11-14 18:50:00,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:00,125 INFO L93 Difference]: Finished difference Result 134 states and 145 transitions. [2018-11-14 18:50:00,125 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 145 transitions. [2018-11-14 18:50:00,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:00,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:00,125 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 134 states. [2018-11-14 18:50:00,125 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 134 states. [2018-11-14 18:50:00,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:00,127 INFO L93 Difference]: Finished difference Result 134 states and 145 transitions. [2018-11-14 18:50:00,127 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 145 transitions. [2018-11-14 18:50:00,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:00,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:00,128 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:00,128 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:00,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2018-11-14 18:50:00,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 144 transitions. [2018-11-14 18:50:00,130 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 144 transitions. Word has length 213 [2018-11-14 18:50:00,130 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:00,130 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 144 transitions. [2018-11-14 18:50:00,130 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-14 18:50:00,130 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 144 transitions. [2018-11-14 18:50:00,131 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 217 [2018-11-14 18:50:00,131 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:00,132 INFO L375 BasicCegarLoop]: trace histogram [30, 27, 27, 18, 15, 14, 14, 9, 9, 8, 8, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:50:00,132 INFO L423 AbstractCegarLoop]: === Iteration 33 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:00,132 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:00,132 INFO L82 PathProgramCache]: Analyzing trace with hash 1990641876, now seen corresponding path program 28 times [2018-11-14 18:50:00,132 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:00,132 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:00,133 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:00,133 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:50:00,133 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:00,145 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:50:00,145 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:50:00,145 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:50:00,161 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 18:50:00,230 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 18:50:00,230 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:50:00,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:00,260 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:00,650 INFO L256 TraceCheckUtils]: 0: Hoare triple {27099#true} call ULTIMATE.init(); {27099#true} is VALID [2018-11-14 18:50:00,650 INFO L273 TraceCheckUtils]: 1: Hoare triple {27099#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {27099#true} is VALID [2018-11-14 18:50:00,650 INFO L273 TraceCheckUtils]: 2: Hoare triple {27099#true} assume true; {27099#true} is VALID [2018-11-14 18:50:00,651 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {27099#true} {27099#true} #81#return; {27099#true} is VALID [2018-11-14 18:50:00,651 INFO L256 TraceCheckUtils]: 4: Hoare triple {27099#true} call #t~ret12 := main(); {27099#true} is VALID [2018-11-14 18:50:00,651 INFO L273 TraceCheckUtils]: 5: Hoare triple {27099#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {27099#true} is VALID [2018-11-14 18:50:00,651 INFO L256 TraceCheckUtils]: 6: Hoare triple {27099#true} call init_nondet(~#x~0.base, ~#x~0.offset); {27099#true} is VALID [2018-11-14 18:50:00,652 INFO L273 TraceCheckUtils]: 7: Hoare triple {27099#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {27125#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:50:00,652 INFO L273 TraceCheckUtils]: 8: Hoare triple {27125#(<= init_nondet_~i~0 0)} assume true; {27125#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:50:00,653 INFO L273 TraceCheckUtils]: 9: Hoare triple {27125#(<= init_nondet_~i~0 0)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27125#(<= init_nondet_~i~0 0)} is VALID [2018-11-14 18:50:00,653 INFO L273 TraceCheckUtils]: 10: Hoare triple {27125#(<= init_nondet_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27135#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:50:00,654 INFO L273 TraceCheckUtils]: 11: Hoare triple {27135#(<= init_nondet_~i~0 1)} assume true; {27135#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:50:00,654 INFO L273 TraceCheckUtils]: 12: Hoare triple {27135#(<= init_nondet_~i~0 1)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27135#(<= init_nondet_~i~0 1)} is VALID [2018-11-14 18:50:00,654 INFO L273 TraceCheckUtils]: 13: Hoare triple {27135#(<= init_nondet_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27145#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:50:00,655 INFO L273 TraceCheckUtils]: 14: Hoare triple {27145#(<= init_nondet_~i~0 2)} assume true; {27145#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:50:00,655 INFO L273 TraceCheckUtils]: 15: Hoare triple {27145#(<= init_nondet_~i~0 2)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27145#(<= init_nondet_~i~0 2)} is VALID [2018-11-14 18:50:00,656 INFO L273 TraceCheckUtils]: 16: Hoare triple {27145#(<= init_nondet_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27155#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:50:00,656 INFO L273 TraceCheckUtils]: 17: Hoare triple {27155#(<= init_nondet_~i~0 3)} assume true; {27155#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:50:00,657 INFO L273 TraceCheckUtils]: 18: Hoare triple {27155#(<= init_nondet_~i~0 3)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27155#(<= init_nondet_~i~0 3)} is VALID [2018-11-14 18:50:00,658 INFO L273 TraceCheckUtils]: 19: Hoare triple {27155#(<= init_nondet_~i~0 3)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27165#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:50:00,658 INFO L273 TraceCheckUtils]: 20: Hoare triple {27165#(<= init_nondet_~i~0 4)} assume true; {27165#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:50:00,659 INFO L273 TraceCheckUtils]: 21: Hoare triple {27165#(<= init_nondet_~i~0 4)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27165#(<= init_nondet_~i~0 4)} is VALID [2018-11-14 18:50:00,659 INFO L273 TraceCheckUtils]: 22: Hoare triple {27165#(<= init_nondet_~i~0 4)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27175#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:50:00,660 INFO L273 TraceCheckUtils]: 23: Hoare triple {27175#(<= init_nondet_~i~0 5)} assume true; {27175#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:50:00,660 INFO L273 TraceCheckUtils]: 24: Hoare triple {27175#(<= init_nondet_~i~0 5)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27175#(<= init_nondet_~i~0 5)} is VALID [2018-11-14 18:50:00,661 INFO L273 TraceCheckUtils]: 25: Hoare triple {27175#(<= init_nondet_~i~0 5)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27185#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:50:00,662 INFO L273 TraceCheckUtils]: 26: Hoare triple {27185#(<= init_nondet_~i~0 6)} assume true; {27185#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:50:00,662 INFO L273 TraceCheckUtils]: 27: Hoare triple {27185#(<= init_nondet_~i~0 6)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27185#(<= init_nondet_~i~0 6)} is VALID [2018-11-14 18:50:00,663 INFO L273 TraceCheckUtils]: 28: Hoare triple {27185#(<= init_nondet_~i~0 6)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27195#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:50:00,663 INFO L273 TraceCheckUtils]: 29: Hoare triple {27195#(<= init_nondet_~i~0 7)} assume true; {27195#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:50:00,664 INFO L273 TraceCheckUtils]: 30: Hoare triple {27195#(<= init_nondet_~i~0 7)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27195#(<= init_nondet_~i~0 7)} is VALID [2018-11-14 18:50:00,664 INFO L273 TraceCheckUtils]: 31: Hoare triple {27195#(<= init_nondet_~i~0 7)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27205#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:50:00,665 INFO L273 TraceCheckUtils]: 32: Hoare triple {27205#(<= init_nondet_~i~0 8)} assume true; {27205#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:50:00,665 INFO L273 TraceCheckUtils]: 33: Hoare triple {27205#(<= init_nondet_~i~0 8)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27205#(<= init_nondet_~i~0 8)} is VALID [2018-11-14 18:50:00,666 INFO L273 TraceCheckUtils]: 34: Hoare triple {27205#(<= init_nondet_~i~0 8)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27215#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:50:00,667 INFO L273 TraceCheckUtils]: 35: Hoare triple {27215#(<= init_nondet_~i~0 9)} assume true; {27215#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:50:00,667 INFO L273 TraceCheckUtils]: 36: Hoare triple {27215#(<= init_nondet_~i~0 9)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27215#(<= init_nondet_~i~0 9)} is VALID [2018-11-14 18:50:00,668 INFO L273 TraceCheckUtils]: 37: Hoare triple {27215#(<= init_nondet_~i~0 9)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27225#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:50:00,668 INFO L273 TraceCheckUtils]: 38: Hoare triple {27225#(<= init_nondet_~i~0 10)} assume true; {27225#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:50:00,669 INFO L273 TraceCheckUtils]: 39: Hoare triple {27225#(<= init_nondet_~i~0 10)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27225#(<= init_nondet_~i~0 10)} is VALID [2018-11-14 18:50:00,670 INFO L273 TraceCheckUtils]: 40: Hoare triple {27225#(<= init_nondet_~i~0 10)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27235#(<= init_nondet_~i~0 11)} is VALID [2018-11-14 18:50:00,670 INFO L273 TraceCheckUtils]: 41: Hoare triple {27235#(<= init_nondet_~i~0 11)} assume true; {27235#(<= init_nondet_~i~0 11)} is VALID [2018-11-14 18:50:00,671 INFO L273 TraceCheckUtils]: 42: Hoare triple {27235#(<= init_nondet_~i~0 11)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27235#(<= init_nondet_~i~0 11)} is VALID [2018-11-14 18:50:00,671 INFO L273 TraceCheckUtils]: 43: Hoare triple {27235#(<= init_nondet_~i~0 11)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27245#(<= init_nondet_~i~0 12)} is VALID [2018-11-14 18:50:00,672 INFO L273 TraceCheckUtils]: 44: Hoare triple {27245#(<= init_nondet_~i~0 12)} assume true; {27245#(<= init_nondet_~i~0 12)} is VALID [2018-11-14 18:50:00,672 INFO L273 TraceCheckUtils]: 45: Hoare triple {27245#(<= init_nondet_~i~0 12)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27245#(<= init_nondet_~i~0 12)} is VALID [2018-11-14 18:50:00,673 INFO L273 TraceCheckUtils]: 46: Hoare triple {27245#(<= init_nondet_~i~0 12)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27255#(<= init_nondet_~i~0 13)} is VALID [2018-11-14 18:50:00,674 INFO L273 TraceCheckUtils]: 47: Hoare triple {27255#(<= init_nondet_~i~0 13)} assume true; {27255#(<= init_nondet_~i~0 13)} is VALID [2018-11-14 18:50:00,674 INFO L273 TraceCheckUtils]: 48: Hoare triple {27255#(<= init_nondet_~i~0 13)} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {27255#(<= init_nondet_~i~0 13)} is VALID [2018-11-14 18:50:00,675 INFO L273 TraceCheckUtils]: 49: Hoare triple {27255#(<= init_nondet_~i~0 13)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {27265#(<= init_nondet_~i~0 14)} is VALID [2018-11-14 18:50:00,675 INFO L273 TraceCheckUtils]: 50: Hoare triple {27265#(<= init_nondet_~i~0 14)} assume true; {27265#(<= init_nondet_~i~0 14)} is VALID [2018-11-14 18:50:00,676 INFO L273 TraceCheckUtils]: 51: Hoare triple {27265#(<= init_nondet_~i~0 14)} assume !(~i~0 < 40); {27100#false} is VALID [2018-11-14 18:50:00,676 INFO L273 TraceCheckUtils]: 52: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,676 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {27100#false} {27099#true} #85#return; {27100#false} is VALID [2018-11-14 18:50:00,677 INFO L273 TraceCheckUtils]: 54: Hoare triple {27100#false} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {27100#false} is VALID [2018-11-14 18:50:00,677 INFO L256 TraceCheckUtils]: 55: Hoare triple {27100#false} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {27100#false} is VALID [2018-11-14 18:50:00,677 INFO L273 TraceCheckUtils]: 56: Hoare triple {27100#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {27100#false} is VALID [2018-11-14 18:50:00,677 INFO L273 TraceCheckUtils]: 57: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,677 INFO L273 TraceCheckUtils]: 58: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,677 INFO L273 TraceCheckUtils]: 59: Hoare triple {27100#false} assume !(~i~1 > 20); {27100#false} is VALID [2018-11-14 18:50:00,678 INFO L273 TraceCheckUtils]: 60: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,678 INFO L273 TraceCheckUtils]: 61: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,678 INFO L273 TraceCheckUtils]: 62: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,678 INFO L273 TraceCheckUtils]: 63: Hoare triple {27100#false} assume !(~i~1 > 20); {27100#false} is VALID [2018-11-14 18:50:00,678 INFO L273 TraceCheckUtils]: 64: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,679 INFO L273 TraceCheckUtils]: 65: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,679 INFO L273 TraceCheckUtils]: 66: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,679 INFO L273 TraceCheckUtils]: 67: Hoare triple {27100#false} assume !(~i~1 > 20); {27100#false} is VALID [2018-11-14 18:50:00,679 INFO L273 TraceCheckUtils]: 68: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,679 INFO L273 TraceCheckUtils]: 69: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,679 INFO L273 TraceCheckUtils]: 70: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,679 INFO L273 TraceCheckUtils]: 71: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,679 INFO L273 TraceCheckUtils]: 72: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,679 INFO L273 TraceCheckUtils]: 73: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,680 INFO L273 TraceCheckUtils]: 74: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,680 INFO L273 TraceCheckUtils]: 75: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,680 INFO L273 TraceCheckUtils]: 76: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,680 INFO L273 TraceCheckUtils]: 77: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,680 INFO L273 TraceCheckUtils]: 78: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,680 INFO L273 TraceCheckUtils]: 79: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,680 INFO L273 TraceCheckUtils]: 80: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,680 INFO L273 TraceCheckUtils]: 81: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,680 INFO L273 TraceCheckUtils]: 82: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,681 INFO L273 TraceCheckUtils]: 83: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,681 INFO L273 TraceCheckUtils]: 84: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,681 INFO L273 TraceCheckUtils]: 85: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,681 INFO L273 TraceCheckUtils]: 86: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,681 INFO L273 TraceCheckUtils]: 87: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,681 INFO L273 TraceCheckUtils]: 88: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,681 INFO L273 TraceCheckUtils]: 89: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,681 INFO L273 TraceCheckUtils]: 90: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,681 INFO L273 TraceCheckUtils]: 91: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,681 INFO L273 TraceCheckUtils]: 92: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,682 INFO L273 TraceCheckUtils]: 93: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,682 INFO L273 TraceCheckUtils]: 94: Hoare triple {27100#false} assume !(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,682 INFO L273 TraceCheckUtils]: 95: Hoare triple {27100#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {27100#false} is VALID [2018-11-14 18:50:00,682 INFO L273 TraceCheckUtils]: 96: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,682 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {27100#false} {27100#false} #87#return; {27100#false} is VALID [2018-11-14 18:50:00,682 INFO L273 TraceCheckUtils]: 98: Hoare triple {27100#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {27100#false} is VALID [2018-11-14 18:50:00,682 INFO L256 TraceCheckUtils]: 99: Hoare triple {27100#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {27100#false} is VALID [2018-11-14 18:50:00,682 INFO L273 TraceCheckUtils]: 100: Hoare triple {27100#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {27100#false} is VALID [2018-11-14 18:50:00,682 INFO L273 TraceCheckUtils]: 101: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,682 INFO L273 TraceCheckUtils]: 102: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,683 INFO L273 TraceCheckUtils]: 103: Hoare triple {27100#false} assume !(~i~1 > 20); {27100#false} is VALID [2018-11-14 18:50:00,683 INFO L273 TraceCheckUtils]: 104: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,683 INFO L273 TraceCheckUtils]: 105: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,683 INFO L273 TraceCheckUtils]: 106: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,683 INFO L273 TraceCheckUtils]: 107: Hoare triple {27100#false} assume !(~i~1 > 20); {27100#false} is VALID [2018-11-14 18:50:00,683 INFO L273 TraceCheckUtils]: 108: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,683 INFO L273 TraceCheckUtils]: 109: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,683 INFO L273 TraceCheckUtils]: 110: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,683 INFO L273 TraceCheckUtils]: 111: Hoare triple {27100#false} assume !(~i~1 > 20); {27100#false} is VALID [2018-11-14 18:50:00,683 INFO L273 TraceCheckUtils]: 112: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,684 INFO L273 TraceCheckUtils]: 113: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,684 INFO L273 TraceCheckUtils]: 114: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,684 INFO L273 TraceCheckUtils]: 115: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,684 INFO L273 TraceCheckUtils]: 116: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,684 INFO L273 TraceCheckUtils]: 117: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,684 INFO L273 TraceCheckUtils]: 118: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,684 INFO L273 TraceCheckUtils]: 119: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,684 INFO L273 TraceCheckUtils]: 120: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,684 INFO L273 TraceCheckUtils]: 121: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,684 INFO L273 TraceCheckUtils]: 122: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,685 INFO L273 TraceCheckUtils]: 123: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,685 INFO L273 TraceCheckUtils]: 124: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,685 INFO L273 TraceCheckUtils]: 125: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,685 INFO L273 TraceCheckUtils]: 126: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,685 INFO L273 TraceCheckUtils]: 127: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,685 INFO L273 TraceCheckUtils]: 128: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,685 INFO L273 TraceCheckUtils]: 129: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,685 INFO L273 TraceCheckUtils]: 130: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,685 INFO L273 TraceCheckUtils]: 131: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,685 INFO L273 TraceCheckUtils]: 132: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,686 INFO L273 TraceCheckUtils]: 133: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,686 INFO L273 TraceCheckUtils]: 134: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,686 INFO L273 TraceCheckUtils]: 135: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,686 INFO L273 TraceCheckUtils]: 136: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,686 INFO L273 TraceCheckUtils]: 137: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,686 INFO L273 TraceCheckUtils]: 138: Hoare triple {27100#false} assume !(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,686 INFO L273 TraceCheckUtils]: 139: Hoare triple {27100#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {27100#false} is VALID [2018-11-14 18:50:00,686 INFO L273 TraceCheckUtils]: 140: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,686 INFO L268 TraceCheckUtils]: 141: Hoare quadruple {27100#false} {27100#false} #89#return; {27100#false} is VALID [2018-11-14 18:50:00,687 INFO L273 TraceCheckUtils]: 142: Hoare triple {27100#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {27100#false} is VALID [2018-11-14 18:50:00,687 INFO L273 TraceCheckUtils]: 143: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,687 INFO L273 TraceCheckUtils]: 144: Hoare triple {27100#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {27100#false} is VALID [2018-11-14 18:50:00,687 INFO L273 TraceCheckUtils]: 145: Hoare triple {27100#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {27100#false} is VALID [2018-11-14 18:50:00,687 INFO L273 TraceCheckUtils]: 146: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,687 INFO L273 TraceCheckUtils]: 147: Hoare triple {27100#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {27100#false} is VALID [2018-11-14 18:50:00,687 INFO L273 TraceCheckUtils]: 148: Hoare triple {27100#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {27100#false} is VALID [2018-11-14 18:50:00,687 INFO L273 TraceCheckUtils]: 149: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,687 INFO L273 TraceCheckUtils]: 150: Hoare triple {27100#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {27100#false} is VALID [2018-11-14 18:50:00,687 INFO L273 TraceCheckUtils]: 151: Hoare triple {27100#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {27100#false} is VALID [2018-11-14 18:50:00,688 INFO L273 TraceCheckUtils]: 152: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,688 INFO L273 TraceCheckUtils]: 153: Hoare triple {27100#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {27100#false} is VALID [2018-11-14 18:50:00,688 INFO L273 TraceCheckUtils]: 154: Hoare triple {27100#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {27100#false} is VALID [2018-11-14 18:50:00,688 INFO L273 TraceCheckUtils]: 155: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,688 INFO L273 TraceCheckUtils]: 156: Hoare triple {27100#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {27100#false} is VALID [2018-11-14 18:50:00,688 INFO L273 TraceCheckUtils]: 157: Hoare triple {27100#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {27100#false} is VALID [2018-11-14 18:50:00,688 INFO L273 TraceCheckUtils]: 158: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,688 INFO L273 TraceCheckUtils]: 159: Hoare triple {27100#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {27100#false} is VALID [2018-11-14 18:50:00,688 INFO L273 TraceCheckUtils]: 160: Hoare triple {27100#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {27100#false} is VALID [2018-11-14 18:50:00,688 INFO L273 TraceCheckUtils]: 161: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,689 INFO L273 TraceCheckUtils]: 162: Hoare triple {27100#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {27100#false} is VALID [2018-11-14 18:50:00,689 INFO L273 TraceCheckUtils]: 163: Hoare triple {27100#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {27100#false} is VALID [2018-11-14 18:50:00,689 INFO L273 TraceCheckUtils]: 164: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,689 INFO L273 TraceCheckUtils]: 165: Hoare triple {27100#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {27100#false} is VALID [2018-11-14 18:50:00,689 INFO L273 TraceCheckUtils]: 166: Hoare triple {27100#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {27100#false} is VALID [2018-11-14 18:50:00,689 INFO L273 TraceCheckUtils]: 167: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,689 INFO L273 TraceCheckUtils]: 168: Hoare triple {27100#false} assume !(~i~2 < 39); {27100#false} is VALID [2018-11-14 18:50:00,689 INFO L273 TraceCheckUtils]: 169: Hoare triple {27100#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {27100#false} is VALID [2018-11-14 18:50:00,689 INFO L256 TraceCheckUtils]: 170: Hoare triple {27100#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {27100#false} is VALID [2018-11-14 18:50:00,689 INFO L273 TraceCheckUtils]: 171: Hoare triple {27100#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {27100#false} is VALID [2018-11-14 18:50:00,690 INFO L273 TraceCheckUtils]: 172: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,690 INFO L273 TraceCheckUtils]: 173: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,690 INFO L273 TraceCheckUtils]: 174: Hoare triple {27100#false} assume !(~i~1 > 20); {27100#false} is VALID [2018-11-14 18:50:00,690 INFO L273 TraceCheckUtils]: 175: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,690 INFO L273 TraceCheckUtils]: 176: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,690 INFO L273 TraceCheckUtils]: 177: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,690 INFO L273 TraceCheckUtils]: 178: Hoare triple {27100#false} assume !(~i~1 > 20); {27100#false} is VALID [2018-11-14 18:50:00,690 INFO L273 TraceCheckUtils]: 179: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,690 INFO L273 TraceCheckUtils]: 180: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,691 INFO L273 TraceCheckUtils]: 181: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,691 INFO L273 TraceCheckUtils]: 182: Hoare triple {27100#false} assume !(~i~1 > 20); {27100#false} is VALID [2018-11-14 18:50:00,691 INFO L273 TraceCheckUtils]: 183: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,691 INFO L273 TraceCheckUtils]: 184: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,691 INFO L273 TraceCheckUtils]: 185: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,691 INFO L273 TraceCheckUtils]: 186: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,691 INFO L273 TraceCheckUtils]: 187: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,691 INFO L273 TraceCheckUtils]: 188: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,691 INFO L273 TraceCheckUtils]: 189: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,691 INFO L273 TraceCheckUtils]: 190: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,692 INFO L273 TraceCheckUtils]: 191: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,692 INFO L273 TraceCheckUtils]: 192: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,692 INFO L273 TraceCheckUtils]: 193: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,692 INFO L273 TraceCheckUtils]: 194: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,692 INFO L273 TraceCheckUtils]: 195: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,692 INFO L273 TraceCheckUtils]: 196: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,692 INFO L273 TraceCheckUtils]: 197: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,692 INFO L273 TraceCheckUtils]: 198: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,692 INFO L273 TraceCheckUtils]: 199: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,692 INFO L273 TraceCheckUtils]: 200: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,693 INFO L273 TraceCheckUtils]: 201: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,693 INFO L273 TraceCheckUtils]: 202: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,693 INFO L273 TraceCheckUtils]: 203: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,693 INFO L273 TraceCheckUtils]: 204: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,693 INFO L273 TraceCheckUtils]: 205: Hoare triple {27100#false} assume !!(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,693 INFO L273 TraceCheckUtils]: 206: Hoare triple {27100#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {27100#false} is VALID [2018-11-14 18:50:00,693 INFO L273 TraceCheckUtils]: 207: Hoare triple {27100#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {27100#false} is VALID [2018-11-14 18:50:00,693 INFO L273 TraceCheckUtils]: 208: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,693 INFO L273 TraceCheckUtils]: 209: Hoare triple {27100#false} assume !(~i~1 < 40); {27100#false} is VALID [2018-11-14 18:50:00,693 INFO L273 TraceCheckUtils]: 210: Hoare triple {27100#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {27100#false} is VALID [2018-11-14 18:50:00,694 INFO L273 TraceCheckUtils]: 211: Hoare triple {27100#false} assume true; {27100#false} is VALID [2018-11-14 18:50:00,694 INFO L268 TraceCheckUtils]: 212: Hoare quadruple {27100#false} {27100#false} #91#return; {27100#false} is VALID [2018-11-14 18:50:00,694 INFO L273 TraceCheckUtils]: 213: Hoare triple {27100#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {27100#false} is VALID [2018-11-14 18:50:00,694 INFO L273 TraceCheckUtils]: 214: Hoare triple {27100#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {27100#false} is VALID [2018-11-14 18:50:00,694 INFO L273 TraceCheckUtils]: 215: Hoare triple {27100#false} assume !false; {27100#false} is VALID [2018-11-14 18:50:00,712 INFO L134 CoverageAnalysis]: Checked inductivity of 1985 backedges. 0 proven. 301 refuted. 0 times theorem prover too weak. 1684 trivial. 0 not checked. [2018-11-14 18:50:00,731 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:50:00,731 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2018-11-14 18:50:00,732 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 216 [2018-11-14 18:50:00,732 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:00,732 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-14 18:50:00,808 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 18:50:00,808 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-14 18:50:00,809 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-14 18:50:00,809 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-14 18:50:00,809 INFO L87 Difference]: Start difference. First operand 133 states and 144 transitions. Second operand 17 states. [2018-11-14 18:50:01,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:01,002 INFO L93 Difference]: Finished difference Result 218 states and 240 transitions. [2018-11-14 18:50:01,002 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-14 18:50:01,003 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 216 [2018-11-14 18:50:01,003 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:01,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-14 18:50:01,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 116 transitions. [2018-11-14 18:50:01,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-14 18:50:01,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 116 transitions. [2018-11-14 18:50:01,005 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 116 transitions. [2018-11-14 18:50:02,178 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:02,181 INFO L225 Difference]: With dead ends: 218 [2018-11-14 18:50:02,181 INFO L226 Difference]: Without dead ends: 137 [2018-11-14 18:50:02,182 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 215 GetRequests, 200 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-14 18:50:02,182 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2018-11-14 18:50:02,792 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 136. [2018-11-14 18:50:02,792 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:02,793 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand 136 states. [2018-11-14 18:50:02,793 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 136 states. [2018-11-14 18:50:02,793 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 136 states. [2018-11-14 18:50:02,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:02,796 INFO L93 Difference]: Finished difference Result 137 states and 148 transitions. [2018-11-14 18:50:02,796 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 148 transitions. [2018-11-14 18:50:02,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:02,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:02,797 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 137 states. [2018-11-14 18:50:02,797 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 137 states. [2018-11-14 18:50:02,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:02,798 INFO L93 Difference]: Finished difference Result 137 states and 148 transitions. [2018-11-14 18:50:02,798 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 148 transitions. [2018-11-14 18:50:02,799 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:02,799 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:02,799 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:02,799 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:02,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 136 states. [2018-11-14 18:50:02,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 147 transitions. [2018-11-14 18:50:02,801 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 147 transitions. Word has length 216 [2018-11-14 18:50:02,801 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:02,801 INFO L480 AbstractCegarLoop]: Abstraction has 136 states and 147 transitions. [2018-11-14 18:50:02,801 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-14 18:50:02,801 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 147 transitions. [2018-11-14 18:50:02,802 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 220 [2018-11-14 18:50:02,802 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:02,802 INFO L375 BasicCegarLoop]: trace histogram [30, 27, 27, 18, 16, 15, 15, 9, 9, 8, 8, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:50:02,802 INFO L423 AbstractCegarLoop]: === Iteration 34 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:02,803 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:02,803 INFO L82 PathProgramCache]: Analyzing trace with hash -1937130566, now seen corresponding path program 29 times [2018-11-14 18:50:02,803 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:02,803 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:02,803 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:02,803 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:50:02,804 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:02,815 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:50:02,815 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:50:02,816 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:50:02,831 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-14 18:50:02,937 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2018-11-14 18:50:02,938 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:50:02,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:02,971 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:03,186 INFO L256 TraceCheckUtils]: 0: Hoare triple {28504#true} call ULTIMATE.init(); {28504#true} is VALID [2018-11-14 18:50:03,187 INFO L273 TraceCheckUtils]: 1: Hoare triple {28504#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {28504#true} is VALID [2018-11-14 18:50:03,187 INFO L273 TraceCheckUtils]: 2: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,187 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {28504#true} {28504#true} #81#return; {28504#true} is VALID [2018-11-14 18:50:03,187 INFO L256 TraceCheckUtils]: 4: Hoare triple {28504#true} call #t~ret12 := main(); {28504#true} is VALID [2018-11-14 18:50:03,188 INFO L273 TraceCheckUtils]: 5: Hoare triple {28504#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(160); {28504#true} is VALID [2018-11-14 18:50:03,188 INFO L256 TraceCheckUtils]: 6: Hoare triple {28504#true} call init_nondet(~#x~0.base, ~#x~0.offset); {28504#true} is VALID [2018-11-14 18:50:03,188 INFO L273 TraceCheckUtils]: 7: Hoare triple {28504#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; {28504#true} is VALID [2018-11-14 18:50:03,188 INFO L273 TraceCheckUtils]: 8: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,188 INFO L273 TraceCheckUtils]: 9: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,188 INFO L273 TraceCheckUtils]: 10: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,189 INFO L273 TraceCheckUtils]: 11: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,189 INFO L273 TraceCheckUtils]: 12: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,189 INFO L273 TraceCheckUtils]: 13: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,189 INFO L273 TraceCheckUtils]: 14: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,189 INFO L273 TraceCheckUtils]: 15: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,189 INFO L273 TraceCheckUtils]: 16: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,189 INFO L273 TraceCheckUtils]: 17: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,189 INFO L273 TraceCheckUtils]: 18: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,189 INFO L273 TraceCheckUtils]: 19: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,190 INFO L273 TraceCheckUtils]: 20: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,190 INFO L273 TraceCheckUtils]: 21: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,190 INFO L273 TraceCheckUtils]: 22: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,190 INFO L273 TraceCheckUtils]: 23: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,190 INFO L273 TraceCheckUtils]: 24: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,190 INFO L273 TraceCheckUtils]: 25: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,190 INFO L273 TraceCheckUtils]: 26: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,190 INFO L273 TraceCheckUtils]: 27: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,190 INFO L273 TraceCheckUtils]: 28: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,191 INFO L273 TraceCheckUtils]: 29: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,191 INFO L273 TraceCheckUtils]: 30: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,191 INFO L273 TraceCheckUtils]: 31: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,191 INFO L273 TraceCheckUtils]: 32: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,191 INFO L273 TraceCheckUtils]: 33: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,191 INFO L273 TraceCheckUtils]: 34: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,191 INFO L273 TraceCheckUtils]: 35: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,191 INFO L273 TraceCheckUtils]: 36: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,191 INFO L273 TraceCheckUtils]: 37: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,191 INFO L273 TraceCheckUtils]: 38: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,192 INFO L273 TraceCheckUtils]: 39: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,192 INFO L273 TraceCheckUtils]: 40: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,192 INFO L273 TraceCheckUtils]: 41: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,192 INFO L273 TraceCheckUtils]: 42: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,192 INFO L273 TraceCheckUtils]: 43: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,192 INFO L273 TraceCheckUtils]: 44: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,192 INFO L273 TraceCheckUtils]: 45: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,192 INFO L273 TraceCheckUtils]: 46: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,192 INFO L273 TraceCheckUtils]: 47: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,192 INFO L273 TraceCheckUtils]: 48: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,193 INFO L273 TraceCheckUtils]: 49: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,193 INFO L273 TraceCheckUtils]: 50: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,193 INFO L273 TraceCheckUtils]: 51: Hoare triple {28504#true} assume !!(~i~0 < 40);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + ~i~0 * 4, 4);havoc #t~nondet1; {28504#true} is VALID [2018-11-14 18:50:03,193 INFO L273 TraceCheckUtils]: 52: Hoare triple {28504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {28504#true} is VALID [2018-11-14 18:50:03,193 INFO L273 TraceCheckUtils]: 53: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,193 INFO L273 TraceCheckUtils]: 54: Hoare triple {28504#true} assume !(~i~0 < 40); {28504#true} is VALID [2018-11-14 18:50:03,193 INFO L273 TraceCheckUtils]: 55: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,193 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {28504#true} {28504#true} #85#return; {28504#true} is VALID [2018-11-14 18:50:03,193 INFO L273 TraceCheckUtils]: 57: Hoare triple {28504#true} havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {28504#true} is VALID [2018-11-14 18:50:03,193 INFO L256 TraceCheckUtils]: 58: Hoare triple {28504#true} call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); {28504#true} is VALID [2018-11-14 18:50:03,194 INFO L273 TraceCheckUtils]: 59: Hoare triple {28504#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {28504#true} is VALID [2018-11-14 18:50:03,194 INFO L273 TraceCheckUtils]: 60: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,194 INFO L273 TraceCheckUtils]: 61: Hoare triple {28504#true} assume !!(~i~1 < 40); {28504#true} is VALID [2018-11-14 18:50:03,194 INFO L273 TraceCheckUtils]: 62: Hoare triple {28504#true} assume !(~i~1 > 20); {28504#true} is VALID [2018-11-14 18:50:03,194 INFO L273 TraceCheckUtils]: 63: Hoare triple {28504#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28504#true} is VALID [2018-11-14 18:50:03,194 INFO L273 TraceCheckUtils]: 64: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,194 INFO L273 TraceCheckUtils]: 65: Hoare triple {28504#true} assume !!(~i~1 < 40); {28504#true} is VALID [2018-11-14 18:50:03,194 INFO L273 TraceCheckUtils]: 66: Hoare triple {28504#true} assume !(~i~1 > 20); {28504#true} is VALID [2018-11-14 18:50:03,194 INFO L273 TraceCheckUtils]: 67: Hoare triple {28504#true} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28504#true} is VALID [2018-11-14 18:50:03,194 INFO L273 TraceCheckUtils]: 68: Hoare triple {28504#true} assume true; {28504#true} is VALID [2018-11-14 18:50:03,195 INFO L273 TraceCheckUtils]: 69: Hoare triple {28504#true} assume !!(~i~1 < 40); {28504#true} is VALID [2018-11-14 18:50:03,195 INFO L273 TraceCheckUtils]: 70: Hoare triple {28504#true} assume !(~i~1 > 20); {28719#(<= rangesum_~i~1 20)} is VALID [2018-11-14 18:50:03,195 INFO L273 TraceCheckUtils]: 71: Hoare triple {28719#(<= rangesum_~i~1 20)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28723#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:50:03,214 INFO L273 TraceCheckUtils]: 72: Hoare triple {28723#(<= rangesum_~i~1 21)} assume true; {28723#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:50:03,223 INFO L273 TraceCheckUtils]: 73: Hoare triple {28723#(<= rangesum_~i~1 21)} assume !!(~i~1 < 40); {28723#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:50:03,238 INFO L273 TraceCheckUtils]: 74: Hoare triple {28723#(<= rangesum_~i~1 21)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28723#(<= rangesum_~i~1 21)} is VALID [2018-11-14 18:50:03,247 INFO L273 TraceCheckUtils]: 75: Hoare triple {28723#(<= rangesum_~i~1 21)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28736#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:50:03,259 INFO L273 TraceCheckUtils]: 76: Hoare triple {28736#(<= rangesum_~i~1 22)} assume true; {28736#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:50:03,268 INFO L273 TraceCheckUtils]: 77: Hoare triple {28736#(<= rangesum_~i~1 22)} assume !!(~i~1 < 40); {28736#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:50:03,270 INFO L273 TraceCheckUtils]: 78: Hoare triple {28736#(<= rangesum_~i~1 22)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28736#(<= rangesum_~i~1 22)} is VALID [2018-11-14 18:50:03,281 INFO L273 TraceCheckUtils]: 79: Hoare triple {28736#(<= rangesum_~i~1 22)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28749#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:50:03,293 INFO L273 TraceCheckUtils]: 80: Hoare triple {28749#(<= rangesum_~i~1 23)} assume true; {28749#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:50:03,307 INFO L273 TraceCheckUtils]: 81: Hoare triple {28749#(<= rangesum_~i~1 23)} assume !!(~i~1 < 40); {28749#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:50:03,315 INFO L273 TraceCheckUtils]: 82: Hoare triple {28749#(<= rangesum_~i~1 23)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28749#(<= rangesum_~i~1 23)} is VALID [2018-11-14 18:50:03,334 INFO L273 TraceCheckUtils]: 83: Hoare triple {28749#(<= rangesum_~i~1 23)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28762#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:50:03,342 INFO L273 TraceCheckUtils]: 84: Hoare triple {28762#(<= rangesum_~i~1 24)} assume true; {28762#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:50:03,355 INFO L273 TraceCheckUtils]: 85: Hoare triple {28762#(<= rangesum_~i~1 24)} assume !!(~i~1 < 40); {28762#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:50:03,367 INFO L273 TraceCheckUtils]: 86: Hoare triple {28762#(<= rangesum_~i~1 24)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28762#(<= rangesum_~i~1 24)} is VALID [2018-11-14 18:50:03,380 INFO L273 TraceCheckUtils]: 87: Hoare triple {28762#(<= rangesum_~i~1 24)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28775#(<= rangesum_~i~1 25)} is VALID [2018-11-14 18:50:03,397 INFO L273 TraceCheckUtils]: 88: Hoare triple {28775#(<= rangesum_~i~1 25)} assume true; {28775#(<= rangesum_~i~1 25)} is VALID [2018-11-14 18:50:03,405 INFO L273 TraceCheckUtils]: 89: Hoare triple {28775#(<= rangesum_~i~1 25)} assume !!(~i~1 < 40); {28775#(<= rangesum_~i~1 25)} is VALID [2018-11-14 18:50:03,418 INFO L273 TraceCheckUtils]: 90: Hoare triple {28775#(<= rangesum_~i~1 25)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28775#(<= rangesum_~i~1 25)} is VALID [2018-11-14 18:50:03,430 INFO L273 TraceCheckUtils]: 91: Hoare triple {28775#(<= rangesum_~i~1 25)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28788#(<= rangesum_~i~1 26)} is VALID [2018-11-14 18:50:03,442 INFO L273 TraceCheckUtils]: 92: Hoare triple {28788#(<= rangesum_~i~1 26)} assume true; {28788#(<= rangesum_~i~1 26)} is VALID [2018-11-14 18:50:03,461 INFO L273 TraceCheckUtils]: 93: Hoare triple {28788#(<= rangesum_~i~1 26)} assume !!(~i~1 < 40); {28788#(<= rangesum_~i~1 26)} is VALID [2018-11-14 18:50:03,469 INFO L273 TraceCheckUtils]: 94: Hoare triple {28788#(<= rangesum_~i~1 26)} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28788#(<= rangesum_~i~1 26)} is VALID [2018-11-14 18:50:03,482 INFO L273 TraceCheckUtils]: 95: Hoare triple {28788#(<= rangesum_~i~1 26)} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28801#(<= rangesum_~i~1 27)} is VALID [2018-11-14 18:50:03,494 INFO L273 TraceCheckUtils]: 96: Hoare triple {28801#(<= rangesum_~i~1 27)} assume true; {28801#(<= rangesum_~i~1 27)} is VALID [2018-11-14 18:50:03,508 INFO L273 TraceCheckUtils]: 97: Hoare triple {28801#(<= rangesum_~i~1 27)} assume !(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,508 INFO L273 TraceCheckUtils]: 98: Hoare triple {28505#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {28505#false} is VALID [2018-11-14 18:50:03,508 INFO L273 TraceCheckUtils]: 99: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,508 INFO L268 TraceCheckUtils]: 100: Hoare quadruple {28505#false} {28504#true} #87#return; {28505#false} is VALID [2018-11-14 18:50:03,508 INFO L273 TraceCheckUtils]: 101: Hoare triple {28505#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {28505#false} is VALID [2018-11-14 18:50:03,509 INFO L256 TraceCheckUtils]: 102: Hoare triple {28505#false} call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); {28505#false} is VALID [2018-11-14 18:50:03,509 INFO L273 TraceCheckUtils]: 103: Hoare triple {28505#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {28505#false} is VALID [2018-11-14 18:50:03,509 INFO L273 TraceCheckUtils]: 104: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,509 INFO L273 TraceCheckUtils]: 105: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,509 INFO L273 TraceCheckUtils]: 106: Hoare triple {28505#false} assume !(~i~1 > 20); {28505#false} is VALID [2018-11-14 18:50:03,509 INFO L273 TraceCheckUtils]: 107: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,510 INFO L273 TraceCheckUtils]: 108: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,510 INFO L273 TraceCheckUtils]: 109: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,510 INFO L273 TraceCheckUtils]: 110: Hoare triple {28505#false} assume !(~i~1 > 20); {28505#false} is VALID [2018-11-14 18:50:03,510 INFO L273 TraceCheckUtils]: 111: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,510 INFO L273 TraceCheckUtils]: 112: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,510 INFO L273 TraceCheckUtils]: 113: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,511 INFO L273 TraceCheckUtils]: 114: Hoare triple {28505#false} assume !(~i~1 > 20); {28505#false} is VALID [2018-11-14 18:50:03,511 INFO L273 TraceCheckUtils]: 115: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,511 INFO L273 TraceCheckUtils]: 116: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,511 INFO L273 TraceCheckUtils]: 117: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,511 INFO L273 TraceCheckUtils]: 118: Hoare triple {28505#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28505#false} is VALID [2018-11-14 18:50:03,511 INFO L273 TraceCheckUtils]: 119: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,512 INFO L273 TraceCheckUtils]: 120: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,512 INFO L273 TraceCheckUtils]: 121: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,512 INFO L273 TraceCheckUtils]: 122: Hoare triple {28505#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28505#false} is VALID [2018-11-14 18:50:03,512 INFO L273 TraceCheckUtils]: 123: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,512 INFO L273 TraceCheckUtils]: 124: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,512 INFO L273 TraceCheckUtils]: 125: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,512 INFO L273 TraceCheckUtils]: 126: Hoare triple {28505#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28505#false} is VALID [2018-11-14 18:50:03,513 INFO L273 TraceCheckUtils]: 127: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,513 INFO L273 TraceCheckUtils]: 128: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,513 INFO L273 TraceCheckUtils]: 129: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,513 INFO L273 TraceCheckUtils]: 130: Hoare triple {28505#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28505#false} is VALID [2018-11-14 18:50:03,513 INFO L273 TraceCheckUtils]: 131: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,513 INFO L273 TraceCheckUtils]: 132: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,514 INFO L273 TraceCheckUtils]: 133: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,514 INFO L273 TraceCheckUtils]: 134: Hoare triple {28505#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28505#false} is VALID [2018-11-14 18:50:03,514 INFO L273 TraceCheckUtils]: 135: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,514 INFO L273 TraceCheckUtils]: 136: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,514 INFO L273 TraceCheckUtils]: 137: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,514 INFO L273 TraceCheckUtils]: 138: Hoare triple {28505#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28505#false} is VALID [2018-11-14 18:50:03,515 INFO L273 TraceCheckUtils]: 139: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,515 INFO L273 TraceCheckUtils]: 140: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,515 INFO L273 TraceCheckUtils]: 141: Hoare triple {28505#false} assume !(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,515 INFO L273 TraceCheckUtils]: 142: Hoare triple {28505#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {28505#false} is VALID [2018-11-14 18:50:03,515 INFO L273 TraceCheckUtils]: 143: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,515 INFO L268 TraceCheckUtils]: 144: Hoare quadruple {28505#false} {28505#false} #89#return; {28505#false} is VALID [2018-11-14 18:50:03,516 INFO L273 TraceCheckUtils]: 145: Hoare triple {28505#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {28505#false} is VALID [2018-11-14 18:50:03,516 INFO L273 TraceCheckUtils]: 146: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,516 INFO L273 TraceCheckUtils]: 147: Hoare triple {28505#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {28505#false} is VALID [2018-11-14 18:50:03,516 INFO L273 TraceCheckUtils]: 148: Hoare triple {28505#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {28505#false} is VALID [2018-11-14 18:50:03,516 INFO L273 TraceCheckUtils]: 149: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,516 INFO L273 TraceCheckUtils]: 150: Hoare triple {28505#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {28505#false} is VALID [2018-11-14 18:50:03,517 INFO L273 TraceCheckUtils]: 151: Hoare triple {28505#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {28505#false} is VALID [2018-11-14 18:50:03,517 INFO L273 TraceCheckUtils]: 152: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,517 INFO L273 TraceCheckUtils]: 153: Hoare triple {28505#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {28505#false} is VALID [2018-11-14 18:50:03,517 INFO L273 TraceCheckUtils]: 154: Hoare triple {28505#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {28505#false} is VALID [2018-11-14 18:50:03,517 INFO L273 TraceCheckUtils]: 155: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,517 INFO L273 TraceCheckUtils]: 156: Hoare triple {28505#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {28505#false} is VALID [2018-11-14 18:50:03,518 INFO L273 TraceCheckUtils]: 157: Hoare triple {28505#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {28505#false} is VALID [2018-11-14 18:50:03,518 INFO L273 TraceCheckUtils]: 158: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,518 INFO L273 TraceCheckUtils]: 159: Hoare triple {28505#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {28505#false} is VALID [2018-11-14 18:50:03,518 INFO L273 TraceCheckUtils]: 160: Hoare triple {28505#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {28505#false} is VALID [2018-11-14 18:50:03,518 INFO L273 TraceCheckUtils]: 161: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,518 INFO L273 TraceCheckUtils]: 162: Hoare triple {28505#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {28505#false} is VALID [2018-11-14 18:50:03,518 INFO L273 TraceCheckUtils]: 163: Hoare triple {28505#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {28505#false} is VALID [2018-11-14 18:50:03,519 INFO L273 TraceCheckUtils]: 164: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,519 INFO L273 TraceCheckUtils]: 165: Hoare triple {28505#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {28505#false} is VALID [2018-11-14 18:50:03,519 INFO L273 TraceCheckUtils]: 166: Hoare triple {28505#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {28505#false} is VALID [2018-11-14 18:50:03,519 INFO L273 TraceCheckUtils]: 167: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,519 INFO L273 TraceCheckUtils]: 168: Hoare triple {28505#false} assume !!(~i~2 < 39);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem10; {28505#false} is VALID [2018-11-14 18:50:03,519 INFO L273 TraceCheckUtils]: 169: Hoare triple {28505#false} #t~post9 := ~i~2;~i~2 := #t~post9 + 1;havoc #t~post9; {28505#false} is VALID [2018-11-14 18:50:03,520 INFO L273 TraceCheckUtils]: 170: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,520 INFO L273 TraceCheckUtils]: 171: Hoare triple {28505#false} assume !(~i~2 < 39); {28505#false} is VALID [2018-11-14 18:50:03,520 INFO L273 TraceCheckUtils]: 172: Hoare triple {28505#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 156, 4); {28505#false} is VALID [2018-11-14 18:50:03,520 INFO L256 TraceCheckUtils]: 173: Hoare triple {28505#false} call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); {28505#false} is VALID [2018-11-14 18:50:03,520 INFO L273 TraceCheckUtils]: 174: Hoare triple {28505#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; {28505#false} is VALID [2018-11-14 18:50:03,520 INFO L273 TraceCheckUtils]: 175: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,520 INFO L273 TraceCheckUtils]: 176: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,521 INFO L273 TraceCheckUtils]: 177: Hoare triple {28505#false} assume !(~i~1 > 20); {28505#false} is VALID [2018-11-14 18:50:03,521 INFO L273 TraceCheckUtils]: 178: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,521 INFO L273 TraceCheckUtils]: 179: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,521 INFO L273 TraceCheckUtils]: 180: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,521 INFO L273 TraceCheckUtils]: 181: Hoare triple {28505#false} assume !(~i~1 > 20); {28505#false} is VALID [2018-11-14 18:50:03,521 INFO L273 TraceCheckUtils]: 182: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,522 INFO L273 TraceCheckUtils]: 183: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,522 INFO L273 TraceCheckUtils]: 184: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,522 INFO L273 TraceCheckUtils]: 185: Hoare triple {28505#false} assume !(~i~1 > 20); {28505#false} is VALID [2018-11-14 18:50:03,522 INFO L273 TraceCheckUtils]: 186: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,522 INFO L273 TraceCheckUtils]: 187: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,522 INFO L273 TraceCheckUtils]: 188: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,522 INFO L273 TraceCheckUtils]: 189: Hoare triple {28505#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28505#false} is VALID [2018-11-14 18:50:03,523 INFO L273 TraceCheckUtils]: 190: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,523 INFO L273 TraceCheckUtils]: 191: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,523 INFO L273 TraceCheckUtils]: 192: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,523 INFO L273 TraceCheckUtils]: 193: Hoare triple {28505#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28505#false} is VALID [2018-11-14 18:50:03,523 INFO L273 TraceCheckUtils]: 194: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,523 INFO L273 TraceCheckUtils]: 195: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,524 INFO L273 TraceCheckUtils]: 196: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,524 INFO L273 TraceCheckUtils]: 197: Hoare triple {28505#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28505#false} is VALID [2018-11-14 18:50:03,524 INFO L273 TraceCheckUtils]: 198: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,524 INFO L273 TraceCheckUtils]: 199: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,524 INFO L273 TraceCheckUtils]: 200: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,524 INFO L273 TraceCheckUtils]: 201: Hoare triple {28505#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28505#false} is VALID [2018-11-14 18:50:03,524 INFO L273 TraceCheckUtils]: 202: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,525 INFO L273 TraceCheckUtils]: 203: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,525 INFO L273 TraceCheckUtils]: 204: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,525 INFO L273 TraceCheckUtils]: 205: Hoare triple {28505#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28505#false} is VALID [2018-11-14 18:50:03,525 INFO L273 TraceCheckUtils]: 206: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,525 INFO L273 TraceCheckUtils]: 207: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,525 INFO L273 TraceCheckUtils]: 208: Hoare triple {28505#false} assume !!(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,526 INFO L273 TraceCheckUtils]: 209: Hoare triple {28505#false} assume ~i~1 > 20;call #t~mem3 := read~int(~x.base, ~x.offset + ~i~1 * 4, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := ~cnt~0 + 1; {28505#false} is VALID [2018-11-14 18:50:03,526 INFO L273 TraceCheckUtils]: 210: Hoare triple {28505#false} #t~post2 := ~i~1;~i~1 := #t~post2 + 1;havoc #t~post2; {28505#false} is VALID [2018-11-14 18:50:03,526 INFO L273 TraceCheckUtils]: 211: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,526 INFO L273 TraceCheckUtils]: 212: Hoare triple {28505#false} assume !(~i~1 < 40); {28505#false} is VALID [2018-11-14 18:50:03,526 INFO L273 TraceCheckUtils]: 213: Hoare triple {28505#false} assume ~cnt~0 != 0;#res := (if (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && ~ret~0 % ~cnt~0 != 0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else ~ret~0 / ~cnt~0 + 1) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); {28505#false} is VALID [2018-11-14 18:50:03,526 INFO L273 TraceCheckUtils]: 214: Hoare triple {28505#false} assume true; {28505#false} is VALID [2018-11-14 18:50:03,527 INFO L268 TraceCheckUtils]: 215: Hoare quadruple {28505#false} {28505#false} #91#return; {28505#false} is VALID [2018-11-14 18:50:03,527 INFO L273 TraceCheckUtils]: 216: Hoare triple {28505#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {28505#false} is VALID [2018-11-14 18:50:03,527 INFO L273 TraceCheckUtils]: 217: Hoare triple {28505#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {28505#false} is VALID [2018-11-14 18:50:03,527 INFO L273 TraceCheckUtils]: 218: Hoare triple {28505#false} assume !false; {28505#false} is VALID [2018-11-14 18:50:03,557 INFO L134 CoverageAnalysis]: Checked inductivity of 2029 backedges. 800 proven. 78 refuted. 0 times theorem prover too weak. 1151 trivial. 0 not checked. [2018-11-14 18:50:03,592 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:50:03,592 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2018-11-14 18:50:03,593 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 219 [2018-11-14 18:50:03,593 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:03,593 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-14 18:50:03,872 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 18:50:03,872 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-14 18:50:03,872 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-14 18:50:03,873 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-14 18:50:03,873 INFO L87 Difference]: Start difference. First operand 136 states and 147 transitions. Second operand 10 states. [2018-11-14 18:50:04,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:04,094 INFO L93 Difference]: Finished difference Result 219 states and 245 transitions. [2018-11-14 18:50:04,095 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-14 18:50:04,095 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 219 [2018-11-14 18:50:04,095 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:04,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 18:50:04,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 108 transitions. [2018-11-14 18:50:04,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 18:50:04,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 108 transitions. [2018-11-14 18:50:04,097 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 108 transitions. [2018-11-14 18:50:04,221 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:04,223 INFO L225 Difference]: With dead ends: 219 [2018-11-14 18:50:04,223 INFO L226 Difference]: Without dead ends: 142 [2018-11-14 18:50:04,223 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 218 GetRequests, 210 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-14 18:50:04,223 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 142 states. [2018-11-14 18:50:04,300 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 142 to 140. [2018-11-14 18:50:04,300 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:04,300 INFO L82 GeneralOperation]: Start isEquivalent. First operand 142 states. Second operand 140 states. [2018-11-14 18:50:04,300 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand 140 states. [2018-11-14 18:50:04,300 INFO L87 Difference]: Start difference. First operand 142 states. Second operand 140 states. [2018-11-14 18:50:04,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:04,302 INFO L93 Difference]: Finished difference Result 142 states and 155 transitions. [2018-11-14 18:50:04,303 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 155 transitions. [2018-11-14 18:50:04,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:04,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:04,304 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 142 states. [2018-11-14 18:50:04,304 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 142 states. [2018-11-14 18:50:04,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:04,306 INFO L93 Difference]: Finished difference Result 142 states and 155 transitions. [2018-11-14 18:50:04,306 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 155 transitions. [2018-11-14 18:50:04,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:04,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:04,307 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:04,307 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:04,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 140 states. [2018-11-14 18:50:04,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 152 transitions. [2018-11-14 18:50:04,309 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 152 transitions. Word has length 219 [2018-11-14 18:50:04,309 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:04,309 INFO L480 AbstractCegarLoop]: Abstraction has 140 states and 152 transitions. [2018-11-14 18:50:04,309 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-14 18:50:04,309 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 152 transitions. [2018-11-14 18:50:04,310 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 232 [2018-11-14 18:50:04,310 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:04,311 INFO L375 BasicCegarLoop]: trace histogram [33, 30, 30, 21, 16, 15, 15, 9, 9, 8, 8, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:50:04,311 INFO L423 AbstractCegarLoop]: === Iteration 35 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:04,311 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:04,311 INFO L82 PathProgramCache]: Analyzing trace with hash 1430579185, now seen corresponding path program 30 times [2018-11-14 18:50:04,311 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:04,311 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:04,312 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:04,312 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:50:04,312 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:04,322 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-14 18:50:04,323 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-14 18:50:04,323 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-14 18:50:04,338 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE