/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 04:39:23,732 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 04:39:23,733 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 04:39:23,792 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 04:39:23,792 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 04:39:23,793 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 04:39:23,794 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 04:39:23,795 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 04:39:23,797 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 04:39:23,797 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 04:39:23,798 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 04:39:23,799 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 04:39:23,799 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 04:39:23,799 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 04:39:23,800 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 04:39:23,801 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 04:39:23,801 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 04:39:23,802 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 04:39:23,803 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 04:39:23,816 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 04:39:23,817 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 04:39:23,820 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 04:39:23,821 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 04:39:23,821 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 04:39:23,822 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 04:39:23,824 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 04:39:23,824 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 04:39:23,824 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 04:39:23,825 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 04:39:23,826 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 04:39:23,826 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 04:39:23,827 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 04:39:23,827 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 04:39:23,828 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 04:39:23,828 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 04:39:23,829 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 04:39:23,829 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 04:39:23,830 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 04:39:23,830 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 04:39:23,830 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 04:39:23,831 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 04:39:23,831 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 04:39:23,832 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 04:39:23,838 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 04:39:23,843 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 04:39:23,844 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 04:39:23,844 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 04:39:23,844 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 04:39:23,845 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 04:39:23,845 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 04:39:23,845 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 04:39:23,845 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 04:39:23,845 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 04:39:23,845 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 04:39:23,845 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 04:39:23,845 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 04:39:23,846 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 04:39:23,846 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 04:39:23,846 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 04:39:23,846 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 04:39:23,846 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 04:39:23,846 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:39:23,846 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 04:39:23,847 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 04:39:23,847 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 04:39:23,847 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 04:39:23,847 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 04:39:23,847 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 04:39:23,847 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 04:39:24,065 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 04:39:24,098 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 04:39:24,100 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 04:39:24,101 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 04:39:24,102 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 04:39:24,103 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound5.c [2022-04-28 04:39:24,159 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/92ff608fd/5e8303cf679341f3a9925244ff93845e/FLAGcb0aed599 [2022-04-28 04:39:24,548 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 04:39:24,548 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound5.c [2022-04-28 04:39:24,553 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/92ff608fd/5e8303cf679341f3a9925244ff93845e/FLAGcb0aed599 [2022-04-28 04:39:24,564 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/92ff608fd/5e8303cf679341f3a9925244ff93845e [2022-04-28 04:39:24,566 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 04:39:24,568 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 04:39:24,570 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 04:39:24,570 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 04:39:24,573 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 04:39:24,574 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:39:24" (1/1) ... [2022-04-28 04:39:24,575 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@69d6d4b7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:24, skipping insertion in model container [2022-04-28 04:39:24,575 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:39:24" (1/1) ... [2022-04-28 04:39:24,580 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 04:39:24,592 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 04:39:24,723 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound5.c[597,610] [2022-04-28 04:39:24,753 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:39:24,760 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 04:39:24,769 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound5.c[597,610] [2022-04-28 04:39:24,776 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:39:24,786 INFO L208 MainTranslator]: Completed translation [2022-04-28 04:39:24,787 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:24 WrapperNode [2022-04-28 04:39:24,787 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 04:39:24,788 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 04:39:24,788 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 04:39:24,788 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 04:39:24,797 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:24" (1/1) ... [2022-04-28 04:39:24,797 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:24" (1/1) ... [2022-04-28 04:39:24,802 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:24" (1/1) ... [2022-04-28 04:39:24,802 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:24" (1/1) ... [2022-04-28 04:39:24,807 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:24" (1/1) ... [2022-04-28 04:39:24,811 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:24" (1/1) ... [2022-04-28 04:39:24,812 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:24" (1/1) ... [2022-04-28 04:39:24,813 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 04:39:24,814 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 04:39:24,814 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 04:39:24,814 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 04:39:24,815 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:24" (1/1) ... [2022-04-28 04:39:24,835 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:39:24,843 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:39:24,860 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 04:39:24,883 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 04:39:24,903 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 04:39:24,903 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 04:39:24,904 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 04:39:24,904 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 04:39:24,904 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 04:39:24,904 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 04:39:24,904 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 04:39:24,904 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 04:39:24,905 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 04:39:24,905 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 04:39:24,905 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 04:39:24,906 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 04:39:24,906 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 04:39:24,906 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 04:39:24,906 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 04:39:24,907 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 04:39:24,907 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 04:39:24,907 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 04:39:24,907 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 04:39:24,907 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 04:39:24,959 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 04:39:24,960 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 04:39:25,166 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 04:39:25,171 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 04:39:25,171 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 04:39:25,172 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:39:25 BoogieIcfgContainer [2022-04-28 04:39:25,172 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 04:39:25,173 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 04:39:25,173 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 04:39:25,176 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 04:39:25,176 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 04:39:24" (1/3) ... [2022-04-28 04:39:25,176 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57f98a05 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:39:25, skipping insertion in model container [2022-04-28 04:39:25,176 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:24" (2/3) ... [2022-04-28 04:39:25,177 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57f98a05 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:39:25, skipping insertion in model container [2022-04-28 04:39:25,177 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:39:25" (3/3) ... [2022-04-28 04:39:25,178 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound5.c [2022-04-28 04:39:25,208 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 04:39:25,209 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 04:39:25,261 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 04:39:25,267 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@74d2f256, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@63e5983d [2022-04-28 04:39:25,267 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 04:39:25,281 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:39:25,287 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 04:39:25,288 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:39:25,288 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:39:25,289 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:39:25,293 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:39:25,294 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-28 04:39:25,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:25,301 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [135279507] [2022-04-28 04:39:25,311 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:39:25,312 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-28 04:39:25,314 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:39:25,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [305397520] [2022-04-28 04:39:25,314 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:39:25,315 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:39:25,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:25,444 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:39:25,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:25,475 INFO L290 TraceCheckUtils]: 0: Hoare triple {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-28 04:39:25,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 04:39:25,476 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 04:39:25,477 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:39:25,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:25,489 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 04:39:25,490 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 04:39:25,490 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 04:39:25,490 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 04:39:25,491 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:39:25,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:25,515 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 04:39:25,515 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 04:39:25,516 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 04:39:25,516 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 04:39:25,517 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:39:25,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-28 04:39:25,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 04:39:25,517 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 04:39:25,517 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-28 04:39:25,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-28 04:39:25,518 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {35#true} is VALID [2022-04-28 04:39:25,518 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 04:39:25,520 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 04:39:25,520 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 04:39:25,520 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 04:39:25,520 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-28 04:39:25,520 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {35#true} is VALID [2022-04-28 04:39:25,521 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 04:39:25,521 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 04:39:25,521 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 04:39:25,521 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 04:39:25,522 INFO L290 TraceCheckUtils]: 17: Hoare triple {36#false} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {36#false} is VALID [2022-04-28 04:39:25,522 INFO L290 TraceCheckUtils]: 18: Hoare triple {36#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {36#false} is VALID [2022-04-28 04:39:25,522 INFO L272 TraceCheckUtils]: 19: Hoare triple {36#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {36#false} is VALID [2022-04-28 04:39:25,523 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 04:39:25,523 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 04:39:25,523 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 04:39:25,523 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 04:39:25,524 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:39:25,524 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [305397520] [2022-04-28 04:39:25,525 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [305397520] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:39:25,526 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:39:25,526 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:39:25,529 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:39:25,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [135279507] [2022-04-28 04:39:25,530 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [135279507] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:39:25,530 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:39:25,531 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:39:25,531 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [650034495] [2022-04-28 04:39:25,531 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:39:25,536 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 04:39:25,537 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:39:25,540 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:39:25,572 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:25,573 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 04:39:25,573 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:25,592 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 04:39:25,592 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 04:39:25,595 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:39:25,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:25,744 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-28 04:39:25,744 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 04:39:25,744 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 04:39:25,744 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:39:25,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:39:25,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 04:39:25,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:39:25,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 04:39:25,757 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-28 04:39:25,838 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:25,843 INFO L225 Difference]: With dead ends: 57 [2022-04-28 04:39:25,844 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 04:39:25,845 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 04:39:25,848 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:39:25,848 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:39:25,858 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 04:39:25,868 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 04:39:25,868 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:39:25,869 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:39:25,869 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:39:25,869 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:39:25,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:25,877 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 04:39:25,877 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 04:39:25,878 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:39:25,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:39:25,878 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-28 04:39:25,878 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-28 04:39:25,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:25,881 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 04:39:25,881 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 04:39:25,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:39:25,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:39:25,882 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:39:25,883 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:39:25,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 04:39:25,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-28 04:39:25,886 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-28 04:39:25,886 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:39:25,886 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-28 04:39:25,886 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:39:25,886 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-28 04:39:25,923 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:25,924 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 04:39:25,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 04:39:25,924 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:39:25,924 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:39:25,925 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 04:39:25,925 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:39:25,925 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:39:25,925 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-28 04:39:25,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:25,926 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2147250727] [2022-04-28 04:39:25,926 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:39:25,926 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-28 04:39:25,926 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:39:25,926 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1713440246] [2022-04-28 04:39:25,927 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:39:25,927 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:39:25,949 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:39:25,950 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [918540994] [2022-04-28 04:39:25,950 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:39:25,950 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:39:25,950 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:39:25,951 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:39:25,952 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 04:39:25,995 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 04:39:25,996 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:39:25,997 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 04:39:26,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:26,023 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:39:26,217 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-28 04:39:26,217 INFO L290 TraceCheckUtils]: 1: Hoare triple {273#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {273#true} is VALID [2022-04-28 04:39:26,218 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 04:39:26,218 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-28 04:39:26,218 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-28 04:39:26,218 INFO L290 TraceCheckUtils]: 5: Hoare triple {273#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {273#true} is VALID [2022-04-28 04:39:26,218 INFO L272 TraceCheckUtils]: 6: Hoare triple {273#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {273#true} is VALID [2022-04-28 04:39:26,218 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 04:39:26,218 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 04:39:26,219 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 04:39:26,219 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-28 04:39:26,219 INFO L290 TraceCheckUtils]: 11: Hoare triple {273#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {273#true} is VALID [2022-04-28 04:39:26,219 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {273#true} is VALID [2022-04-28 04:39:26,219 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 04:39:26,219 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 04:39:26,219 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 04:39:26,220 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-28 04:39:26,220 INFO L290 TraceCheckUtils]: 17: Hoare triple {273#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:26,221 INFO L290 TraceCheckUtils]: 18: Hoare triple {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-28 04:39:26,222 INFO L272 TraceCheckUtils]: 19: Hoare triple {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:39:26,223 INFO L290 TraceCheckUtils]: 20: Hoare triple {337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:39:26,223 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-28 04:39:26,223 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-28 04:39:26,224 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 04:39:26,224 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 04:39:26,224 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:39:26,224 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1713440246] [2022-04-28 04:39:26,224 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:39:26,224 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [918540994] [2022-04-28 04:39:26,225 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [918540994] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:39:26,225 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:39:26,225 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 04:39:26,225 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:39:26,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2147250727] [2022-04-28 04:39:26,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2147250727] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:39:26,226 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:39:26,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 04:39:26,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1577048170] [2022-04-28 04:39:26,226 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:39:26,227 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-28 04:39:26,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:39:26,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 04:39:26,245 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:26,245 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 04:39:26,246 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:26,247 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 04:39:26,247 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 04:39:26,248 INFO L87 Difference]: Start difference. First operand 27 states and 30 transitions. Second operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 04:39:26,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:26,470 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-28 04:39:26,470 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 04:39:26,470 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-28 04:39:26,471 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:39:26,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 04:39:26,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 04:39:26,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 04:39:26,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 04:39:26,485 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-28 04:39:26,521 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:26,526 INFO L225 Difference]: With dead ends: 39 [2022-04-28 04:39:26,526 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 04:39:26,526 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 04:39:26,527 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 10 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:39:26,527 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 91 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:39:26,528 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 04:39:26,564 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-28 04:39:26,564 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:39:26,564 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:39:26,565 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:39:26,565 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:39:26,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:26,567 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 04:39:26,567 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 04:39:26,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:39:26,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:39:26,568 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-28 04:39:26,568 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-28 04:39:26,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:26,570 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 04:39:26,570 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 04:39:26,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:39:26,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:39:26,570 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:39:26,570 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:39:26,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:39:26,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-28 04:39:26,572 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-28 04:39:26,572 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:39:26,573 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-28 04:39:26,573 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 04:39:26,573 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-28 04:39:26,603 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:26,603 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-28 04:39:26,604 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 04:39:26,604 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:39:26,604 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:39:26,631 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 04:39:26,811 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:39:26,812 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:39:26,812 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:39:26,812 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-28 04:39:26,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:26,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [835527457] [2022-04-28 04:39:26,813 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:39:26,813 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-28 04:39:26,813 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:39:26,813 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [96059395] [2022-04-28 04:39:26,813 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:39:26,813 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:39:26,832 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:39:26,833 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [393595526] [2022-04-28 04:39:26,833 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:39:26,833 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:39:26,833 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:39:26,837 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:39:26,856 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 04:39:26,880 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:39:26,880 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:39:26,881 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 04:39:26,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:26,895 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:39:27,265 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-28 04:39:27,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {567#true} is VALID [2022-04-28 04:39:27,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:39:27,266 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-28 04:39:27,266 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-28 04:39:27,266 INFO L290 TraceCheckUtils]: 5: Hoare triple {567#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {567#true} is VALID [2022-04-28 04:39:27,266 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {567#true} is VALID [2022-04-28 04:39:27,266 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 04:39:27,266 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 04:39:27,266 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:39:27,266 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-28 04:39:27,267 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-28 04:39:27,267 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {567#true} is VALID [2022-04-28 04:39:27,267 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:39:27,268 INFO L290 TraceCheckUtils]: 14: Hoare triple {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:39:27,268 INFO L290 TraceCheckUtils]: 15: Hoare triple {615#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:39:27,268 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {615#(not (= |assume_abort_if_not_#in~cond| 0))} {567#true} #63#return; {622#(and (<= 0 main_~Y~0) (<= main_~Y~0 5))} is VALID [2022-04-28 04:39:27,269 INFO L290 TraceCheckUtils]: 17: Hoare triple {622#(and (<= 0 main_~Y~0) (<= main_~Y~0 5))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-28 04:39:27,270 INFO L290 TraceCheckUtils]: 18: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-28 04:39:27,270 INFO L272 TraceCheckUtils]: 19: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {567#true} is VALID [2022-04-28 04:39:27,270 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 04:39:27,270 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 04:39:27,270 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:39:27,271 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} #65#return; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-28 04:39:27,271 INFO L290 TraceCheckUtils]: 24: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} assume !!(~x~0 <= ~X~0); {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-28 04:39:27,272 INFO L290 TraceCheckUtils]: 25: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {651#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:39:27,273 INFO L290 TraceCheckUtils]: 26: Hoare triple {651#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {655#(and (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:39:27,273 INFO L290 TraceCheckUtils]: 27: Hoare triple {655#(and (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {659#(and (= main_~xy~0 0) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:39:27,276 INFO L272 TraceCheckUtils]: 28: Hoare triple {659#(and (= main_~xy~0 0) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:39:27,276 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:39:27,277 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-28 04:39:27,277 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-28 04:39:27,277 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:39:27,277 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:39:27,503 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-28 04:39:27,503 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-28 04:39:27,504 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:39:27,506 INFO L272 TraceCheckUtils]: 28: Hoare triple {683#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:39:27,507 INFO L290 TraceCheckUtils]: 27: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {683#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:39:27,508 INFO L290 TraceCheckUtils]: 26: Hoare triple {691#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:39:27,509 INFO L290 TraceCheckUtils]: 25: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {691#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:39:27,510 INFO L290 TraceCheckUtils]: 24: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:39:27,510 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:39:27,510 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:39:27,510 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 04:39:27,511 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 04:39:27,515 INFO L272 TraceCheckUtils]: 19: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {567#true} is VALID [2022-04-28 04:39:27,516 INFO L290 TraceCheckUtils]: 18: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:39:27,516 INFO L290 TraceCheckUtils]: 17: Hoare triple {567#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:39:27,517 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {567#true} {567#true} #63#return; {567#true} is VALID [2022-04-28 04:39:27,517 INFO L290 TraceCheckUtils]: 15: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:39:27,517 INFO L290 TraceCheckUtils]: 14: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 04:39:27,517 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 04:39:27,517 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {567#true} is VALID [2022-04-28 04:39:27,517 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-28 04:39:27,517 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-28 04:39:27,518 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:39:27,518 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 04:39:27,518 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 04:39:27,518 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {567#true} is VALID [2022-04-28 04:39:27,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {567#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {567#true} is VALID [2022-04-28 04:39:27,518 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-28 04:39:27,518 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-28 04:39:27,519 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:39:27,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {567#true} is VALID [2022-04-28 04:39:27,519 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-28 04:39:27,519 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 04:39:27,519 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:39:27,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [96059395] [2022-04-28 04:39:27,520 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:39:27,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [393595526] [2022-04-28 04:39:27,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [393595526] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:39:27,520 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:39:27,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-28 04:39:27,520 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:39:27,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [835527457] [2022-04-28 04:39:27,521 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [835527457] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:39:27,521 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:39:27,521 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 04:39:27,521 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [25642909] [2022-04-28 04:39:27,521 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:39:27,521 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-28 04:39:27,522 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:39:27,522 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:39:27,552 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:27,552 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 04:39:27,552 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:27,553 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 04:39:27,553 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-04-28 04:39:27,554 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:39:28,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:28,111 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-04-28 04:39:28,111 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 04:39:28,111 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-28 04:39:28,112 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:39:28,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:39:28,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-28 04:39:28,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:39:28,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-28 04:39:28,118 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 51 transitions. [2022-04-28 04:39:28,183 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:28,184 INFO L225 Difference]: With dead ends: 48 [2022-04-28 04:39:28,184 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 04:39:28,185 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 49 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=48, Invalid=224, Unknown=0, NotChecked=0, Total=272 [2022-04-28 04:39:28,186 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 22 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 211 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 222 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 211 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:39:28,186 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 150 Invalid, 222 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 211 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 04:39:28,186 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 04:39:28,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 43. [2022-04-28 04:39:28,221 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:39:28,223 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:39:28,223 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:39:28,224 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:39:28,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:28,232 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-28 04:39:28,232 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-28 04:39:28,238 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:39:28,238 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:39:28,239 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 44 states. [2022-04-28 04:39:28,241 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 44 states. [2022-04-28 04:39:28,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:28,244 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-28 04:39:28,245 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-28 04:39:28,245 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:39:28,245 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:39:28,245 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:39:28,245 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:39:28,246 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:39:28,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-28 04:39:28,248 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 32 [2022-04-28 04:39:28,248 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:39:28,248 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-28 04:39:28,248 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:39:28,248 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-28 04:39:28,291 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:28,291 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-28 04:39:28,293 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 04:39:28,293 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:39:28,293 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:39:28,318 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-28 04:39:28,503 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 04:39:28,503 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:39:28,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:39:28,504 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-28 04:39:28,504 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:28,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1686719468] [2022-04-28 04:39:28,505 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:39:28,505 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-28 04:39:28,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:39:28,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1177613841] [2022-04-28 04:39:28,505 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:39:28,505 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:39:28,528 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:39:28,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [731504520] [2022-04-28 04:39:28,529 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:39:28,529 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:39:28,529 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:39:28,548 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:39:28,548 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 04:39:28,590 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:39:28,590 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:39:28,591 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 04:39:28,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:28,607 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:39:28,816 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-28 04:39:28,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1048#true} is VALID [2022-04-28 04:39:28,816 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:39:28,816 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-28 04:39:28,816 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-28 04:39:28,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1048#true} is VALID [2022-04-28 04:39:28,817 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {1048#true} is VALID [2022-04-28 04:39:28,817 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 04:39:28,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 04:39:28,817 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:39:28,817 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-28 04:39:28,817 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-28 04:39:28,817 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {1048#true} is VALID [2022-04-28 04:39:28,818 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 04:39:28,818 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 04:39:28,818 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:39:28,818 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-28 04:39:28,818 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:28,819 INFO L290 TraceCheckUtils]: 18: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:28,819 INFO L272 TraceCheckUtils]: 19: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1048#true} is VALID [2022-04-28 04:39:28,819 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 04:39:28,819 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 04:39:28,819 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:39:28,820 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:28,820 INFO L290 TraceCheckUtils]: 24: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1126#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:28,821 INFO L290 TraceCheckUtils]: 25: Hoare triple {1126#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1130#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:39:28,822 INFO L290 TraceCheckUtils]: 26: Hoare triple {1130#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:39:28,822 INFO L290 TraceCheckUtils]: 27: Hoare triple {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1138#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-28 04:39:28,823 INFO L272 TraceCheckUtils]: 28: Hoare triple {1138#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:39:28,823 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:39:28,824 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-28 04:39:28,824 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-28 04:39:28,825 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 04:39:28,825 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:39:29,003 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-28 04:39:29,004 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-28 04:39:29,004 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:39:29,005 INFO L272 TraceCheckUtils]: 28: Hoare triple {1162#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:39:29,005 INFO L290 TraceCheckUtils]: 27: Hoare triple {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1162#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:39:29,134 INFO L290 TraceCheckUtils]: 26: Hoare triple {1170#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:39:29,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1170#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:39:29,137 INFO L290 TraceCheckUtils]: 24: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:39:29,138 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} #65#return; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:39:29,138 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:39:29,138 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 04:39:29,138 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 04:39:29,138 INFO L272 TraceCheckUtils]: 19: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1048#true} is VALID [2022-04-28 04:39:29,143 INFO L290 TraceCheckUtils]: 18: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:39:29,144 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:39:29,147 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-28 04:39:29,147 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:39:29,147 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 04:39:29,148 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 04:39:29,148 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {1048#true} is VALID [2022-04-28 04:39:29,148 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-28 04:39:29,148 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-28 04:39:29,148 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:39:29,148 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 04:39:29,148 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 04:39:29,148 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {1048#true} is VALID [2022-04-28 04:39:29,148 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1048#true} is VALID [2022-04-28 04:39:29,149 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-28 04:39:29,149 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-28 04:39:29,149 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:39:29,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1048#true} is VALID [2022-04-28 04:39:29,149 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-28 04:39:29,149 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 04:39:29,149 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:39:29,149 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1177613841] [2022-04-28 04:39:29,150 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:39:29,150 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [731504520] [2022-04-28 04:39:29,150 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [731504520] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:39:29,150 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:39:29,150 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-28 04:39:29,150 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:39:29,150 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1686719468] [2022-04-28 04:39:29,150 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1686719468] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:39:29,150 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:39:29,150 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 04:39:29,150 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1033040640] [2022-04-28 04:39:29,151 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:39:29,151 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-28 04:39:29,151 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:39:29,151 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:39:29,177 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:29,177 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 04:39:29,177 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:29,178 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 04:39:29,178 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 04:39:29,178 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:39:29,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:29,563 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-28 04:39:29,563 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 04:39:29,564 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-28 04:39:29,566 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:39:29,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:39:29,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-28 04:39:29,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:39:29,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-28 04:39:29,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-28 04:39:29,612 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:29,615 INFO L225 Difference]: With dead ends: 56 [2022-04-28 04:39:29,616 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 04:39:29,616 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-28 04:39:29,619 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 11 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 136 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 139 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 136 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:39:29,620 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 138 Invalid, 139 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 136 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:39:29,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 04:39:29,657 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 50. [2022-04-28 04:39:29,657 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:39:29,658 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:39:29,658 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:39:29,659 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:39:29,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:29,660 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-28 04:39:29,661 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-28 04:39:29,661 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:39:29,661 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:39:29,661 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-28 04:39:29,661 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-28 04:39:29,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:29,663 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-28 04:39:29,663 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-28 04:39:29,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:39:29,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:39:29,663 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:39:29,663 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:39:29,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:39:29,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-04-28 04:39:29,665 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 32 [2022-04-28 04:39:29,665 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:39:29,665 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-04-28 04:39:29,665 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:39:29,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 54 transitions. [2022-04-28 04:39:29,715 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:29,716 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 04:39:29,716 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 04:39:29,716 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:39:29,716 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:39:29,735 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 04:39:29,931 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:39:29,934 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:39:29,934 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:39:29,934 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-28 04:39:29,934 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:29,934 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [306961361] [2022-04-28 04:39:29,934 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:39:29,935 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-28 04:39:29,935 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:39:29,935 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [418466655] [2022-04-28 04:39:29,935 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:39:29,935 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:39:29,946 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:39:29,946 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1186746971] [2022-04-28 04:39:29,946 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:39:29,947 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:39:29,947 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:39:29,962 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:39:29,962 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 04:39:30,019 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:39:30,019 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:39:30,020 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 04:39:30,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:30,032 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:39:48,763 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:39:58,808 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:40:04,835 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:40:11,041 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-28 04:40:11,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1576#true} is VALID [2022-04-28 04:40:11,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:11,042 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-28 04:40:11,042 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-28 04:40:11,042 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1576#true} is VALID [2022-04-28 04:40:11,042 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {1576#true} is VALID [2022-04-28 04:40:11,042 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 04:40:11,042 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 04:40:11,043 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:11,043 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-28 04:40:11,043 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-28 04:40:11,043 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {1576#true} is VALID [2022-04-28 04:40:11,043 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 04:40:11,043 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 04:40:11,043 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:11,043 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-28 04:40:11,047 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:40:11,047 INFO L290 TraceCheckUtils]: 18: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:40:11,048 INFO L272 TraceCheckUtils]: 19: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-28 04:40:11,048 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:11,048 INFO L290 TraceCheckUtils]: 21: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:11,048 INFO L290 TraceCheckUtils]: 22: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:11,049 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1632#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:40:11,049 INFO L290 TraceCheckUtils]: 24: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1656#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:40:11,050 INFO L290 TraceCheckUtils]: 25: Hoare triple {1656#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 04:40:11,050 INFO L290 TraceCheckUtils]: 26: Hoare triple {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1664#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:40:11,051 INFO L290 TraceCheckUtils]: 27: Hoare triple {1664#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:40:11,051 INFO L272 TraceCheckUtils]: 28: Hoare triple {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-28 04:40:11,051 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:11,051 INFO L290 TraceCheckUtils]: 30: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:11,052 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:11,053 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {1684#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} is VALID [2022-04-28 04:40:11,053 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} assume !(~x~0 <= ~X~0); {1688#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:40:11,060 INFO L290 TraceCheckUtils]: 34: Hoare triple {1688#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1692#(and (= (+ (- 1) main_~y~0) 0) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is VALID [2022-04-28 04:40:11,062 INFO L272 TraceCheckUtils]: 35: Hoare triple {1692#(and (= (+ (- 1) main_~y~0) 0) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:40:11,063 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:11,063 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-28 04:40:11,063 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-28 04:40:11,063 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 04:40:11,064 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:40:19,937 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-28 04:40:19,937 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-28 04:40:19,938 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:19,939 INFO L272 TraceCheckUtils]: 35: Hoare triple {1716#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:40:19,939 INFO L290 TraceCheckUtils]: 34: Hoare triple {1720#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1716#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:40:19,940 INFO L290 TraceCheckUtils]: 33: Hoare triple {1724#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {1720#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 04:40:19,941 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {1724#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:40:19,941 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:19,942 INFO L290 TraceCheckUtils]: 30: Hoare triple {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:19,942 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:40:19,942 INFO L272 TraceCheckUtils]: 28: Hoare triple {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-28 04:40:19,943 INFO L290 TraceCheckUtils]: 27: Hoare triple {1745#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:40:19,944 INFO L290 TraceCheckUtils]: 26: Hoare triple {1749#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_16 main_~y~0)) (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1745#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:40:19,946 INFO L290 TraceCheckUtils]: 25: Hoare triple {1753#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* (* v_main_~x~0_16 (+ main_~y~0 1)) 2) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ (* (* v_main_~x~0_16 main_~Y~0) 2) 2 (* main_~y~0 2) (* main_~Y~0 2)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1749#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_16 main_~y~0)) (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2))))))} is VALID [2022-04-28 04:40:19,948 INFO L290 TraceCheckUtils]: 24: Hoare triple {1576#true} assume !!(~x~0 <= ~X~0); {1753#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* (* v_main_~x~0_16 (+ main_~y~0 1)) 2) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ (* (* v_main_~x~0_16 main_~Y~0) 2) 2 (* main_~y~0 2) (* main_~Y~0 2)))))} is VALID [2022-04-28 04:40:19,948 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1576#true} {1576#true} #65#return; {1576#true} is VALID [2022-04-28 04:40:19,948 INFO L290 TraceCheckUtils]: 22: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:19,948 INFO L290 TraceCheckUtils]: 21: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 04:40:19,948 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 04:40:19,948 INFO L272 TraceCheckUtils]: 19: Hoare triple {1576#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-28 04:40:19,949 INFO L290 TraceCheckUtils]: 18: Hoare triple {1576#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1576#true} is VALID [2022-04-28 04:40:19,949 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1576#true} is VALID [2022-04-28 04:40:19,949 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-28 04:40:19,949 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:19,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 04:40:19,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 04:40:19,949 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {1576#true} is VALID [2022-04-28 04:40:19,949 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-28 04:40:19,949 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-28 04:40:19,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:19,950 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 04:40:19,950 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 04:40:19,950 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {1576#true} is VALID [2022-04-28 04:40:19,950 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1576#true} is VALID [2022-04-28 04:40:19,950 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-28 04:40:19,950 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-28 04:40:19,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:19,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1576#true} is VALID [2022-04-28 04:40:19,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-28 04:40:19,951 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 04:40:19,951 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:40:19,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [418466655] [2022-04-28 04:40:19,951 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:40:19,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1186746971] [2022-04-28 04:40:19,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1186746971] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:40:19,951 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:40:19,951 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-28 04:40:19,951 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:40:19,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [306961361] [2022-04-28 04:40:19,952 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [306961361] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:40:19,952 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:40:19,952 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:40:19,952 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [77287149] [2022-04-28 04:40:19,952 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:40:19,952 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-28 04:40:19,952 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:40:19,953 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:40:19,985 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:40:19,985 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:40:19,985 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:19,986 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:40:19,986 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-28 04:40:19,986 INFO L87 Difference]: Start difference. First operand 50 states and 54 transitions. Second operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:40:22,521 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:40:23,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:23,107 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-28 04:40:23,107 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 04:40:23,107 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-28 04:40:23,107 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:40:23,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:40:23,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-28 04:40:23,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:40:23,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-28 04:40:23,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 53 transitions. [2022-04-28 04:40:23,154 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:40:23,155 INFO L225 Difference]: With dead ends: 61 [2022-04-28 04:40:23,155 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 04:40:23,156 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 130 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=116, Invalid=586, Unknown=0, NotChecked=0, Total=702 [2022-04-28 04:40:23,156 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 196 mSDsCounter, 0 mSdLazyCounter, 294 mSolverCounterSat, 4 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 294 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:40:23,157 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 219 Invalid, 299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 294 Invalid, 1 Unknown, 0 Unchecked, 2.3s Time] [2022-04-28 04:40:23,157 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 04:40:23,202 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 43. [2022-04-28 04:40:23,202 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:40:23,202 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:40:23,202 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:40:23,202 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:40:23,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:23,204 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-28 04:40:23,204 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-28 04:40:23,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:23,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:23,204 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-28 04:40:23,205 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-28 04:40:23,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:23,206 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-28 04:40:23,206 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-28 04:40:23,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:23,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:23,206 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:40:23,206 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:40:23,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:40:23,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-28 04:40:23,208 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 39 [2022-04-28 04:40:23,208 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:40:23,208 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-28 04:40:23,208 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:40:23,208 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-28 04:40:23,272 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:40:23,272 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-28 04:40:23,272 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 04:40:23,272 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:40:23,272 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:40:23,289 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 04:40:23,487 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:23,488 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:40:23,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:40:23,488 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 3 times [2022-04-28 04:40:23,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:23,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [156932213] [2022-04-28 04:40:23,488 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:40:23,489 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 4 times [2022-04-28 04:40:23,489 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:40:23,489 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [904393128] [2022-04-28 04:40:23,489 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:40:23,489 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:40:23,500 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:40:23,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [335200463] [2022-04-28 04:40:23,501 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:40:23,501 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:23,501 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:40:23,502 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:40:23,503 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 04:40:23,541 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:40:23,541 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:40:23,542 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-28 04:40:23,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:40:23,558 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:40:43,604 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:40:49,618 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:40:53,060 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-28 04:40:53,061 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2155#true} is VALID [2022-04-28 04:40:53,061 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 04:40:53,061 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-28 04:40:53,061 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-28 04:40:53,061 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2155#true} is VALID [2022-04-28 04:40:53,061 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {2155#true} is VALID [2022-04-28 04:40:53,062 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:40:53,062 INFO L290 TraceCheckUtils]: 8: Hoare triple {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:40:53,062 INFO L290 TraceCheckUtils]: 9: Hoare triple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:40:53,063 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} {2155#true} #61#return; {2192#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:40:53,063 INFO L290 TraceCheckUtils]: 11: Hoare triple {2192#(and (<= 0 main_~X~0) (<= main_~X~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2192#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:40:53,063 INFO L272 TraceCheckUtils]: 12: Hoare triple {2192#(and (<= 0 main_~X~0) (<= main_~X~0 5))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {2155#true} is VALID [2022-04-28 04:40:53,064 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:40:53,064 INFO L290 TraceCheckUtils]: 14: Hoare triple {2181#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:40:53,064 INFO L290 TraceCheckUtils]: 15: Hoare triple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2185#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:40:53,065 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2185#(not (= |assume_abort_if_not_#in~cond| 0))} {2192#(and (<= 0 main_~X~0) (<= main_~X~0 5))} #63#return; {2211#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:40:53,065 INFO L290 TraceCheckUtils]: 17: Hoare triple {2211#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-28 04:40:53,066 INFO L290 TraceCheckUtils]: 18: Hoare triple {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-28 04:40:53,066 INFO L272 TraceCheckUtils]: 19: Hoare triple {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-28 04:40:53,066 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 04:40:53,066 INFO L290 TraceCheckUtils]: 21: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 04:40:53,066 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 04:40:53,067 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2155#true} {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} #65#return; {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-28 04:40:53,068 INFO L290 TraceCheckUtils]: 24: Hoare triple {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} assume !!(~x~0 <= ~X~0); {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} is VALID [2022-04-28 04:40:53,068 INFO L290 TraceCheckUtils]: 25: Hoare triple {2215#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2240#(and (= main_~x~0 0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:40:53,069 INFO L290 TraceCheckUtils]: 26: Hoare triple {2240#(and (= main_~x~0 0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2244#(and (<= 1 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:40:53,069 INFO L290 TraceCheckUtils]: 27: Hoare triple {2244#(and (<= 1 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2248#(and (<= 1 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:40:53,070 INFO L272 TraceCheckUtils]: 28: Hoare triple {2248#(and (<= 1 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-28 04:40:53,070 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2255#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:53,070 INFO L290 TraceCheckUtils]: 30: Hoare triple {2255#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:53,071 INFO L290 TraceCheckUtils]: 31: Hoare triple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:53,072 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} {2248#(and (<= 1 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #65#return; {2266#(and (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:40:53,073 INFO L290 TraceCheckUtils]: 33: Hoare triple {2266#(and (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {2266#(and (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:40:53,074 INFO L290 TraceCheckUtils]: 34: Hoare triple {2266#(and (<= 1 main_~x~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0) (<= main_~Y~0 5) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2273#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~X~0 5) (= main_~y~0 0) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:40:53,076 INFO L290 TraceCheckUtils]: 35: Hoare triple {2273#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~X~0 5) (= main_~y~0 0) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2277#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= main_~X~0 5) (= main_~y~0 0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:40:53,079 INFO L290 TraceCheckUtils]: 36: Hoare triple {2277#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 2 main_~x~0) (<= main_~X~0 5) (= main_~y~0 0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2281#(and (= main_~xy~0 0) (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (* main_~Y~0 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 2 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (not (= main_~Y~0 0)))) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:40:53,082 INFO L272 TraceCheckUtils]: 37: Hoare triple {2281#(and (= main_~xy~0 0) (or (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (* main_~Y~0 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 2 (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (not (= main_~Y~0 0)))) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~X~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2285#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:40:53,083 INFO L290 TraceCheckUtils]: 38: Hoare triple {2285#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2289#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:53,083 INFO L290 TraceCheckUtils]: 39: Hoare triple {2289#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-28 04:40:53,083 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-28 04:40:53,084 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 04:40:53,084 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:40:56,206 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-28 04:40:56,206 INFO L290 TraceCheckUtils]: 39: Hoare triple {2289#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-28 04:40:56,207 INFO L290 TraceCheckUtils]: 38: Hoare triple {2285#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2289#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:56,207 INFO L272 TraceCheckUtils]: 37: Hoare triple {2305#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2285#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:40:56,208 INFO L290 TraceCheckUtils]: 36: Hoare triple {2309#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2305#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:40:56,210 INFO L290 TraceCheckUtils]: 35: Hoare triple {2313#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2309#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:40:56,211 INFO L290 TraceCheckUtils]: 34: Hoare triple {2317#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2313#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:40:56,211 INFO L290 TraceCheckUtils]: 33: Hoare triple {2317#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {2317#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:40:56,212 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} {2324#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #65#return; {2317#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:40:56,212 INFO L290 TraceCheckUtils]: 31: Hoare triple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:56,213 INFO L290 TraceCheckUtils]: 30: Hoare triple {2334#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:56,213 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2334#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:40:56,213 INFO L272 TraceCheckUtils]: 28: Hoare triple {2324#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-28 04:40:56,214 INFO L290 TraceCheckUtils]: 27: Hoare triple {2155#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2324#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:40:56,214 INFO L290 TraceCheckUtils]: 26: Hoare triple {2155#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2155#true} is VALID [2022-04-28 04:40:56,214 INFO L290 TraceCheckUtils]: 25: Hoare triple {2155#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2155#true} is VALID [2022-04-28 04:40:56,214 INFO L290 TraceCheckUtils]: 24: Hoare triple {2155#true} assume !!(~x~0 <= ~X~0); {2155#true} is VALID [2022-04-28 04:40:56,214 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2155#true} {2155#true} #65#return; {2155#true} is VALID [2022-04-28 04:40:56,214 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 04:40:56,215 INFO L290 TraceCheckUtils]: 21: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 04:40:56,215 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 04:40:56,215 INFO L272 TraceCheckUtils]: 19: Hoare triple {2155#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-28 04:40:56,215 INFO L290 TraceCheckUtils]: 18: Hoare triple {2155#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2155#true} is VALID [2022-04-28 04:40:56,215 INFO L290 TraceCheckUtils]: 17: Hoare triple {2155#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2155#true} is VALID [2022-04-28 04:40:56,215 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-28 04:40:56,215 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 04:40:56,215 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 04:40:56,215 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 04:40:56,215 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {2155#true} is VALID [2022-04-28 04:40:56,215 INFO L290 TraceCheckUtils]: 11: Hoare triple {2155#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2155#true} is VALID [2022-04-28 04:40:56,216 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-28 04:40:56,216 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 04:40:56,216 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 04:40:56,216 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 04:40:56,216 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {2155#true} is VALID [2022-04-28 04:40:56,216 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2155#true} is VALID [2022-04-28 04:40:56,216 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-28 04:40:56,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-28 04:40:56,216 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 04:40:56,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2155#true} is VALID [2022-04-28 04:40:56,216 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-28 04:40:56,217 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 04:40:56,217 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:40:56,217 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [904393128] [2022-04-28 04:40:56,217 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:40:56,217 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [335200463] [2022-04-28 04:40:56,217 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [335200463] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:40:56,217 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:40:56,217 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 11] total 24 [2022-04-28 04:40:56,218 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:40:56,218 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [156932213] [2022-04-28 04:40:56,218 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [156932213] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:40:56,218 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:40:56,218 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 04:40:56,218 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [292476416] [2022-04-28 04:40:56,218 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:40:56,218 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 04:40:56,218 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:40:56,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:40:56,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:40:56,277 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 04:40:56,277 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:56,277 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 04:40:56,278 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=466, Unknown=0, NotChecked=0, Total=552 [2022-04-28 04:40:56,278 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:40:59,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:59,036 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-28 04:40:59,036 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 04:40:59,036 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 04:40:59,037 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:40:59,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:40:59,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 80 transitions. [2022-04-28 04:40:59,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:40:59,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 80 transitions. [2022-04-28 04:40:59,041 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 80 transitions. [2022-04-28 04:40:59,146 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:40:59,147 INFO L225 Difference]: With dead ends: 81 [2022-04-28 04:40:59,147 INFO L226 Difference]: Without dead ends: 61 [2022-04-28 04:40:59,148 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 163 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=141, Invalid=729, Unknown=0, NotChecked=0, Total=870 [2022-04-28 04:40:59,148 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 39 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 495 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 537 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 495 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:40:59,149 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 147 Invalid, 537 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 495 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:40:59,149 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-28 04:40:59,236 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 61. [2022-04-28 04:40:59,236 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:40:59,237 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:40:59,237 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:40:59,237 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:40:59,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:59,239 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-28 04:40:59,239 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2022-04-28 04:40:59,239 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:59,239 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:59,240 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 04:40:59,240 INFO L87 Difference]: Start difference. First operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 04:40:59,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:59,242 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-28 04:40:59,242 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2022-04-28 04:40:59,242 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:59,242 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:59,242 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:40:59,242 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:40:59,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:40:59,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 66 transitions. [2022-04-28 04:40:59,244 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 66 transitions. Word has length 41 [2022-04-28 04:40:59,244 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:40:59,244 INFO L495 AbstractCegarLoop]: Abstraction has 61 states and 66 transitions. [2022-04-28 04:40:59,245 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 1.625) internal successors, (26), 16 states have internal predecessors, (26), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:40:59,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 66 transitions. [2022-04-28 04:40:59,358 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:40:59,358 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2022-04-28 04:40:59,358 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 04:40:59,358 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:40:59,359 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:40:59,382 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-28 04:40:59,559 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:59,559 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:40:59,562 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:40:59,562 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 1 times [2022-04-28 04:40:59,562 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:59,562 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1595089496] [2022-04-28 04:40:59,563 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:40:59,563 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 2 times [2022-04-28 04:40:59,563 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:40:59,563 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [767215776] [2022-04-28 04:40:59,563 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:40:59,563 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:40:59,588 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:40:59,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1141464752] [2022-04-28 04:40:59,589 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:40:59,589 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:59,589 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:40:59,593 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:40:59,594 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 04:40:59,643 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:40:59,643 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:40:59,644 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 04:40:59,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:40:59,664 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:41:00,390 INFO L272 TraceCheckUtils]: 0: Hoare triple {2842#true} call ULTIMATE.init(); {2842#true} is VALID [2022-04-28 04:41:00,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {2842#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2842#true} is VALID [2022-04-28 04:41:00,390 INFO L290 TraceCheckUtils]: 2: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-28 04:41:00,391 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2842#true} {2842#true} #69#return; {2842#true} is VALID [2022-04-28 04:41:00,391 INFO L272 TraceCheckUtils]: 4: Hoare triple {2842#true} call #t~ret8 := main(); {2842#true} is VALID [2022-04-28 04:41:00,391 INFO L290 TraceCheckUtils]: 5: Hoare triple {2842#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2842#true} is VALID [2022-04-28 04:41:00,391 INFO L272 TraceCheckUtils]: 6: Hoare triple {2842#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {2842#true} is VALID [2022-04-28 04:41:00,391 INFO L290 TraceCheckUtils]: 7: Hoare triple {2842#true} ~cond := #in~cond; {2868#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:41:00,392 INFO L290 TraceCheckUtils]: 8: Hoare triple {2868#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:41:00,392 INFO L290 TraceCheckUtils]: 9: Hoare triple {2872#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:41:00,393 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2872#(not (= |assume_abort_if_not_#in~cond| 0))} {2842#true} #61#return; {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:41:00,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:41:00,393 INFO L272 TraceCheckUtils]: 12: Hoare triple {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {2842#true} is VALID [2022-04-28 04:41:00,393 INFO L290 TraceCheckUtils]: 13: Hoare triple {2842#true} ~cond := #in~cond; {2842#true} is VALID [2022-04-28 04:41:00,393 INFO L290 TraceCheckUtils]: 14: Hoare triple {2842#true} assume !(0 == ~cond); {2842#true} is VALID [2022-04-28 04:41:00,393 INFO L290 TraceCheckUtils]: 15: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-28 04:41:00,394 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2842#true} {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} #63#return; {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:41:00,394 INFO L290 TraceCheckUtils]: 17: Hoare triple {2879#(and (<= 0 main_~X~0) (<= main_~X~0 5))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:00,395 INFO L290 TraceCheckUtils]: 18: Hoare triple {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:00,395 INFO L272 TraceCheckUtils]: 19: Hoare triple {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2842#true} is VALID [2022-04-28 04:41:00,395 INFO L290 TraceCheckUtils]: 20: Hoare triple {2842#true} ~cond := #in~cond; {2842#true} is VALID [2022-04-28 04:41:00,395 INFO L290 TraceCheckUtils]: 21: Hoare triple {2842#true} assume !(0 == ~cond); {2842#true} is VALID [2022-04-28 04:41:00,395 INFO L290 TraceCheckUtils]: 22: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-28 04:41:00,396 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2842#true} {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} #65#return; {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:00,397 INFO L290 TraceCheckUtils]: 24: Hoare triple {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:00,399 INFO L290 TraceCheckUtils]: 25: Hoare triple {2901#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2926#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:00,400 INFO L290 TraceCheckUtils]: 26: Hoare triple {2926#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2930#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:00,406 INFO L290 TraceCheckUtils]: 27: Hoare triple {2930#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2934#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:41:00,406 INFO L272 TraceCheckUtils]: 28: Hoare triple {2934#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2842#true} is VALID [2022-04-28 04:41:00,406 INFO L290 TraceCheckUtils]: 29: Hoare triple {2842#true} ~cond := #in~cond; {2941#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:00,407 INFO L290 TraceCheckUtils]: 30: Hoare triple {2941#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:00,407 INFO L290 TraceCheckUtils]: 31: Hoare triple {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:00,408 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} {2934#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2930#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:00,409 INFO L290 TraceCheckUtils]: 33: Hoare triple {2930#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2930#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:00,410 INFO L290 TraceCheckUtils]: 34: Hoare triple {2930#(and (= (+ (- 1) main_~x~0) 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2958#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5))} is VALID [2022-04-28 04:41:00,410 INFO L290 TraceCheckUtils]: 35: Hoare triple {2958#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2962#(and (= (+ (- 1) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5))} is VALID [2022-04-28 04:41:00,411 INFO L290 TraceCheckUtils]: 36: Hoare triple {2962#(and (= (+ (- 1) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2966#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5))} is VALID [2022-04-28 04:41:00,412 INFO L272 TraceCheckUtils]: 37: Hoare triple {2966#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2970#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:41:00,413 INFO L290 TraceCheckUtils]: 38: Hoare triple {2970#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2974#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:00,413 INFO L290 TraceCheckUtils]: 39: Hoare triple {2974#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2843#false} is VALID [2022-04-28 04:41:00,413 INFO L290 TraceCheckUtils]: 40: Hoare triple {2843#false} assume !false; {2843#false} is VALID [2022-04-28 04:41:00,414 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 04:41:00,414 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:41:03,060 INFO L290 TraceCheckUtils]: 40: Hoare triple {2843#false} assume !false; {2843#false} is VALID [2022-04-28 04:41:03,061 INFO L290 TraceCheckUtils]: 39: Hoare triple {2974#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2843#false} is VALID [2022-04-28 04:41:03,061 INFO L290 TraceCheckUtils]: 38: Hoare triple {2970#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2974#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:03,062 INFO L272 TraceCheckUtils]: 37: Hoare triple {2990#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2970#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:41:03,063 INFO L290 TraceCheckUtils]: 36: Hoare triple {2994#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2990#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:41:03,065 INFO L290 TraceCheckUtils]: 35: Hoare triple {2998#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2994#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:41:03,067 INFO L290 TraceCheckUtils]: 34: Hoare triple {3002#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2998#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:41:03,068 INFO L290 TraceCheckUtils]: 33: Hoare triple {3002#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {3002#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:41:03,069 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} {3009#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {3002#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:41:03,070 INFO L290 TraceCheckUtils]: 31: Hoare triple {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:03,070 INFO L290 TraceCheckUtils]: 30: Hoare triple {3019#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2945#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:03,071 INFO L290 TraceCheckUtils]: 29: Hoare triple {2842#true} ~cond := #in~cond; {3019#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:41:03,071 INFO L272 TraceCheckUtils]: 28: Hoare triple {3009#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2842#true} is VALID [2022-04-28 04:41:03,072 INFO L290 TraceCheckUtils]: 27: Hoare triple {2842#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3009#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 04:41:03,072 INFO L290 TraceCheckUtils]: 26: Hoare triple {2842#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2842#true} is VALID [2022-04-28 04:41:03,072 INFO L290 TraceCheckUtils]: 25: Hoare triple {2842#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2842#true} is VALID [2022-04-28 04:41:03,072 INFO L290 TraceCheckUtils]: 24: Hoare triple {2842#true} assume !!(~x~0 <= ~X~0); {2842#true} is VALID [2022-04-28 04:41:03,072 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2842#true} {2842#true} #65#return; {2842#true} is VALID [2022-04-28 04:41:03,072 INFO L290 TraceCheckUtils]: 22: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-28 04:41:03,072 INFO L290 TraceCheckUtils]: 21: Hoare triple {2842#true} assume !(0 == ~cond); {2842#true} is VALID [2022-04-28 04:41:03,072 INFO L290 TraceCheckUtils]: 20: Hoare triple {2842#true} ~cond := #in~cond; {2842#true} is VALID [2022-04-28 04:41:03,072 INFO L272 TraceCheckUtils]: 19: Hoare triple {2842#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2842#true} is VALID [2022-04-28 04:41:03,073 INFO L290 TraceCheckUtils]: 18: Hoare triple {2842#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2842#true} is VALID [2022-04-28 04:41:03,073 INFO L290 TraceCheckUtils]: 17: Hoare triple {2842#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2842#true} is VALID [2022-04-28 04:41:03,073 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2842#true} {2842#true} #63#return; {2842#true} is VALID [2022-04-28 04:41:03,073 INFO L290 TraceCheckUtils]: 15: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-28 04:41:03,073 INFO L290 TraceCheckUtils]: 14: Hoare triple {2842#true} assume !(0 == ~cond); {2842#true} is VALID [2022-04-28 04:41:03,073 INFO L290 TraceCheckUtils]: 13: Hoare triple {2842#true} ~cond := #in~cond; {2842#true} is VALID [2022-04-28 04:41:03,073 INFO L272 TraceCheckUtils]: 12: Hoare triple {2842#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {2842#true} is VALID [2022-04-28 04:41:03,073 INFO L290 TraceCheckUtils]: 11: Hoare triple {2842#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2842#true} is VALID [2022-04-28 04:41:03,073 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2842#true} {2842#true} #61#return; {2842#true} is VALID [2022-04-28 04:41:03,073 INFO L290 TraceCheckUtils]: 9: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-28 04:41:03,073 INFO L290 TraceCheckUtils]: 8: Hoare triple {2842#true} assume !(0 == ~cond); {2842#true} is VALID [2022-04-28 04:41:03,074 INFO L290 TraceCheckUtils]: 7: Hoare triple {2842#true} ~cond := #in~cond; {2842#true} is VALID [2022-04-28 04:41:03,074 INFO L272 TraceCheckUtils]: 6: Hoare triple {2842#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {2842#true} is VALID [2022-04-28 04:41:03,074 INFO L290 TraceCheckUtils]: 5: Hoare triple {2842#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2842#true} is VALID [2022-04-28 04:41:03,074 INFO L272 TraceCheckUtils]: 4: Hoare triple {2842#true} call #t~ret8 := main(); {2842#true} is VALID [2022-04-28 04:41:03,074 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2842#true} {2842#true} #69#return; {2842#true} is VALID [2022-04-28 04:41:03,074 INFO L290 TraceCheckUtils]: 2: Hoare triple {2842#true} assume true; {2842#true} is VALID [2022-04-28 04:41:03,074 INFO L290 TraceCheckUtils]: 1: Hoare triple {2842#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2842#true} is VALID [2022-04-28 04:41:03,074 INFO L272 TraceCheckUtils]: 0: Hoare triple {2842#true} call ULTIMATE.init(); {2842#true} is VALID [2022-04-28 04:41:03,074 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 04:41:03,075 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:41:03,075 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [767215776] [2022-04-28 04:41:03,075 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:41:03,075 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1141464752] [2022-04-28 04:41:03,075 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1141464752] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:41:03,075 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:41:03,075 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 11] total 22 [2022-04-28 04:41:03,075 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:41:03,075 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1595089496] [2022-04-28 04:41:03,076 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1595089496] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:41:03,076 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:41:03,076 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 04:41:03,076 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [23130102] [2022-04-28 04:41:03,076 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:41:03,076 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 04:41:03,077 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:41:03,077 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:41:03,119 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:03,120 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 04:41:03,120 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:03,120 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 04:41:03,120 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=386, Unknown=0, NotChecked=0, Total=462 [2022-04-28 04:41:03,120 INFO L87 Difference]: Start difference. First operand 61 states and 66 transitions. Second operand has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:41:04,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:04,089 INFO L93 Difference]: Finished difference Result 83 states and 93 transitions. [2022-04-28 04:41:04,089 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 04:41:04,089 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 04:41:04,089 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:41:04,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:41:04,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 70 transitions. [2022-04-28 04:41:04,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:41:04,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 70 transitions. [2022-04-28 04:41:04,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 70 transitions. [2022-04-28 04:41:04,154 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:04,155 INFO L225 Difference]: With dead ends: 83 [2022-04-28 04:41:04,155 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 04:41:04,156 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 59 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 126 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=102, Invalid=548, Unknown=0, NotChecked=0, Total=650 [2022-04-28 04:41:04,156 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 29 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 353 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 367 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 353 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:41:04,156 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 140 Invalid, 367 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 353 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 04:41:04,157 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 04:41:04,248 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-28 04:41:04,248 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:41:04,248 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 50 states have (on average 1.1) internal successors, (55), 51 states have internal predecessors, (55), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:41:04,249 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 50 states have (on average 1.1) internal successors, (55), 51 states have internal predecessors, (55), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:41:04,249 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 50 states have (on average 1.1) internal successors, (55), 51 states have internal predecessors, (55), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:41:04,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:04,251 INFO L93 Difference]: Finished difference Result 70 states and 75 transitions. [2022-04-28 04:41:04,251 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 75 transitions. [2022-04-28 04:41:04,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:04,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:04,251 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 50 states have (on average 1.1) internal successors, (55), 51 states have internal predecessors, (55), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 70 states. [2022-04-28 04:41:04,252 INFO L87 Difference]: Start difference. First operand has 70 states, 50 states have (on average 1.1) internal successors, (55), 51 states have internal predecessors, (55), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 70 states. [2022-04-28 04:41:04,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:04,254 INFO L93 Difference]: Finished difference Result 70 states and 75 transitions. [2022-04-28 04:41:04,254 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 75 transitions. [2022-04-28 04:41:04,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:04,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:04,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:41:04,254 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:41:04,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 50 states have (on average 1.1) internal successors, (55), 51 states have internal predecessors, (55), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:41:04,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 75 transitions. [2022-04-28 04:41:04,256 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 75 transitions. Word has length 41 [2022-04-28 04:41:04,256 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:41:04,256 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 75 transitions. [2022-04-28 04:41:04,257 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:41:04,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 75 transitions. [2022-04-28 04:41:04,360 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:04,360 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 75 transitions. [2022-04-28 04:41:04,361 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 04:41:04,361 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:41:04,361 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:41:04,378 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 04:41:04,563 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:41:04,563 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:41:04,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:41:04,564 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 3 times [2022-04-28 04:41:04,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:04,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1149144598] [2022-04-28 04:41:04,564 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:41:04,564 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 4 times [2022-04-28 04:41:04,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:41:04,565 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [904258170] [2022-04-28 04:41:04,565 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:41:04,565 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:41:04,580 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:41:04,580 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1107303903] [2022-04-28 04:41:04,580 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:41:04,580 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:41:04,580 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:41:04,582 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:41:04,583 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 04:41:04,615 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:41:04,615 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:41:04,616 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 04:41:04,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:41:04,625 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:41:04,902 INFO L272 TraceCheckUtils]: 0: Hoare triple {3563#true} call ULTIMATE.init(); {3563#true} is VALID [2022-04-28 04:41:04,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {3563#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {3563#true} is VALID [2022-04-28 04:41:04,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-28 04:41:04,902 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3563#true} {3563#true} #69#return; {3563#true} is VALID [2022-04-28 04:41:04,902 INFO L272 TraceCheckUtils]: 4: Hoare triple {3563#true} call #t~ret8 := main(); {3563#true} is VALID [2022-04-28 04:41:04,902 INFO L290 TraceCheckUtils]: 5: Hoare triple {3563#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3563#true} is VALID [2022-04-28 04:41:04,902 INFO L272 TraceCheckUtils]: 6: Hoare triple {3563#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {3563#true} is VALID [2022-04-28 04:41:04,903 INFO L290 TraceCheckUtils]: 7: Hoare triple {3563#true} ~cond := #in~cond; {3563#true} is VALID [2022-04-28 04:41:04,903 INFO L290 TraceCheckUtils]: 8: Hoare triple {3563#true} assume !(0 == ~cond); {3563#true} is VALID [2022-04-28 04:41:04,903 INFO L290 TraceCheckUtils]: 9: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-28 04:41:04,903 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3563#true} {3563#true} #61#return; {3563#true} is VALID [2022-04-28 04:41:04,903 INFO L290 TraceCheckUtils]: 11: Hoare triple {3563#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3563#true} is VALID [2022-04-28 04:41:04,903 INFO L272 TraceCheckUtils]: 12: Hoare triple {3563#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {3563#true} is VALID [2022-04-28 04:41:04,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {3563#true} ~cond := #in~cond; {3563#true} is VALID [2022-04-28 04:41:04,903 INFO L290 TraceCheckUtils]: 14: Hoare triple {3563#true} assume !(0 == ~cond); {3563#true} is VALID [2022-04-28 04:41:04,903 INFO L290 TraceCheckUtils]: 15: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-28 04:41:04,903 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3563#true} {3563#true} #63#return; {3563#true} is VALID [2022-04-28 04:41:04,904 INFO L290 TraceCheckUtils]: 17: Hoare triple {3563#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:04,904 INFO L290 TraceCheckUtils]: 18: Hoare triple {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:04,904 INFO L272 TraceCheckUtils]: 19: Hoare triple {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3563#true} is VALID [2022-04-28 04:41:04,904 INFO L290 TraceCheckUtils]: 20: Hoare triple {3563#true} ~cond := #in~cond; {3563#true} is VALID [2022-04-28 04:41:04,904 INFO L290 TraceCheckUtils]: 21: Hoare triple {3563#true} assume !(0 == ~cond); {3563#true} is VALID [2022-04-28 04:41:04,904 INFO L290 TraceCheckUtils]: 22: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-28 04:41:04,905 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3563#true} {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:04,905 INFO L290 TraceCheckUtils]: 24: Hoare triple {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:04,906 INFO L290 TraceCheckUtils]: 25: Hoare triple {3619#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3644#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:41:04,907 INFO L290 TraceCheckUtils]: 26: Hoare triple {3644#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3648#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:41:04,907 INFO L290 TraceCheckUtils]: 27: Hoare triple {3648#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3652#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:41:04,907 INFO L272 TraceCheckUtils]: 28: Hoare triple {3652#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3563#true} is VALID [2022-04-28 04:41:04,908 INFO L290 TraceCheckUtils]: 29: Hoare triple {3563#true} ~cond := #in~cond; {3659#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:04,908 INFO L290 TraceCheckUtils]: 30: Hoare triple {3659#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:04,908 INFO L290 TraceCheckUtils]: 31: Hoare triple {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:04,909 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} {3652#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {3648#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:41:04,910 INFO L290 TraceCheckUtils]: 33: Hoare triple {3648#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {3648#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:41:04,911 INFO L290 TraceCheckUtils]: 34: Hoare triple {3648#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3676#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} is VALID [2022-04-28 04:41:04,911 INFO L290 TraceCheckUtils]: 35: Hoare triple {3676#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3680#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} is VALID [2022-04-28 04:41:04,912 INFO L290 TraceCheckUtils]: 36: Hoare triple {3680#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3684#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} is VALID [2022-04-28 04:41:04,913 INFO L272 TraceCheckUtils]: 37: Hoare triple {3684#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3688#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:41:04,913 INFO L290 TraceCheckUtils]: 38: Hoare triple {3688#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3692#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:04,914 INFO L290 TraceCheckUtils]: 39: Hoare triple {3692#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3564#false} is VALID [2022-04-28 04:41:04,914 INFO L290 TraceCheckUtils]: 40: Hoare triple {3564#false} assume !false; {3564#false} is VALID [2022-04-28 04:41:04,914 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 04:41:04,914 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:41:09,170 INFO L290 TraceCheckUtils]: 40: Hoare triple {3564#false} assume !false; {3564#false} is VALID [2022-04-28 04:41:09,170 INFO L290 TraceCheckUtils]: 39: Hoare triple {3692#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3564#false} is VALID [2022-04-28 04:41:09,171 INFO L290 TraceCheckUtils]: 38: Hoare triple {3688#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3692#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:09,171 INFO L272 TraceCheckUtils]: 37: Hoare triple {3708#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3688#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:41:09,172 INFO L290 TraceCheckUtils]: 36: Hoare triple {3712#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3708#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:41:09,174 INFO L290 TraceCheckUtils]: 35: Hoare triple {3716#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3712#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:41:09,174 INFO L290 TraceCheckUtils]: 34: Hoare triple {3712#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3716#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:41:09,175 INFO L290 TraceCheckUtils]: 33: Hoare triple {3712#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {3712#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:41:09,176 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} {3726#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {3712#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:41:09,176 INFO L290 TraceCheckUtils]: 31: Hoare triple {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:09,176 INFO L290 TraceCheckUtils]: 30: Hoare triple {3736#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3663#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:09,177 INFO L290 TraceCheckUtils]: 29: Hoare triple {3563#true} ~cond := #in~cond; {3736#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:41:09,177 INFO L272 TraceCheckUtils]: 28: Hoare triple {3726#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3563#true} is VALID [2022-04-28 04:41:09,177 INFO L290 TraceCheckUtils]: 27: Hoare triple {3563#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3726#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 04:41:09,178 INFO L290 TraceCheckUtils]: 26: Hoare triple {3563#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3563#true} is VALID [2022-04-28 04:41:09,178 INFO L290 TraceCheckUtils]: 25: Hoare triple {3563#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3563#true} is VALID [2022-04-28 04:41:09,178 INFO L290 TraceCheckUtils]: 24: Hoare triple {3563#true} assume !!(~x~0 <= ~X~0); {3563#true} is VALID [2022-04-28 04:41:09,178 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3563#true} {3563#true} #65#return; {3563#true} is VALID [2022-04-28 04:41:09,178 INFO L290 TraceCheckUtils]: 22: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-28 04:41:09,178 INFO L290 TraceCheckUtils]: 21: Hoare triple {3563#true} assume !(0 == ~cond); {3563#true} is VALID [2022-04-28 04:41:09,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {3563#true} ~cond := #in~cond; {3563#true} is VALID [2022-04-28 04:41:09,178 INFO L272 TraceCheckUtils]: 19: Hoare triple {3563#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3563#true} is VALID [2022-04-28 04:41:09,178 INFO L290 TraceCheckUtils]: 18: Hoare triple {3563#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3563#true} is VALID [2022-04-28 04:41:09,178 INFO L290 TraceCheckUtils]: 17: Hoare triple {3563#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3563#true} is VALID [2022-04-28 04:41:09,178 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3563#true} {3563#true} #63#return; {3563#true} is VALID [2022-04-28 04:41:09,178 INFO L290 TraceCheckUtils]: 15: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-28 04:41:09,179 INFO L290 TraceCheckUtils]: 14: Hoare triple {3563#true} assume !(0 == ~cond); {3563#true} is VALID [2022-04-28 04:41:09,179 INFO L290 TraceCheckUtils]: 13: Hoare triple {3563#true} ~cond := #in~cond; {3563#true} is VALID [2022-04-28 04:41:09,179 INFO L272 TraceCheckUtils]: 12: Hoare triple {3563#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {3563#true} is VALID [2022-04-28 04:41:09,179 INFO L290 TraceCheckUtils]: 11: Hoare triple {3563#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3563#true} is VALID [2022-04-28 04:41:09,179 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3563#true} {3563#true} #61#return; {3563#true} is VALID [2022-04-28 04:41:09,179 INFO L290 TraceCheckUtils]: 9: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-28 04:41:09,179 INFO L290 TraceCheckUtils]: 8: Hoare triple {3563#true} assume !(0 == ~cond); {3563#true} is VALID [2022-04-28 04:41:09,179 INFO L290 TraceCheckUtils]: 7: Hoare triple {3563#true} ~cond := #in~cond; {3563#true} is VALID [2022-04-28 04:41:09,179 INFO L272 TraceCheckUtils]: 6: Hoare triple {3563#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {3563#true} is VALID [2022-04-28 04:41:09,179 INFO L290 TraceCheckUtils]: 5: Hoare triple {3563#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3563#true} is VALID [2022-04-28 04:41:09,180 INFO L272 TraceCheckUtils]: 4: Hoare triple {3563#true} call #t~ret8 := main(); {3563#true} is VALID [2022-04-28 04:41:09,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3563#true} {3563#true} #69#return; {3563#true} is VALID [2022-04-28 04:41:09,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {3563#true} assume true; {3563#true} is VALID [2022-04-28 04:41:09,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {3563#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {3563#true} is VALID [2022-04-28 04:41:09,180 INFO L272 TraceCheckUtils]: 0: Hoare triple {3563#true} call ULTIMATE.init(); {3563#true} is VALID [2022-04-28 04:41:09,180 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 04:41:09,180 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:41:09,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [904258170] [2022-04-28 04:41:09,180 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:41:09,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1107303903] [2022-04-28 04:41:09,181 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1107303903] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:41:09,181 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:41:09,181 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 04:41:09,181 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:41:09,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1149144598] [2022-04-28 04:41:09,181 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1149144598] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:41:09,181 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:41:09,181 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 04:41:09,181 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [537803223] [2022-04-28 04:41:09,181 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:41:09,182 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 04:41:09,182 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:41:09,182 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:41:09,214 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:09,215 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 04:41:09,215 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:09,215 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 04:41:09,215 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-28 04:41:09,215 INFO L87 Difference]: Start difference. First operand 70 states and 75 transitions. Second operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:41:10,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:10,242 INFO L93 Difference]: Finished difference Result 84 states and 92 transitions. [2022-04-28 04:41:10,242 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:41:10,242 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 04:41:10,242 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:41:10,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:41:10,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 04:41:10,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:41:10,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 04:41:10,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-28 04:41:10,304 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:10,305 INFO L225 Difference]: With dead ends: 84 [2022-04-28 04:41:10,305 INFO L226 Difference]: Without dead ends: 82 [2022-04-28 04:41:10,305 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 62 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-28 04:41:10,306 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 16 mSDsluCounter, 168 mSDsCounter, 0 mSdLazyCounter, 344 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 349 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 344 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:41:10,306 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 192 Invalid, 349 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 344 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 04:41:10,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-04-28 04:41:10,427 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 78. [2022-04-28 04:41:10,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:41:10,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:41:10,428 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:41:10,429 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:41:10,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:10,430 INFO L93 Difference]: Finished difference Result 82 states and 90 transitions. [2022-04-28 04:41:10,430 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2022-04-28 04:41:10,430 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:10,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:10,431 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 82 states. [2022-04-28 04:41:10,431 INFO L87 Difference]: Start difference. First operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 82 states. [2022-04-28 04:41:10,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:10,432 INFO L93 Difference]: Finished difference Result 82 states and 90 transitions. [2022-04-28 04:41:10,433 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2022-04-28 04:41:10,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:10,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:10,433 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:41:10,433 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:41:10,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:41:10,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 84 transitions. [2022-04-28 04:41:10,435 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 84 transitions. Word has length 41 [2022-04-28 04:41:10,435 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:41:10,435 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 84 transitions. [2022-04-28 04:41:10,435 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:41:10,435 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 84 transitions. [2022-04-28 04:41:10,550 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:10,550 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 84 transitions. [2022-04-28 04:41:10,550 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 04:41:10,550 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:41:10,550 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:41:10,569 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 04:41:10,759 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:41:10,760 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:41:10,760 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:41:10,761 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-28 04:41:10,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:10,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [879822671] [2022-04-28 04:41:10,761 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:41:10,761 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-28 04:41:10,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:41:10,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [769904170] [2022-04-28 04:41:10,761 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:41:10,761 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:41:10,784 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:41:10,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1537577418] [2022-04-28 04:41:10,785 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:41:10,785 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:41:10,785 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:41:10,790 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:41:10,791 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 04:41:10,827 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:41:10,827 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:41:10,828 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 04:41:10,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:41:10,838 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:41:11,165 INFO L272 TraceCheckUtils]: 0: Hoare triple {4320#true} call ULTIMATE.init(); {4320#true} is VALID [2022-04-28 04:41:11,166 INFO L290 TraceCheckUtils]: 1: Hoare triple {4320#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {4320#true} is VALID [2022-04-28 04:41:11,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-28 04:41:11,166 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4320#true} {4320#true} #69#return; {4320#true} is VALID [2022-04-28 04:41:11,166 INFO L272 TraceCheckUtils]: 4: Hoare triple {4320#true} call #t~ret8 := main(); {4320#true} is VALID [2022-04-28 04:41:11,166 INFO L290 TraceCheckUtils]: 5: Hoare triple {4320#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4320#true} is VALID [2022-04-28 04:41:11,166 INFO L272 TraceCheckUtils]: 6: Hoare triple {4320#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {4320#true} is VALID [2022-04-28 04:41:11,166 INFO L290 TraceCheckUtils]: 7: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-28 04:41:11,166 INFO L290 TraceCheckUtils]: 8: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-28 04:41:11,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-28 04:41:11,166 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4320#true} {4320#true} #61#return; {4320#true} is VALID [2022-04-28 04:41:11,166 INFO L290 TraceCheckUtils]: 11: Hoare triple {4320#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4320#true} is VALID [2022-04-28 04:41:11,166 INFO L272 TraceCheckUtils]: 12: Hoare triple {4320#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {4320#true} is VALID [2022-04-28 04:41:11,167 INFO L290 TraceCheckUtils]: 13: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-28 04:41:11,167 INFO L290 TraceCheckUtils]: 14: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-28 04:41:11,167 INFO L290 TraceCheckUtils]: 15: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-28 04:41:11,167 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4320#true} {4320#true} #63#return; {4320#true} is VALID [2022-04-28 04:41:11,167 INFO L290 TraceCheckUtils]: 17: Hoare triple {4320#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:11,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:11,168 INFO L272 TraceCheckUtils]: 19: Hoare triple {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4320#true} is VALID [2022-04-28 04:41:11,168 INFO L290 TraceCheckUtils]: 20: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-28 04:41:11,168 INFO L290 TraceCheckUtils]: 21: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-28 04:41:11,168 INFO L290 TraceCheckUtils]: 22: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-28 04:41:11,169 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4320#true} {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:11,169 INFO L290 TraceCheckUtils]: 24: Hoare triple {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:11,170 INFO L290 TraceCheckUtils]: 25: Hoare triple {4376#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4401#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:41:11,170 INFO L290 TraceCheckUtils]: 26: Hoare triple {4401#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4405#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:41:11,171 INFO L290 TraceCheckUtils]: 27: Hoare triple {4405#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4405#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:41:11,171 INFO L272 TraceCheckUtils]: 28: Hoare triple {4405#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4320#true} is VALID [2022-04-28 04:41:11,171 INFO L290 TraceCheckUtils]: 29: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-28 04:41:11,171 INFO L290 TraceCheckUtils]: 30: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-28 04:41:11,171 INFO L290 TraceCheckUtils]: 31: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-28 04:41:11,172 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4320#true} {4405#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #65#return; {4405#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:41:11,172 INFO L290 TraceCheckUtils]: 33: Hoare triple {4405#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {4427#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:41:11,173 INFO L290 TraceCheckUtils]: 34: Hoare triple {4427#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4431#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-28 04:41:11,174 INFO L290 TraceCheckUtils]: 35: Hoare triple {4431#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4435#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:41:11,174 INFO L290 TraceCheckUtils]: 36: Hoare triple {4435#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4439#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0))} is VALID [2022-04-28 04:41:11,175 INFO L272 TraceCheckUtils]: 37: Hoare triple {4439#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~xy~0 (* main_~X~0 2)) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4443#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:41:11,176 INFO L290 TraceCheckUtils]: 38: Hoare triple {4443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:11,176 INFO L290 TraceCheckUtils]: 39: Hoare triple {4447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4321#false} is VALID [2022-04-28 04:41:11,176 INFO L290 TraceCheckUtils]: 40: Hoare triple {4321#false} assume !false; {4321#false} is VALID [2022-04-28 04:41:11,176 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 04:41:11,176 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:41:11,516 INFO L290 TraceCheckUtils]: 40: Hoare triple {4321#false} assume !false; {4321#false} is VALID [2022-04-28 04:41:11,517 INFO L290 TraceCheckUtils]: 39: Hoare triple {4447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4321#false} is VALID [2022-04-28 04:41:11,518 INFO L290 TraceCheckUtils]: 38: Hoare triple {4443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:11,518 INFO L272 TraceCheckUtils]: 37: Hoare triple {4463#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4443#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:41:11,519 INFO L290 TraceCheckUtils]: 36: Hoare triple {4467#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4463#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:41:11,521 INFO L290 TraceCheckUtils]: 35: Hoare triple {4471#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4467#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:41:11,522 INFO L290 TraceCheckUtils]: 34: Hoare triple {4467#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4471#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:41:11,523 INFO L290 TraceCheckUtils]: 33: Hoare triple {4478#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {4467#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:41:11,523 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4320#true} {4478#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} #65#return; {4478#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:41:11,524 INFO L290 TraceCheckUtils]: 31: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-28 04:41:11,524 INFO L290 TraceCheckUtils]: 30: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-28 04:41:11,524 INFO L290 TraceCheckUtils]: 29: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-28 04:41:11,524 INFO L272 TraceCheckUtils]: 28: Hoare triple {4478#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4320#true} is VALID [2022-04-28 04:41:11,524 INFO L290 TraceCheckUtils]: 27: Hoare triple {4478#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4478#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:41:11,526 INFO L290 TraceCheckUtils]: 26: Hoare triple {4500#(or (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4478#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:41:11,527 INFO L290 TraceCheckUtils]: 25: Hoare triple {4504#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4500#(or (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:41:11,528 INFO L290 TraceCheckUtils]: 24: Hoare triple {4504#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !!(~x~0 <= ~X~0); {4504#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 04:41:11,528 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4320#true} {4504#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} #65#return; {4504#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 04:41:11,528 INFO L290 TraceCheckUtils]: 22: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-28 04:41:11,529 INFO L290 TraceCheckUtils]: 21: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-28 04:41:11,529 INFO L290 TraceCheckUtils]: 20: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-28 04:41:11,529 INFO L272 TraceCheckUtils]: 19: Hoare triple {4504#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4320#true} is VALID [2022-04-28 04:41:11,529 INFO L290 TraceCheckUtils]: 18: Hoare triple {4504#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4504#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 04:41:11,530 INFO L290 TraceCheckUtils]: 17: Hoare triple {4320#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4504#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 04:41:11,530 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4320#true} {4320#true} #63#return; {4320#true} is VALID [2022-04-28 04:41:11,530 INFO L290 TraceCheckUtils]: 15: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-28 04:41:11,530 INFO L290 TraceCheckUtils]: 14: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-28 04:41:11,530 INFO L290 TraceCheckUtils]: 13: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-28 04:41:11,530 INFO L272 TraceCheckUtils]: 12: Hoare triple {4320#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {4320#true} is VALID [2022-04-28 04:41:11,530 INFO L290 TraceCheckUtils]: 11: Hoare triple {4320#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4320#true} is VALID [2022-04-28 04:41:11,530 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4320#true} {4320#true} #61#return; {4320#true} is VALID [2022-04-28 04:41:11,530 INFO L290 TraceCheckUtils]: 9: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-28 04:41:11,530 INFO L290 TraceCheckUtils]: 8: Hoare triple {4320#true} assume !(0 == ~cond); {4320#true} is VALID [2022-04-28 04:41:11,530 INFO L290 TraceCheckUtils]: 7: Hoare triple {4320#true} ~cond := #in~cond; {4320#true} is VALID [2022-04-28 04:41:11,530 INFO L272 TraceCheckUtils]: 6: Hoare triple {4320#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {4320#true} is VALID [2022-04-28 04:41:11,530 INFO L290 TraceCheckUtils]: 5: Hoare triple {4320#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4320#true} is VALID [2022-04-28 04:41:11,531 INFO L272 TraceCheckUtils]: 4: Hoare triple {4320#true} call #t~ret8 := main(); {4320#true} is VALID [2022-04-28 04:41:11,531 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4320#true} {4320#true} #69#return; {4320#true} is VALID [2022-04-28 04:41:11,531 INFO L290 TraceCheckUtils]: 2: Hoare triple {4320#true} assume true; {4320#true} is VALID [2022-04-28 04:41:11,531 INFO L290 TraceCheckUtils]: 1: Hoare triple {4320#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {4320#true} is VALID [2022-04-28 04:41:11,531 INFO L272 TraceCheckUtils]: 0: Hoare triple {4320#true} call ULTIMATE.init(); {4320#true} is VALID [2022-04-28 04:41:11,531 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 11 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 04:41:11,531 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:41:11,531 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [769904170] [2022-04-28 04:41:11,531 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:41:11,531 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1537577418] [2022-04-28 04:41:11,532 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1537577418] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:41:11,532 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:41:11,532 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 17 [2022-04-28 04:41:11,532 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:41:11,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [879822671] [2022-04-28 04:41:11,532 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [879822671] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:41:11,532 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:41:11,532 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 04:41:11,532 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1882039279] [2022-04-28 04:41:11,533 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:41:11,533 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 04:41:11,533 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:41:11,533 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:41:11,565 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:11,565 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 04:41:11,565 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:11,566 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 04:41:11,566 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-28 04:41:11,566 INFO L87 Difference]: Start difference. First operand 78 states and 84 transitions. Second operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:41:12,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:12,369 INFO L93 Difference]: Finished difference Result 91 states and 99 transitions. [2022-04-28 04:41:12,369 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 04:41:12,369 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 04:41:12,369 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:41:12,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:41:12,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-28 04:41:12,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:41:12,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-28 04:41:12,371 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 58 transitions. [2022-04-28 04:41:12,428 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:12,429 INFO L225 Difference]: With dead ends: 91 [2022-04-28 04:41:12,430 INFO L226 Difference]: Without dead ends: 89 [2022-04-28 04:41:12,430 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 62 SyntacticMatches, 4 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=65, Invalid=277, Unknown=0, NotChecked=0, Total=342 [2022-04-28 04:41:12,430 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 11 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 254 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 257 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 254 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:41:12,430 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 184 Invalid, 257 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 254 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 04:41:12,431 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-28 04:41:12,545 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 78. [2022-04-28 04:41:12,545 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:41:12,546 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:41:12,546 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:41:12,546 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:41:12,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:12,548 INFO L93 Difference]: Finished difference Result 89 states and 97 transitions. [2022-04-28 04:41:12,548 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 97 transitions. [2022-04-28 04:41:12,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:12,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:12,549 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 89 states. [2022-04-28 04:41:12,549 INFO L87 Difference]: Start difference. First operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 89 states. [2022-04-28 04:41:12,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:12,551 INFO L93 Difference]: Finished difference Result 89 states and 97 transitions. [2022-04-28 04:41:12,551 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 97 transitions. [2022-04-28 04:41:12,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:12,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:12,551 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:41:12,551 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:41:12,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:41:12,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 84 transitions. [2022-04-28 04:41:12,553 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 84 transitions. Word has length 41 [2022-04-28 04:41:12,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:41:12,553 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 84 transitions. [2022-04-28 04:41:12,553 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:41:12,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 84 transitions. [2022-04-28 04:41:12,690 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:12,690 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 84 transitions. [2022-04-28 04:41:12,691 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 04:41:12,691 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:41:12,691 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:41:12,713 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-28 04:41:12,891 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 04:41:12,892 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:41:12,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:41:12,892 INFO L85 PathProgramCache]: Analyzing trace with hash -143142008, now seen corresponding path program 1 times [2022-04-28 04:41:12,892 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:12,892 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1187518638] [2022-04-28 04:41:12,893 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:41:12,893 INFO L85 PathProgramCache]: Analyzing trace with hash -143142008, now seen corresponding path program 2 times [2022-04-28 04:41:12,893 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:41:12,893 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2023104089] [2022-04-28 04:41:12,893 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:41:12,893 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:41:12,914 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:41:12,915 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1015045671] [2022-04-28 04:41:12,915 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:41:12,915 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:41:12,915 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:41:12,917 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:41:12,918 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 04:41:12,956 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:41:12,956 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:41:12,957 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 04:41:12,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:41:12,967 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:41:14,826 INFO L272 TraceCheckUtils]: 0: Hoare triple {5102#true} call ULTIMATE.init(); {5102#true} is VALID [2022-04-28 04:41:14,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {5102#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {5102#true} is VALID [2022-04-28 04:41:14,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-28 04:41:14,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5102#true} {5102#true} #69#return; {5102#true} is VALID [2022-04-28 04:41:14,826 INFO L272 TraceCheckUtils]: 4: Hoare triple {5102#true} call #t~ret8 := main(); {5102#true} is VALID [2022-04-28 04:41:14,826 INFO L290 TraceCheckUtils]: 5: Hoare triple {5102#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5102#true} is VALID [2022-04-28 04:41:14,826 INFO L272 TraceCheckUtils]: 6: Hoare triple {5102#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {5102#true} is VALID [2022-04-28 04:41:14,826 INFO L290 TraceCheckUtils]: 7: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-28 04:41:14,826 INFO L290 TraceCheckUtils]: 8: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-28 04:41:14,826 INFO L290 TraceCheckUtils]: 9: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-28 04:41:14,826 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5102#true} {5102#true} #61#return; {5102#true} is VALID [2022-04-28 04:41:14,827 INFO L290 TraceCheckUtils]: 11: Hoare triple {5102#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5102#true} is VALID [2022-04-28 04:41:14,827 INFO L272 TraceCheckUtils]: 12: Hoare triple {5102#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {5102#true} is VALID [2022-04-28 04:41:14,827 INFO L290 TraceCheckUtils]: 13: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-28 04:41:14,827 INFO L290 TraceCheckUtils]: 14: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-28 04:41:14,827 INFO L290 TraceCheckUtils]: 15: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-28 04:41:14,827 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5102#true} {5102#true} #63#return; {5102#true} is VALID [2022-04-28 04:41:14,827 INFO L290 TraceCheckUtils]: 17: Hoare triple {5102#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 04:41:14,828 INFO L290 TraceCheckUtils]: 18: Hoare triple {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 04:41:14,828 INFO L272 TraceCheckUtils]: 19: Hoare triple {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5102#true} is VALID [2022-04-28 04:41:14,828 INFO L290 TraceCheckUtils]: 20: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-28 04:41:14,828 INFO L290 TraceCheckUtils]: 21: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-28 04:41:14,828 INFO L290 TraceCheckUtils]: 22: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-28 04:41:14,829 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5102#true} {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 04:41:14,829 INFO L290 TraceCheckUtils]: 24: Hoare triple {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 04:41:14,830 INFO L290 TraceCheckUtils]: 25: Hoare triple {5158#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5183#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-28 04:41:14,831 INFO L290 TraceCheckUtils]: 26: Hoare triple {5183#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-28 04:41:14,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-28 04:41:14,832 INFO L272 TraceCheckUtils]: 28: Hoare triple {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5102#true} is VALID [2022-04-28 04:41:14,832 INFO L290 TraceCheckUtils]: 29: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-28 04:41:14,832 INFO L290 TraceCheckUtils]: 30: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-28 04:41:14,832 INFO L290 TraceCheckUtils]: 31: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-28 04:41:14,832 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5102#true} {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #65#return; {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-28 04:41:14,833 INFO L290 TraceCheckUtils]: 33: Hoare triple {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !!(~x~0 <= ~X~0); {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-28 04:41:14,834 INFO L290 TraceCheckUtils]: 34: Hoare triple {5187#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5212#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} is VALID [2022-04-28 04:41:14,834 INFO L290 TraceCheckUtils]: 35: Hoare triple {5212#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-28 04:41:14,835 INFO L290 TraceCheckUtils]: 36: Hoare triple {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-28 04:41:14,835 INFO L272 TraceCheckUtils]: 37: Hoare triple {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5102#true} is VALID [2022-04-28 04:41:14,835 INFO L290 TraceCheckUtils]: 38: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-28 04:41:14,835 INFO L290 TraceCheckUtils]: 39: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-28 04:41:14,835 INFO L290 TraceCheckUtils]: 40: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-28 04:41:14,836 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5102#true} {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} #65#return; {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-28 04:41:14,836 INFO L290 TraceCheckUtils]: 42: Hoare triple {5216#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !(~x~0 <= ~X~0); {5103#false} is VALID [2022-04-28 04:41:14,836 INFO L290 TraceCheckUtils]: 43: Hoare triple {5103#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5103#false} is VALID [2022-04-28 04:41:14,836 INFO L272 TraceCheckUtils]: 44: Hoare triple {5103#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5103#false} is VALID [2022-04-28 04:41:14,837 INFO L290 TraceCheckUtils]: 45: Hoare triple {5103#false} ~cond := #in~cond; {5103#false} is VALID [2022-04-28 04:41:14,837 INFO L290 TraceCheckUtils]: 46: Hoare triple {5103#false} assume 0 == ~cond; {5103#false} is VALID [2022-04-28 04:41:14,837 INFO L290 TraceCheckUtils]: 47: Hoare triple {5103#false} assume !false; {5103#false} is VALID [2022-04-28 04:41:14,837 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:41:14,837 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:41:15,156 INFO L290 TraceCheckUtils]: 47: Hoare triple {5103#false} assume !false; {5103#false} is VALID [2022-04-28 04:41:15,157 INFO L290 TraceCheckUtils]: 46: Hoare triple {5103#false} assume 0 == ~cond; {5103#false} is VALID [2022-04-28 04:41:15,157 INFO L290 TraceCheckUtils]: 45: Hoare triple {5103#false} ~cond := #in~cond; {5103#false} is VALID [2022-04-28 04:41:15,157 INFO L272 TraceCheckUtils]: 44: Hoare triple {5103#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5103#false} is VALID [2022-04-28 04:41:15,157 INFO L290 TraceCheckUtils]: 43: Hoare triple {5103#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5103#false} is VALID [2022-04-28 04:41:15,157 INFO L290 TraceCheckUtils]: 42: Hoare triple {5268#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {5103#false} is VALID [2022-04-28 04:41:15,158 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5102#true} {5268#(<= main_~x~0 main_~X~0)} #65#return; {5268#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:41:15,158 INFO L290 TraceCheckUtils]: 40: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-28 04:41:15,158 INFO L290 TraceCheckUtils]: 39: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-28 04:41:15,158 INFO L290 TraceCheckUtils]: 38: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-28 04:41:15,158 INFO L272 TraceCheckUtils]: 37: Hoare triple {5268#(<= main_~x~0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5102#true} is VALID [2022-04-28 04:41:15,167 INFO L290 TraceCheckUtils]: 36: Hoare triple {5268#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5268#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:41:15,168 INFO L290 TraceCheckUtils]: 35: Hoare triple {5290#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5268#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:41:15,169 INFO L290 TraceCheckUtils]: 34: Hoare triple {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5290#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 04:41:15,169 INFO L290 TraceCheckUtils]: 33: Hoare triple {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 04:41:15,170 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5102#true} {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 04:41:15,170 INFO L290 TraceCheckUtils]: 31: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-28 04:41:15,170 INFO L290 TraceCheckUtils]: 30: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-28 04:41:15,170 INFO L290 TraceCheckUtils]: 29: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-28 04:41:15,170 INFO L272 TraceCheckUtils]: 28: Hoare triple {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5102#true} is VALID [2022-04-28 04:41:15,171 INFO L290 TraceCheckUtils]: 27: Hoare triple {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 04:41:15,171 INFO L290 TraceCheckUtils]: 26: Hoare triple {5319#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5294#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 04:41:15,172 INFO L290 TraceCheckUtils]: 25: Hoare triple {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5319#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} is VALID [2022-04-28 04:41:15,173 INFO L290 TraceCheckUtils]: 24: Hoare triple {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-28 04:41:15,173 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5102#true} {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} #65#return; {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-28 04:41:15,173 INFO L290 TraceCheckUtils]: 22: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-28 04:41:15,174 INFO L290 TraceCheckUtils]: 21: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-28 04:41:15,174 INFO L290 TraceCheckUtils]: 20: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-28 04:41:15,174 INFO L272 TraceCheckUtils]: 19: Hoare triple {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5102#true} is VALID [2022-04-28 04:41:15,174 INFO L290 TraceCheckUtils]: 18: Hoare triple {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-28 04:41:15,175 INFO L290 TraceCheckUtils]: 17: Hoare triple {5102#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5323#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-28 04:41:15,175 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5102#true} {5102#true} #63#return; {5102#true} is VALID [2022-04-28 04:41:15,175 INFO L290 TraceCheckUtils]: 15: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-28 04:41:15,175 INFO L290 TraceCheckUtils]: 14: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-28 04:41:15,175 INFO L290 TraceCheckUtils]: 13: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-28 04:41:15,175 INFO L272 TraceCheckUtils]: 12: Hoare triple {5102#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {5102#true} is VALID [2022-04-28 04:41:15,175 INFO L290 TraceCheckUtils]: 11: Hoare triple {5102#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5102#true} is VALID [2022-04-28 04:41:15,175 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5102#true} {5102#true} #61#return; {5102#true} is VALID [2022-04-28 04:41:15,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-28 04:41:15,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {5102#true} assume !(0 == ~cond); {5102#true} is VALID [2022-04-28 04:41:15,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {5102#true} ~cond := #in~cond; {5102#true} is VALID [2022-04-28 04:41:15,176 INFO L272 TraceCheckUtils]: 6: Hoare triple {5102#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {5102#true} is VALID [2022-04-28 04:41:15,176 INFO L290 TraceCheckUtils]: 5: Hoare triple {5102#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5102#true} is VALID [2022-04-28 04:41:15,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {5102#true} call #t~ret8 := main(); {5102#true} is VALID [2022-04-28 04:41:15,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5102#true} {5102#true} #69#return; {5102#true} is VALID [2022-04-28 04:41:15,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {5102#true} assume true; {5102#true} is VALID [2022-04-28 04:41:15,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {5102#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {5102#true} is VALID [2022-04-28 04:41:15,176 INFO L272 TraceCheckUtils]: 0: Hoare triple {5102#true} call ULTIMATE.init(); {5102#true} is VALID [2022-04-28 04:41:15,176 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:41:15,176 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:41:15,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2023104089] [2022-04-28 04:41:15,177 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:41:15,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1015045671] [2022-04-28 04:41:15,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1015045671] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:41:15,177 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:41:15,177 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 04:41:15,177 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:41:15,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1187518638] [2022-04-28 04:41:15,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1187518638] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:41:15,177 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:41:15,177 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 04:41:15,177 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2034753536] [2022-04-28 04:41:15,177 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:41:15,178 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 04:41:15,178 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:41:15,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:41:15,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:15,208 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 04:41:15,208 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:15,208 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 04:41:15,208 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-28 04:41:15,208 INFO L87 Difference]: Start difference. First operand 78 states and 84 transitions. Second operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:41:15,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:15,623 INFO L93 Difference]: Finished difference Result 92 states and 100 transitions. [2022-04-28 04:41:15,623 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 04:41:15,623 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 04:41:15,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:41:15,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:41:15,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-28 04:41:15,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:41:15,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-28 04:41:15,625 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2022-04-28 04:41:15,673 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:15,674 INFO L225 Difference]: With dead ends: 92 [2022-04-28 04:41:15,674 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 04:41:15,675 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-28 04:41:15,675 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 3 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 115 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:41:15,676 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 103 Invalid, 115 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 113 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:41:15,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 04:41:15,819 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 82. [2022-04-28 04:41:15,819 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:41:15,820 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 82 states, 59 states have (on average 1.1016949152542372) internal successors, (65), 61 states have internal predecessors, (65), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:41:15,820 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 82 states, 59 states have (on average 1.1016949152542372) internal successors, (65), 61 states have internal predecessors, (65), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:41:15,820 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 82 states, 59 states have (on average 1.1016949152542372) internal successors, (65), 61 states have internal predecessors, (65), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:41:15,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:15,821 INFO L93 Difference]: Finished difference Result 84 states and 92 transitions. [2022-04-28 04:41:15,822 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 92 transitions. [2022-04-28 04:41:15,822 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:15,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:15,822 INFO L74 IsIncluded]: Start isIncluded. First operand has 82 states, 59 states have (on average 1.1016949152542372) internal successors, (65), 61 states have internal predecessors, (65), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 84 states. [2022-04-28 04:41:15,822 INFO L87 Difference]: Start difference. First operand has 82 states, 59 states have (on average 1.1016949152542372) internal successors, (65), 61 states have internal predecessors, (65), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 84 states. [2022-04-28 04:41:15,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:15,824 INFO L93 Difference]: Finished difference Result 84 states and 92 transitions. [2022-04-28 04:41:15,824 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 92 transitions. [2022-04-28 04:41:15,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:15,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:15,824 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:41:15,824 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:41:15,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 59 states have (on average 1.1016949152542372) internal successors, (65), 61 states have internal predecessors, (65), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:41:15,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 89 transitions. [2022-04-28 04:41:15,826 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 89 transitions. Word has length 48 [2022-04-28 04:41:15,826 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:41:15,826 INFO L495 AbstractCegarLoop]: Abstraction has 82 states and 89 transitions. [2022-04-28 04:41:15,826 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:41:15,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 82 states and 89 transitions. [2022-04-28 04:41:15,985 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:15,985 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 89 transitions. [2022-04-28 04:41:15,986 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 04:41:15,986 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:41:15,986 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:41:16,002 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 04:41:16,186 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 04:41:16,186 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:41:16,187 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:41:16,187 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-28 04:41:16,187 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:16,187 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2094413727] [2022-04-28 04:41:16,187 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:41:16,187 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-28 04:41:16,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:41:16,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [766112022] [2022-04-28 04:41:16,188 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:41:16,188 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:41:16,212 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:41:16,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [342854394] [2022-04-28 04:41:16,212 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:41:16,212 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:41:16,212 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:41:16,224 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:41:16,226 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 04:41:16,270 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:41:16,270 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:41:16,272 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 04:41:16,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:41:16,287 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:41:16,987 INFO L272 TraceCheckUtils]: 0: Hoare triple {5917#true} call ULTIMATE.init(); {5917#true} is VALID [2022-04-28 04:41:16,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {5917#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {5917#true} is VALID [2022-04-28 04:41:16,988 INFO L290 TraceCheckUtils]: 2: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-28 04:41:16,988 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5917#true} {5917#true} #69#return; {5917#true} is VALID [2022-04-28 04:41:16,988 INFO L272 TraceCheckUtils]: 4: Hoare triple {5917#true} call #t~ret8 := main(); {5917#true} is VALID [2022-04-28 04:41:16,988 INFO L290 TraceCheckUtils]: 5: Hoare triple {5917#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5917#true} is VALID [2022-04-28 04:41:16,988 INFO L272 TraceCheckUtils]: 6: Hoare triple {5917#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {5917#true} is VALID [2022-04-28 04:41:16,988 INFO L290 TraceCheckUtils]: 7: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-28 04:41:16,988 INFO L290 TraceCheckUtils]: 8: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-28 04:41:16,988 INFO L290 TraceCheckUtils]: 9: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-28 04:41:16,988 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5917#true} {5917#true} #61#return; {5917#true} is VALID [2022-04-28 04:41:16,989 INFO L290 TraceCheckUtils]: 11: Hoare triple {5917#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5917#true} is VALID [2022-04-28 04:41:16,989 INFO L272 TraceCheckUtils]: 12: Hoare triple {5917#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {5917#true} is VALID [2022-04-28 04:41:16,989 INFO L290 TraceCheckUtils]: 13: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-28 04:41:16,989 INFO L290 TraceCheckUtils]: 14: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-28 04:41:16,989 INFO L290 TraceCheckUtils]: 15: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-28 04:41:16,989 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5917#true} {5917#true} #63#return; {5917#true} is VALID [2022-04-28 04:41:16,989 INFO L290 TraceCheckUtils]: 17: Hoare triple {5917#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:16,990 INFO L290 TraceCheckUtils]: 18: Hoare triple {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:16,990 INFO L272 TraceCheckUtils]: 19: Hoare triple {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5917#true} is VALID [2022-04-28 04:41:16,990 INFO L290 TraceCheckUtils]: 20: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-28 04:41:16,990 INFO L290 TraceCheckUtils]: 21: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-28 04:41:16,990 INFO L290 TraceCheckUtils]: 22: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-28 04:41:16,991 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5917#true} {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:16,991 INFO L290 TraceCheckUtils]: 24: Hoare triple {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:16,992 INFO L290 TraceCheckUtils]: 25: Hoare triple {5973#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5998#(and (= main_~x~0 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:41:16,992 INFO L290 TraceCheckUtils]: 26: Hoare triple {5998#(and (= main_~x~0 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:41:16,993 INFO L290 TraceCheckUtils]: 27: Hoare triple {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:41:16,993 INFO L272 TraceCheckUtils]: 28: Hoare triple {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5917#true} is VALID [2022-04-28 04:41:16,993 INFO L290 TraceCheckUtils]: 29: Hoare triple {5917#true} ~cond := #in~cond; {6012#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:16,993 INFO L290 TraceCheckUtils]: 30: Hoare triple {6012#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:16,994 INFO L290 TraceCheckUtils]: 31: Hoare triple {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:16,994 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:41:16,995 INFO L290 TraceCheckUtils]: 33: Hoare triple {6002#(and (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {6026#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:41:16,995 INFO L290 TraceCheckUtils]: 34: Hoare triple {6026#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6030#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= main_~x~0 1))} is VALID [2022-04-28 04:41:16,996 INFO L290 TraceCheckUtils]: 35: Hoare triple {6030#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6034#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:41:16,996 INFO L290 TraceCheckUtils]: 36: Hoare triple {6034#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6038#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:41:16,996 INFO L272 TraceCheckUtils]: 37: Hoare triple {6038#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5917#true} is VALID [2022-04-28 04:41:16,997 INFO L290 TraceCheckUtils]: 38: Hoare triple {5917#true} ~cond := #in~cond; {6012#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:16,997 INFO L290 TraceCheckUtils]: 39: Hoare triple {6012#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:16,997 INFO L290 TraceCheckUtils]: 40: Hoare triple {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:16,998 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} {6038#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {6034#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:41:16,999 INFO L290 TraceCheckUtils]: 42: Hoare triple {6034#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {6057#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:41:16,999 INFO L290 TraceCheckUtils]: 43: Hoare triple {6057#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {6061#(and (= main_~y~0 2) (= (* main_~y~0 2) main_~xy~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (not (<= 2 main_~X~0)))} is VALID [2022-04-28 04:41:17,000 INFO L272 TraceCheckUtils]: 44: Hoare triple {6061#(and (= main_~y~0 2) (= (* main_~y~0 2) main_~xy~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 4) (* main_~Y~0 (- 4)))) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (not (<= 2 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {6065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:41:17,001 INFO L290 TraceCheckUtils]: 45: Hoare triple {6065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:17,002 INFO L290 TraceCheckUtils]: 46: Hoare triple {6069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5918#false} is VALID [2022-04-28 04:41:17,002 INFO L290 TraceCheckUtils]: 47: Hoare triple {5918#false} assume !false; {5918#false} is VALID [2022-04-28 04:41:17,002 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 10 proven. 13 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 04:41:17,002 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:41:17,704 INFO L290 TraceCheckUtils]: 47: Hoare triple {5918#false} assume !false; {5918#false} is VALID [2022-04-28 04:41:17,704 INFO L290 TraceCheckUtils]: 46: Hoare triple {6069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5918#false} is VALID [2022-04-28 04:41:17,704 INFO L290 TraceCheckUtils]: 45: Hoare triple {6065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:17,705 INFO L272 TraceCheckUtils]: 44: Hoare triple {6085#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {6065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:41:17,706 INFO L290 TraceCheckUtils]: 43: Hoare triple {6089#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {6085#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:41:17,707 INFO L290 TraceCheckUtils]: 42: Hoare triple {6093#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {6089#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 04:41:17,707 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} {6097#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {6093#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:41:17,708 INFO L290 TraceCheckUtils]: 40: Hoare triple {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:17,708 INFO L290 TraceCheckUtils]: 39: Hoare triple {6107#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6016#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:17,708 INFO L290 TraceCheckUtils]: 38: Hoare triple {5917#true} ~cond := #in~cond; {6107#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:41:17,708 INFO L272 TraceCheckUtils]: 37: Hoare triple {6097#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5917#true} is VALID [2022-04-28 04:41:17,709 INFO L290 TraceCheckUtils]: 36: Hoare triple {6114#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6097#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:41:17,734 INFO L290 TraceCheckUtils]: 35: Hoare triple {6118#(or (not (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6114#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:41:17,826 INFO L290 TraceCheckUtils]: 34: Hoare triple {6122#(or (= (+ (* main_~Y~0 main_~x~0 2) (* (- 2) main_~X~0) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4)) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0) (not (= (+ (* (- 2) main_~X~0) main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 (- 3)) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6118#(or (not (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 04:41:17,828 INFO L290 TraceCheckUtils]: 33: Hoare triple {5917#true} assume !!(~x~0 <= ~X~0); {6122#(or (= (+ (* main_~Y~0 main_~x~0 2) (* (- 2) main_~X~0) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4)) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0) (not (= (+ (* (- 2) main_~X~0) main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 (- 3)) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4)))))} is VALID [2022-04-28 04:41:17,828 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5917#true} {5917#true} #65#return; {5917#true} is VALID [2022-04-28 04:41:17,829 INFO L290 TraceCheckUtils]: 31: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-28 04:41:17,829 INFO L290 TraceCheckUtils]: 30: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-28 04:41:17,829 INFO L290 TraceCheckUtils]: 29: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-28 04:41:17,829 INFO L272 TraceCheckUtils]: 28: Hoare triple {5917#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5917#true} is VALID [2022-04-28 04:41:17,829 INFO L290 TraceCheckUtils]: 27: Hoare triple {5917#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5917#true} is VALID [2022-04-28 04:41:17,829 INFO L290 TraceCheckUtils]: 26: Hoare triple {5917#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5917#true} is VALID [2022-04-28 04:41:17,829 INFO L290 TraceCheckUtils]: 25: Hoare triple {5917#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5917#true} is VALID [2022-04-28 04:41:17,829 INFO L290 TraceCheckUtils]: 24: Hoare triple {5917#true} assume !!(~x~0 <= ~X~0); {5917#true} is VALID [2022-04-28 04:41:17,829 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5917#true} {5917#true} #65#return; {5917#true} is VALID [2022-04-28 04:41:17,829 INFO L290 TraceCheckUtils]: 22: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-28 04:41:17,829 INFO L290 TraceCheckUtils]: 21: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-28 04:41:17,829 INFO L290 TraceCheckUtils]: 20: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-28 04:41:17,829 INFO L272 TraceCheckUtils]: 19: Hoare triple {5917#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5917#true} is VALID [2022-04-28 04:41:17,830 INFO L290 TraceCheckUtils]: 18: Hoare triple {5917#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5917#true} is VALID [2022-04-28 04:41:17,830 INFO L290 TraceCheckUtils]: 17: Hoare triple {5917#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5917#true} is VALID [2022-04-28 04:41:17,830 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5917#true} {5917#true} #63#return; {5917#true} is VALID [2022-04-28 04:41:17,830 INFO L290 TraceCheckUtils]: 15: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-28 04:41:17,830 INFO L290 TraceCheckUtils]: 14: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-28 04:41:17,830 INFO L290 TraceCheckUtils]: 13: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-28 04:41:17,830 INFO L272 TraceCheckUtils]: 12: Hoare triple {5917#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {5917#true} is VALID [2022-04-28 04:41:17,830 INFO L290 TraceCheckUtils]: 11: Hoare triple {5917#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5917#true} is VALID [2022-04-28 04:41:17,830 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5917#true} {5917#true} #61#return; {5917#true} is VALID [2022-04-28 04:41:17,830 INFO L290 TraceCheckUtils]: 9: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-28 04:41:17,830 INFO L290 TraceCheckUtils]: 8: Hoare triple {5917#true} assume !(0 == ~cond); {5917#true} is VALID [2022-04-28 04:41:17,830 INFO L290 TraceCheckUtils]: 7: Hoare triple {5917#true} ~cond := #in~cond; {5917#true} is VALID [2022-04-28 04:41:17,830 INFO L272 TraceCheckUtils]: 6: Hoare triple {5917#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {5917#true} is VALID [2022-04-28 04:41:17,831 INFO L290 TraceCheckUtils]: 5: Hoare triple {5917#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5917#true} is VALID [2022-04-28 04:41:17,831 INFO L272 TraceCheckUtils]: 4: Hoare triple {5917#true} call #t~ret8 := main(); {5917#true} is VALID [2022-04-28 04:41:17,831 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5917#true} {5917#true} #69#return; {5917#true} is VALID [2022-04-28 04:41:17,831 INFO L290 TraceCheckUtils]: 2: Hoare triple {5917#true} assume true; {5917#true} is VALID [2022-04-28 04:41:17,831 INFO L290 TraceCheckUtils]: 1: Hoare triple {5917#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {5917#true} is VALID [2022-04-28 04:41:17,831 INFO L272 TraceCheckUtils]: 0: Hoare triple {5917#true} call ULTIMATE.init(); {5917#true} is VALID [2022-04-28 04:41:17,831 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 04:41:17,831 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:41:17,831 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [766112022] [2022-04-28 04:41:17,832 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:41:17,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [342854394] [2022-04-28 04:41:17,832 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [342854394] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:41:17,832 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:41:17,832 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13] total 23 [2022-04-28 04:41:17,832 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:41:17,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2094413727] [2022-04-28 04:41:17,832 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2094413727] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:41:17,832 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:41:17,832 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 04:41:17,832 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [479634871] [2022-04-28 04:41:17,832 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:41:17,833 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 04:41:17,833 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:41:17,833 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:41:17,872 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:17,872 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 04:41:17,873 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:17,873 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 04:41:17,873 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=424, Unknown=0, NotChecked=0, Total=506 [2022-04-28 04:41:17,873 INFO L87 Difference]: Start difference. First operand 82 states and 89 transitions. Second operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:41:18,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:18,941 INFO L93 Difference]: Finished difference Result 96 states and 103 transitions. [2022-04-28 04:41:18,941 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 04:41:18,941 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 04:41:18,941 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:41:18,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:41:18,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-04-28 04:41:18,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:41:18,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-04-28 04:41:18,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 58 transitions. [2022-04-28 04:41:19,010 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:19,012 INFO L225 Difference]: With dead ends: 96 [2022-04-28 04:41:19,012 INFO L226 Difference]: Without dead ends: 88 [2022-04-28 04:41:19,012 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 71 SyntacticMatches, 3 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=114, Invalid=588, Unknown=0, NotChecked=0, Total=702 [2022-04-28 04:41:19,012 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 361 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 189 SdHoareTripleChecker+Invalid, 365 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 361 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:41:19,013 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 189 Invalid, 365 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 361 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 04:41:19,013 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-28 04:41:19,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 79. [2022-04-28 04:41:19,146 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:41:19,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:41:19,147 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:41:19,147 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:41:19,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:19,148 INFO L93 Difference]: Finished difference Result 88 states and 95 transitions. [2022-04-28 04:41:19,148 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-28 04:41:19,148 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:19,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:19,149 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-28 04:41:19,149 INFO L87 Difference]: Start difference. First operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-28 04:41:19,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:19,150 INFO L93 Difference]: Finished difference Result 88 states and 95 transitions. [2022-04-28 04:41:19,150 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2022-04-28 04:41:19,150 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:19,150 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:19,150 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:41:19,150 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:41:19,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:41:19,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 85 transitions. [2022-04-28 04:41:19,152 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 85 transitions. Word has length 48 [2022-04-28 04:41:19,152 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:41:19,152 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 85 transitions. [2022-04-28 04:41:19,152 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:41:19,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 85 transitions. [2022-04-28 04:41:19,301 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:19,302 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 85 transitions. [2022-04-28 04:41:19,302 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:41:19,302 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:41:19,302 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:41:19,318 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-28 04:41:19,503 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 04:41:19,503 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:41:19,503 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:41:19,503 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 5 times [2022-04-28 04:41:19,504 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:19,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1574630261] [2022-04-28 04:41:19,504 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:41:19,504 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 6 times [2022-04-28 04:41:19,504 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:41:19,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1223703511] [2022-04-28 04:41:19,504 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:41:19,504 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:41:19,527 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:41:19,527 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [742451640] [2022-04-28 04:41:19,528 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:41:19,528 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:41:19,528 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:41:19,529 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:41:19,530 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 04:41:19,572 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 04:41:19,573 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:41:19,574 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 60 conjunts are in the unsatisfiable core [2022-04-28 04:41:19,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:41:19,590 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:41:28,807 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:41:43,330 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:41:43,676 INFO L272 TraceCheckUtils]: 0: Hoare triple {6761#true} call ULTIMATE.init(); {6761#true} is VALID [2022-04-28 04:41:43,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {6761#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {6761#true} is VALID [2022-04-28 04:41:43,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-28 04:41:43,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6761#true} {6761#true} #69#return; {6761#true} is VALID [2022-04-28 04:41:43,676 INFO L272 TraceCheckUtils]: 4: Hoare triple {6761#true} call #t~ret8 := main(); {6761#true} is VALID [2022-04-28 04:41:43,677 INFO L290 TraceCheckUtils]: 5: Hoare triple {6761#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {6761#true} is VALID [2022-04-28 04:41:43,677 INFO L272 TraceCheckUtils]: 6: Hoare triple {6761#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {6761#true} is VALID [2022-04-28 04:41:43,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {6761#true} ~cond := #in~cond; {6787#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:41:43,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {6787#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6791#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:41:43,678 INFO L290 TraceCheckUtils]: 9: Hoare triple {6791#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6791#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:41:43,678 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6791#(not (= |assume_abort_if_not_#in~cond| 0))} {6761#true} #61#return; {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:41:43,678 INFO L290 TraceCheckUtils]: 11: Hoare triple {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:41:43,678 INFO L272 TraceCheckUtils]: 12: Hoare triple {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {6761#true} is VALID [2022-04-28 04:41:43,679 INFO L290 TraceCheckUtils]: 13: Hoare triple {6761#true} ~cond := #in~cond; {6761#true} is VALID [2022-04-28 04:41:43,679 INFO L290 TraceCheckUtils]: 14: Hoare triple {6761#true} assume !(0 == ~cond); {6761#true} is VALID [2022-04-28 04:41:43,679 INFO L290 TraceCheckUtils]: 15: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-28 04:41:43,679 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6761#true} {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} #63#return; {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:41:43,679 INFO L290 TraceCheckUtils]: 17: Hoare triple {6798#(and (<= 0 main_~X~0) (<= main_~X~0 5))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6820#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:43,680 INFO L290 TraceCheckUtils]: 18: Hoare triple {6820#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6824#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:41:43,680 INFO L272 TraceCheckUtils]: 19: Hoare triple {6824#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6761#true} is VALID [2022-04-28 04:41:43,680 INFO L290 TraceCheckUtils]: 20: Hoare triple {6761#true} ~cond := #in~cond; {6831#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:43,682 INFO L290 TraceCheckUtils]: 21: Hoare triple {6831#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:43,682 INFO L290 TraceCheckUtils]: 22: Hoare triple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:43,683 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} {6824#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {6820#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:43,683 INFO L290 TraceCheckUtils]: 24: Hoare triple {6820#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6820#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:43,684 INFO L290 TraceCheckUtils]: 25: Hoare triple {6820#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6848#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:43,684 INFO L290 TraceCheckUtils]: 26: Hoare triple {6848#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6852#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:45,686 WARN L290 TraceCheckUtils]: 27: Hoare triple {6852#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 1) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6856#(and (or (= main_~yx~0 0) (and (= (mod main_~yx~0 main_~Y~0) 0) (<= (div main_~yx~0 main_~Y~0) 1) (not (= main_~Y~0 0)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} is UNKNOWN [2022-04-28 04:41:45,686 INFO L272 TraceCheckUtils]: 28: Hoare triple {6856#(and (or (= main_~yx~0 0) (and (= (mod main_~yx~0 main_~Y~0) 0) (<= (div main_~yx~0 main_~Y~0) 1) (not (= main_~Y~0 0)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6761#true} is VALID [2022-04-28 04:41:45,686 INFO L290 TraceCheckUtils]: 29: Hoare triple {6761#true} ~cond := #in~cond; {6831#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:45,687 INFO L290 TraceCheckUtils]: 30: Hoare triple {6831#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:45,687 INFO L290 TraceCheckUtils]: 31: Hoare triple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:45,688 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} {6856#(and (or (= main_~yx~0 0) (and (= (mod main_~yx~0 main_~Y~0) 0) (<= (div main_~yx~0 main_~Y~0) 1) (not (= main_~Y~0 0)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} #65#return; {6872#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:45,688 INFO L290 TraceCheckUtils]: 33: Hoare triple {6872#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6872#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:45,689 INFO L290 TraceCheckUtils]: 34: Hoare triple {6872#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6879#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:45,690 INFO L290 TraceCheckUtils]: 35: Hoare triple {6879#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6879#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:45,690 INFO L290 TraceCheckUtils]: 36: Hoare triple {6879#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6886#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:41:45,690 INFO L272 TraceCheckUtils]: 37: Hoare triple {6886#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6761#true} is VALID [2022-04-28 04:41:45,690 INFO L290 TraceCheckUtils]: 38: Hoare triple {6761#true} ~cond := #in~cond; {6831#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:45,691 INFO L290 TraceCheckUtils]: 39: Hoare triple {6831#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:45,691 INFO L290 TraceCheckUtils]: 40: Hoare triple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:45,692 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} {6886#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {6902#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:45,693 INFO L290 TraceCheckUtils]: 42: Hoare triple {6902#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6902#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} is VALID [2022-04-28 04:41:45,694 INFO L290 TraceCheckUtils]: 43: Hoare triple {6902#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6909#(and (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= main_~X~0 5))} is VALID [2022-04-28 04:41:45,696 INFO L290 TraceCheckUtils]: 44: Hoare triple {6909#(and (= (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= main_~X~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6913#(and (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= main_~X~0 5))} is VALID [2022-04-28 04:41:45,697 INFO L290 TraceCheckUtils]: 45: Hoare triple {6913#(and (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 6)) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (<= main_~X~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6917#(and (<= main_~X~0 (* main_~Y~0 6)) (= (* (* (div main_~yx~0 main_~Y~0) main_~Y~0) 2) (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~X~0 main_~xy~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:41:45,711 INFO L272 TraceCheckUtils]: 46: Hoare triple {6917#(and (<= main_~X~0 (* main_~Y~0 6)) (= (* (* (div main_~yx~0 main_~Y~0) main_~Y~0) 2) (* main_~Y~0 6)) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3))) (= main_~X~0 main_~xy~0) (<= main_~X~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6921#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:41:45,712 INFO L290 TraceCheckUtils]: 47: Hoare triple {6921#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6925#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:45,712 INFO L290 TraceCheckUtils]: 48: Hoare triple {6925#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6762#false} is VALID [2022-04-28 04:41:45,712 INFO L290 TraceCheckUtils]: 49: Hoare triple {6762#false} assume !false; {6762#false} is VALID [2022-04-28 04:41:45,713 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 3 proven. 27 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 04:41:45,713 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:41:51,619 INFO L290 TraceCheckUtils]: 49: Hoare triple {6762#false} assume !false; {6762#false} is VALID [2022-04-28 04:41:51,620 INFO L290 TraceCheckUtils]: 48: Hoare triple {6925#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6762#false} is VALID [2022-04-28 04:41:51,620 INFO L290 TraceCheckUtils]: 47: Hoare triple {6921#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6925#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:51,621 INFO L272 TraceCheckUtils]: 46: Hoare triple {6941#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6921#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:41:51,622 INFO L290 TraceCheckUtils]: 45: Hoare triple {6945#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6941#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:41:51,625 INFO L290 TraceCheckUtils]: 44: Hoare triple {6949#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6945#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:41:51,626 INFO L290 TraceCheckUtils]: 43: Hoare triple {6953#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6949#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:41:51,627 INFO L290 TraceCheckUtils]: 42: Hoare triple {6953#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {6953#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:41:51,628 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} {6960#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {6953#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:41:51,628 INFO L290 TraceCheckUtils]: 40: Hoare triple {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:51,629 INFO L290 TraceCheckUtils]: 39: Hoare triple {6970#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6835#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:51,629 INFO L290 TraceCheckUtils]: 38: Hoare triple {6761#true} ~cond := #in~cond; {6970#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:41:51,629 INFO L272 TraceCheckUtils]: 37: Hoare triple {6960#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6761#true} is VALID [2022-04-28 04:41:51,630 INFO L290 TraceCheckUtils]: 36: Hoare triple {6761#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6960#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 04:41:51,630 INFO L290 TraceCheckUtils]: 35: Hoare triple {6761#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6761#true} is VALID [2022-04-28 04:41:51,630 INFO L290 TraceCheckUtils]: 34: Hoare triple {6761#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6761#true} is VALID [2022-04-28 04:41:51,630 INFO L290 TraceCheckUtils]: 33: Hoare triple {6761#true} assume !!(~x~0 <= ~X~0); {6761#true} is VALID [2022-04-28 04:41:51,630 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6761#true} {6761#true} #65#return; {6761#true} is VALID [2022-04-28 04:41:51,631 INFO L290 TraceCheckUtils]: 31: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-28 04:41:51,631 INFO L290 TraceCheckUtils]: 30: Hoare triple {6761#true} assume !(0 == ~cond); {6761#true} is VALID [2022-04-28 04:41:51,631 INFO L290 TraceCheckUtils]: 29: Hoare triple {6761#true} ~cond := #in~cond; {6761#true} is VALID [2022-04-28 04:41:51,631 INFO L272 TraceCheckUtils]: 28: Hoare triple {6761#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6761#true} is VALID [2022-04-28 04:41:51,631 INFO L290 TraceCheckUtils]: 27: Hoare triple {6761#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6761#true} is VALID [2022-04-28 04:41:51,631 INFO L290 TraceCheckUtils]: 26: Hoare triple {6761#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6761#true} is VALID [2022-04-28 04:41:51,631 INFO L290 TraceCheckUtils]: 25: Hoare triple {6761#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6761#true} is VALID [2022-04-28 04:41:51,631 INFO L290 TraceCheckUtils]: 24: Hoare triple {6761#true} assume !!(~x~0 <= ~X~0); {6761#true} is VALID [2022-04-28 04:41:51,631 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6761#true} {6761#true} #65#return; {6761#true} is VALID [2022-04-28 04:41:51,631 INFO L290 TraceCheckUtils]: 22: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-28 04:41:51,632 INFO L290 TraceCheckUtils]: 21: Hoare triple {6761#true} assume !(0 == ~cond); {6761#true} is VALID [2022-04-28 04:41:51,632 INFO L290 TraceCheckUtils]: 20: Hoare triple {6761#true} ~cond := #in~cond; {6761#true} is VALID [2022-04-28 04:41:51,632 INFO L272 TraceCheckUtils]: 19: Hoare triple {6761#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6761#true} is VALID [2022-04-28 04:41:51,632 INFO L290 TraceCheckUtils]: 18: Hoare triple {6761#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6761#true} is VALID [2022-04-28 04:41:51,632 INFO L290 TraceCheckUtils]: 17: Hoare triple {6761#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6761#true} is VALID [2022-04-28 04:41:51,632 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6761#true} {6761#true} #63#return; {6761#true} is VALID [2022-04-28 04:41:51,632 INFO L290 TraceCheckUtils]: 15: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-28 04:41:51,632 INFO L290 TraceCheckUtils]: 14: Hoare triple {6761#true} assume !(0 == ~cond); {6761#true} is VALID [2022-04-28 04:41:51,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {6761#true} ~cond := #in~cond; {6761#true} is VALID [2022-04-28 04:41:51,632 INFO L272 TraceCheckUtils]: 12: Hoare triple {6761#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {6761#true} is VALID [2022-04-28 04:41:51,633 INFO L290 TraceCheckUtils]: 11: Hoare triple {6761#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6761#true} is VALID [2022-04-28 04:41:51,633 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6761#true} {6761#true} #61#return; {6761#true} is VALID [2022-04-28 04:41:51,633 INFO L290 TraceCheckUtils]: 9: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-28 04:41:51,633 INFO L290 TraceCheckUtils]: 8: Hoare triple {6761#true} assume !(0 == ~cond); {6761#true} is VALID [2022-04-28 04:41:51,633 INFO L290 TraceCheckUtils]: 7: Hoare triple {6761#true} ~cond := #in~cond; {6761#true} is VALID [2022-04-28 04:41:51,633 INFO L272 TraceCheckUtils]: 6: Hoare triple {6761#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {6761#true} is VALID [2022-04-28 04:41:51,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {6761#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {6761#true} is VALID [2022-04-28 04:41:51,633 INFO L272 TraceCheckUtils]: 4: Hoare triple {6761#true} call #t~ret8 := main(); {6761#true} is VALID [2022-04-28 04:41:51,633 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6761#true} {6761#true} #69#return; {6761#true} is VALID [2022-04-28 04:41:51,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {6761#true} assume true; {6761#true} is VALID [2022-04-28 04:41:51,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {6761#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {6761#true} is VALID [2022-04-28 04:41:51,634 INFO L272 TraceCheckUtils]: 0: Hoare triple {6761#true} call ULTIMATE.init(); {6761#true} is VALID [2022-04-28 04:41:51,634 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-28 04:41:51,634 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:41:51,634 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1223703511] [2022-04-28 04:41:51,634 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:41:51,634 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [742451640] [2022-04-28 04:41:51,634 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [742451640] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:41:51,634 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:41:51,634 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 11] total 27 [2022-04-28 04:41:51,635 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:41:51,635 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1574630261] [2022-04-28 04:41:51,635 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1574630261] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:41:51,635 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:41:51,635 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 04:41:51,635 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [301311090] [2022-04-28 04:41:51,635 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:41:51,636 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 04:41:51,636 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:41:51,637 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:41:53,678 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:53,678 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 04:41:53,679 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:53,679 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 04:41:53,679 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=604, Unknown=0, NotChecked=0, Total=702 [2022-04-28 04:41:53,679 INFO L87 Difference]: Start difference. First operand 79 states and 85 transitions. Second operand has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:41:59,135 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.67s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:41:59,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:59,233 INFO L93 Difference]: Finished difference Result 101 states and 112 transitions. [2022-04-28 04:41:59,233 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 04:41:59,233 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 04:41:59,233 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:41:59,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:41:59,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 76 transitions. [2022-04-28 04:41:59,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:41:59,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 76 transitions. [2022-04-28 04:41:59,235 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 76 transitions. [2022-04-28 04:42:01,307 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 75 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:42:01,308 INFO L225 Difference]: With dead ends: 101 [2022-04-28 04:42:01,308 INFO L226 Difference]: Without dead ends: 88 [2022-04-28 04:42:01,308 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 72 SyntacticMatches, 2 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 253 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=149, Invalid=973, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 04:42:01,309 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 32 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 539 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 556 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 539 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:42:01,309 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 163 Invalid, 556 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 539 Invalid, 0 Unknown, 0 Unchecked, 2.4s Time] [2022-04-28 04:42:01,309 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-28 04:42:01,441 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 79. [2022-04-28 04:42:01,441 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:42:01,441 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:42:01,441 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:42:01,442 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:42:01,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:42:01,443 INFO L93 Difference]: Finished difference Result 88 states and 94 transitions. [2022-04-28 04:42:01,443 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 94 transitions. [2022-04-28 04:42:01,443 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:42:01,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:42:01,443 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-28 04:42:01,444 INFO L87 Difference]: Start difference. First operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-28 04:42:01,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:42:01,445 INFO L93 Difference]: Finished difference Result 88 states and 94 transitions. [2022-04-28 04:42:01,445 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 94 transitions. [2022-04-28 04:42:01,445 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:42:01,445 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:42:01,445 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:42:01,445 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:42:01,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 57 states have (on average 1.105263157894737) internal successors, (63), 58 states have internal predecessors, (63), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:42:01,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 85 transitions. [2022-04-28 04:42:01,446 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 85 transitions. Word has length 50 [2022-04-28 04:42:01,446 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:42:01,447 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 85 transitions. [2022-04-28 04:42:01,447 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:42:01,447 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 85 transitions. [2022-04-28 04:42:01,591 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:42:01,591 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 85 transitions. [2022-04-28 04:42:01,592 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:42:01,592 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:42:01,592 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:42:01,608 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 04:42:01,799 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 04:42:01,799 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:42:01,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:42:01,800 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 7 times [2022-04-28 04:42:01,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:42:01,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1976680648] [2022-04-28 04:42:01,800 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:42:01,800 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 8 times [2022-04-28 04:42:01,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:42:01,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1969664293] [2022-04-28 04:42:01,800 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:42:01,801 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:42:01,808 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:42:01,808 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1418753484] [2022-04-28 04:42:01,808 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:42:01,809 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:42:01,809 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:42:01,809 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:42:01,810 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 04:42:01,849 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:42:01,849 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:42:01,850 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 04:42:01,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:42:01,865 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:42:17,543 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:42:23,297 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:42:33,144 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:42:45,065 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:42:52,202 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:43:16,871 INFO L272 TraceCheckUtils]: 0: Hoare triple {7637#true} call ULTIMATE.init(); {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L290 TraceCheckUtils]: 1: Hoare triple {7637#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7637#true} {7637#true} #69#return; {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L272 TraceCheckUtils]: 4: Hoare triple {7637#true} call #t~ret8 := main(); {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L290 TraceCheckUtils]: 5: Hoare triple {7637#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L272 TraceCheckUtils]: 6: Hoare triple {7637#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L290 TraceCheckUtils]: 7: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L290 TraceCheckUtils]: 8: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L290 TraceCheckUtils]: 9: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7637#true} {7637#true} #61#return; {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L290 TraceCheckUtils]: 11: Hoare triple {7637#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L272 TraceCheckUtils]: 12: Hoare triple {7637#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L290 TraceCheckUtils]: 13: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-28 04:43:16,872 INFO L290 TraceCheckUtils]: 14: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-28 04:43:16,873 INFO L290 TraceCheckUtils]: 15: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-28 04:43:16,873 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7637#true} {7637#true} #63#return; {7637#true} is VALID [2022-04-28 04:43:16,873 INFO L290 TraceCheckUtils]: 17: Hoare triple {7637#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:43:16,873 INFO L290 TraceCheckUtils]: 18: Hoare triple {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:43:16,873 INFO L272 TraceCheckUtils]: 19: Hoare triple {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7637#true} is VALID [2022-04-28 04:43:16,874 INFO L290 TraceCheckUtils]: 20: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-28 04:43:16,874 INFO L290 TraceCheckUtils]: 21: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-28 04:43:16,874 INFO L290 TraceCheckUtils]: 22: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-28 04:43:16,874 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7637#true} {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:43:16,874 INFO L290 TraceCheckUtils]: 24: Hoare triple {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 04:43:16,875 INFO L290 TraceCheckUtils]: 25: Hoare triple {7693#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7718#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 04:43:16,876 INFO L290 TraceCheckUtils]: 26: Hoare triple {7718#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7718#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 04:43:16,876 INFO L290 TraceCheckUtils]: 27: Hoare triple {7718#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7725#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 04:43:16,876 INFO L272 TraceCheckUtils]: 28: Hoare triple {7725#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7637#true} is VALID [2022-04-28 04:43:16,876 INFO L290 TraceCheckUtils]: 29: Hoare triple {7637#true} ~cond := #in~cond; {7732#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:16,877 INFO L290 TraceCheckUtils]: 30: Hoare triple {7732#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:16,877 INFO L290 TraceCheckUtils]: 31: Hoare triple {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:16,877 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} {7725#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #65#return; {7743#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-28 04:43:16,878 INFO L290 TraceCheckUtils]: 33: Hoare triple {7743#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} assume !!(~x~0 <= ~X~0); {7743#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-28 04:43:16,879 INFO L290 TraceCheckUtils]: 34: Hoare triple {7743#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {7750#(= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0)} is VALID [2022-04-28 04:43:16,879 INFO L290 TraceCheckUtils]: 35: Hoare triple {7750#(= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7750#(= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0)} is VALID [2022-04-28 04:43:16,879 INFO L290 TraceCheckUtils]: 36: Hoare triple {7750#(= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7757#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:43:16,879 INFO L272 TraceCheckUtils]: 37: Hoare triple {7757#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7637#true} is VALID [2022-04-28 04:43:16,880 INFO L290 TraceCheckUtils]: 38: Hoare triple {7637#true} ~cond := #in~cond; {7732#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:16,880 INFO L290 TraceCheckUtils]: 39: Hoare triple {7732#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:16,880 INFO L290 TraceCheckUtils]: 40: Hoare triple {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:16,881 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} {7757#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {7773#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:43:16,882 INFO L290 TraceCheckUtils]: 42: Hoare triple {7773#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {7773#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:43:16,883 INFO L290 TraceCheckUtils]: 43: Hoare triple {7773#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7780#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0))))} is VALID [2022-04-28 04:43:16,900 INFO L290 TraceCheckUtils]: 44: Hoare triple {7780#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7784#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 6))))} is VALID [2022-04-28 04:43:18,904 WARN L290 TraceCheckUtils]: 45: Hoare triple {7784#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 6))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7788#(or (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) 0) (= (mod main_~yx~0 main_~Y~0) 0) (= (mod (+ (* (div main_~yx~0 main_~Y~0) (- 2) main_~Y~0) main_~X~0 main_~v~0) 2) 0) (not (= main_~Y~0 0))) (and (exists ((main_~x~0 Int) (main_~y~0 Int)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2)))) (= main_~yx~0 0) (= main_~Y~0 0)))) (and (or (and (= (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) 0) (= main_~X~0 (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0))) (= main_~yx~0 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0)) (and (= (mod (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (+ (* main_~Y~0 2 (+ (- 1) (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0))) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 6))) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)))} is UNKNOWN [2022-04-28 04:43:18,912 INFO L272 TraceCheckUtils]: 46: Hoare triple {7788#(or (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) 0) (= (mod main_~yx~0 main_~Y~0) 0) (= (mod (+ (* (div main_~yx~0 main_~Y~0) (- 2) main_~Y~0) main_~X~0 main_~v~0) 2) 0) (not (= main_~Y~0 0))) (and (exists ((main_~x~0 Int) (main_~y~0 Int)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2)))) (= main_~yx~0 0) (= main_~Y~0 0)))) (and (or (and (= (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) 0) (= main_~X~0 (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0))) (= main_~yx~0 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0)) (and (= (mod (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (= (+ (* main_~Y~0 2 (+ (- 1) (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0))) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 6))) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7792#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:43:18,913 INFO L290 TraceCheckUtils]: 47: Hoare triple {7792#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7796#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:18,913 INFO L290 TraceCheckUtils]: 48: Hoare triple {7796#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7638#false} is VALID [2022-04-28 04:43:18,913 INFO L290 TraceCheckUtils]: 49: Hoare triple {7638#false} assume !false; {7638#false} is VALID [2022-04-28 04:43:18,913 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 04:43:18,913 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:43:23,512 INFO L290 TraceCheckUtils]: 49: Hoare triple {7638#false} assume !false; {7638#false} is VALID [2022-04-28 04:43:23,513 INFO L290 TraceCheckUtils]: 48: Hoare triple {7796#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7638#false} is VALID [2022-04-28 04:43:23,513 INFO L290 TraceCheckUtils]: 47: Hoare triple {7792#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7796#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:23,514 INFO L272 TraceCheckUtils]: 46: Hoare triple {7812#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7792#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:43:23,515 INFO L290 TraceCheckUtils]: 45: Hoare triple {7816#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7812#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:43:23,517 INFO L290 TraceCheckUtils]: 44: Hoare triple {7820#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7816#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:43:23,518 INFO L290 TraceCheckUtils]: 43: Hoare triple {7816#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7820#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:43:23,518 INFO L290 TraceCheckUtils]: 42: Hoare triple {7816#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {7816#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:43:23,519 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} {7830#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {7816#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:43:23,520 INFO L290 TraceCheckUtils]: 40: Hoare triple {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:23,520 INFO L290 TraceCheckUtils]: 39: Hoare triple {7840#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7736#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:23,520 INFO L290 TraceCheckUtils]: 38: Hoare triple {7637#true} ~cond := #in~cond; {7840#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:43:23,521 INFO L272 TraceCheckUtils]: 37: Hoare triple {7830#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7637#true} is VALID [2022-04-28 04:43:23,521 INFO L290 TraceCheckUtils]: 36: Hoare triple {7637#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7830#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 04:43:23,521 INFO L290 TraceCheckUtils]: 35: Hoare triple {7637#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7637#true} is VALID [2022-04-28 04:43:23,522 INFO L290 TraceCheckUtils]: 34: Hoare triple {7637#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {7637#true} is VALID [2022-04-28 04:43:23,522 INFO L290 TraceCheckUtils]: 33: Hoare triple {7637#true} assume !!(~x~0 <= ~X~0); {7637#true} is VALID [2022-04-28 04:43:23,522 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7637#true} {7637#true} #65#return; {7637#true} is VALID [2022-04-28 04:43:23,522 INFO L290 TraceCheckUtils]: 31: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-28 04:43:23,522 INFO L290 TraceCheckUtils]: 30: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-28 04:43:23,522 INFO L290 TraceCheckUtils]: 29: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-28 04:43:23,522 INFO L272 TraceCheckUtils]: 28: Hoare triple {7637#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7637#true} is VALID [2022-04-28 04:43:23,522 INFO L290 TraceCheckUtils]: 27: Hoare triple {7637#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7637#true} is VALID [2022-04-28 04:43:23,522 INFO L290 TraceCheckUtils]: 26: Hoare triple {7637#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7637#true} is VALID [2022-04-28 04:43:23,522 INFO L290 TraceCheckUtils]: 25: Hoare triple {7637#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7637#true} is VALID [2022-04-28 04:43:23,522 INFO L290 TraceCheckUtils]: 24: Hoare triple {7637#true} assume !!(~x~0 <= ~X~0); {7637#true} is VALID [2022-04-28 04:43:23,522 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7637#true} {7637#true} #65#return; {7637#true} is VALID [2022-04-28 04:43:23,522 INFO L290 TraceCheckUtils]: 22: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-28 04:43:23,523 INFO L290 TraceCheckUtils]: 21: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-28 04:43:23,523 INFO L290 TraceCheckUtils]: 20: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-28 04:43:23,523 INFO L272 TraceCheckUtils]: 19: Hoare triple {7637#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7637#true} is VALID [2022-04-28 04:43:23,523 INFO L290 TraceCheckUtils]: 18: Hoare triple {7637#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7637#true} is VALID [2022-04-28 04:43:23,523 INFO L290 TraceCheckUtils]: 17: Hoare triple {7637#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7637#true} is VALID [2022-04-28 04:43:23,523 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7637#true} {7637#true} #63#return; {7637#true} is VALID [2022-04-28 04:43:23,523 INFO L290 TraceCheckUtils]: 15: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-28 04:43:23,523 INFO L290 TraceCheckUtils]: 14: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-28 04:43:23,523 INFO L290 TraceCheckUtils]: 13: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-28 04:43:23,523 INFO L272 TraceCheckUtils]: 12: Hoare triple {7637#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {7637#true} is VALID [2022-04-28 04:43:23,523 INFO L290 TraceCheckUtils]: 11: Hoare triple {7637#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7637#true} is VALID [2022-04-28 04:43:23,523 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7637#true} {7637#true} #61#return; {7637#true} is VALID [2022-04-28 04:43:23,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-28 04:43:23,524 INFO L290 TraceCheckUtils]: 8: Hoare triple {7637#true} assume !(0 == ~cond); {7637#true} is VALID [2022-04-28 04:43:23,524 INFO L290 TraceCheckUtils]: 7: Hoare triple {7637#true} ~cond := #in~cond; {7637#true} is VALID [2022-04-28 04:43:23,524 INFO L272 TraceCheckUtils]: 6: Hoare triple {7637#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {7637#true} is VALID [2022-04-28 04:43:23,524 INFO L290 TraceCheckUtils]: 5: Hoare triple {7637#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {7637#true} is VALID [2022-04-28 04:43:23,524 INFO L272 TraceCheckUtils]: 4: Hoare triple {7637#true} call #t~ret8 := main(); {7637#true} is VALID [2022-04-28 04:43:23,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7637#true} {7637#true} #69#return; {7637#true} is VALID [2022-04-28 04:43:23,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {7637#true} assume true; {7637#true} is VALID [2022-04-28 04:43:23,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {7637#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {7637#true} is VALID [2022-04-28 04:43:23,524 INFO L272 TraceCheckUtils]: 0: Hoare triple {7637#true} call ULTIMATE.init(); {7637#true} is VALID [2022-04-28 04:43:23,524 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-28 04:43:23,525 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:43:23,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1969664293] [2022-04-28 04:43:23,525 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:43:23,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1418753484] [2022-04-28 04:43:23,525 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1418753484] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:43:23,525 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:43:23,525 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 10] total 21 [2022-04-28 04:43:23,525 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:43:23,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1976680648] [2022-04-28 04:43:23,525 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1976680648] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:43:23,525 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:43:23,525 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 04:43:23,526 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1094353482] [2022-04-28 04:43:23,526 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:43:23,526 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 04:43:23,526 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:43:23,526 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:25,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:43:25,584 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 04:43:25,584 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:43:25,584 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 04:43:25,584 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=364, Unknown=1, NotChecked=0, Total=420 [2022-04-28 04:43:25,585 INFO L87 Difference]: Start difference. First operand 79 states and 85 transitions. Second operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:36,480 WARN L232 SmtUtils]: Spent 6.64s on a formula simplification. DAG size of input: 85 DAG size of output: 85 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 04:43:36,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:36,637 INFO L93 Difference]: Finished difference Result 93 states and 100 transitions. [2022-04-28 04:43:36,638 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 04:43:36,638 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 04:43:36,638 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:43:36,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:36,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-04-28 04:43:36,639 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:36,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-04-28 04:43:36,640 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 58 transitions. [2022-04-28 04:43:38,704 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 57 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:43:38,706 INFO L225 Difference]: With dead ends: 93 [2022-04-28 04:43:38,706 INFO L226 Difference]: Without dead ends: 91 [2022-04-28 04:43:38,707 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 78 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 12.5s TimeCoverageRelationStatistics Valid=88, Invalid=560, Unknown=2, NotChecked=0, Total=650 [2022-04-28 04:43:38,707 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 18 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 302 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 210 SdHoareTripleChecker+Invalid, 344 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 302 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 39 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:43:38,707 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 210 Invalid, 344 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 302 Invalid, 0 Unknown, 39 Unchecked, 0.7s Time] [2022-04-28 04:43:38,707 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-28 04:43:38,883 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 91. [2022-04-28 04:43:38,883 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:43:38,883 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 91 states, 66 states have (on average 1.0909090909090908) internal successors, (72), 68 states have internal predecessors, (72), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:43:38,883 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 91 states, 66 states have (on average 1.0909090909090908) internal successors, (72), 68 states have internal predecessors, (72), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:43:38,884 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 91 states, 66 states have (on average 1.0909090909090908) internal successors, (72), 68 states have internal predecessors, (72), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:43:38,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:38,885 INFO L93 Difference]: Finished difference Result 91 states and 98 transitions. [2022-04-28 04:43:38,885 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 98 transitions. [2022-04-28 04:43:38,886 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:38,886 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:38,886 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 66 states have (on average 1.0909090909090908) internal successors, (72), 68 states have internal predecessors, (72), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 91 states. [2022-04-28 04:43:38,886 INFO L87 Difference]: Start difference. First operand has 91 states, 66 states have (on average 1.0909090909090908) internal successors, (72), 68 states have internal predecessors, (72), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 91 states. [2022-04-28 04:43:38,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:38,888 INFO L93 Difference]: Finished difference Result 91 states and 98 transitions. [2022-04-28 04:43:38,888 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 98 transitions. [2022-04-28 04:43:38,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:38,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:38,888 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:43:38,888 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:43:38,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 66 states have (on average 1.0909090909090908) internal successors, (72), 68 states have internal predecessors, (72), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:43:38,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 98 transitions. [2022-04-28 04:43:38,890 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 98 transitions. Word has length 50 [2022-04-28 04:43:38,890 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:43:38,890 INFO L495 AbstractCegarLoop]: Abstraction has 91 states and 98 transitions. [2022-04-28 04:43:38,890 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:38,890 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 98 transitions. [2022-04-28 04:43:41,082 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 97 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:43:41,082 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 98 transitions. [2022-04-28 04:43:41,083 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:43:41,083 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:43:41,083 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:43:41,099 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-28 04:43:41,291 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 04:43:41,293 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:43:41,294 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:43:41,294 INFO L85 PathProgramCache]: Analyzing trace with hash -322489421, now seen corresponding path program 9 times [2022-04-28 04:43:41,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:43:41,294 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1820032976] [2022-04-28 04:43:41,294 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:43:41,294 INFO L85 PathProgramCache]: Analyzing trace with hash -322489421, now seen corresponding path program 10 times [2022-04-28 04:43:41,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:43:41,294 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1359105390] [2022-04-28 04:43:41,294 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:43:41,295 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:43:41,302 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:43:41,302 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [852768007] [2022-04-28 04:43:41,303 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:43:41,303 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:43:41,303 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:43:41,304 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:43:41,304 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 04:43:41,342 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:43:41,342 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:43:41,343 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 04:43:41,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:43:41,352 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:43:41,736 INFO L272 TraceCheckUtils]: 0: Hoare triple {8517#true} call ULTIMATE.init(); {8517#true} is VALID [2022-04-28 04:43:41,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {8517#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {8517#true} is VALID [2022-04-28 04:43:41,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-28 04:43:41,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8517#true} {8517#true} #69#return; {8517#true} is VALID [2022-04-28 04:43:41,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {8517#true} call #t~ret8 := main(); {8517#true} is VALID [2022-04-28 04:43:41,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {8517#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {8517#true} is VALID [2022-04-28 04:43:41,737 INFO L272 TraceCheckUtils]: 6: Hoare triple {8517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {8517#true} is VALID [2022-04-28 04:43:41,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-28 04:43:41,737 INFO L290 TraceCheckUtils]: 8: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-28 04:43:41,737 INFO L290 TraceCheckUtils]: 9: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-28 04:43:41,737 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8517#true} {8517#true} #61#return; {8517#true} is VALID [2022-04-28 04:43:41,737 INFO L290 TraceCheckUtils]: 11: Hoare triple {8517#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8517#true} is VALID [2022-04-28 04:43:41,737 INFO L272 TraceCheckUtils]: 12: Hoare triple {8517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {8517#true} is VALID [2022-04-28 04:43:41,737 INFO L290 TraceCheckUtils]: 13: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-28 04:43:41,738 INFO L290 TraceCheckUtils]: 14: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-28 04:43:41,738 INFO L290 TraceCheckUtils]: 15: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-28 04:43:41,738 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8517#true} {8517#true} #63#return; {8517#true} is VALID [2022-04-28 04:43:41,738 INFO L290 TraceCheckUtils]: 17: Hoare triple {8517#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-28 04:43:41,738 INFO L290 TraceCheckUtils]: 18: Hoare triple {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-28 04:43:41,738 INFO L272 TraceCheckUtils]: 19: Hoare triple {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8517#true} is VALID [2022-04-28 04:43:41,739 INFO L290 TraceCheckUtils]: 20: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-28 04:43:41,739 INFO L290 TraceCheckUtils]: 21: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-28 04:43:41,739 INFO L290 TraceCheckUtils]: 22: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-28 04:43:41,739 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8517#true} {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} #65#return; {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-28 04:43:41,739 INFO L290 TraceCheckUtils]: 24: Hoare triple {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-28 04:43:41,740 INFO L290 TraceCheckUtils]: 25: Hoare triple {8573#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-28 04:43:41,741 INFO L290 TraceCheckUtils]: 26: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-28 04:43:41,741 INFO L290 TraceCheckUtils]: 27: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-28 04:43:41,741 INFO L272 TraceCheckUtils]: 28: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8517#true} is VALID [2022-04-28 04:43:41,741 INFO L290 TraceCheckUtils]: 29: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-28 04:43:41,741 INFO L290 TraceCheckUtils]: 30: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-28 04:43:41,741 INFO L290 TraceCheckUtils]: 31: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-28 04:43:41,742 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8517#true} {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} #65#return; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-28 04:43:41,742 INFO L290 TraceCheckUtils]: 33: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !!(~x~0 <= ~X~0); {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-28 04:43:41,743 INFO L290 TraceCheckUtils]: 34: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-28 04:43:41,743 INFO L290 TraceCheckUtils]: 35: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-28 04:43:41,743 INFO L290 TraceCheckUtils]: 36: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-28 04:43:41,744 INFO L272 TraceCheckUtils]: 37: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8517#true} is VALID [2022-04-28 04:43:41,744 INFO L290 TraceCheckUtils]: 38: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-28 04:43:41,744 INFO L290 TraceCheckUtils]: 39: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-28 04:43:41,744 INFO L290 TraceCheckUtils]: 40: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-28 04:43:41,744 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8517#true} {8626#(<= (div main_~v~0 (- 2)) 0)} #65#return; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-28 04:43:41,744 INFO L290 TraceCheckUtils]: 42: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} assume !!(~x~0 <= ~X~0); {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-28 04:43:41,745 INFO L290 TraceCheckUtils]: 43: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8518#false} is VALID [2022-04-28 04:43:41,745 INFO L290 TraceCheckUtils]: 44: Hoare triple {8518#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8518#false} is VALID [2022-04-28 04:43:41,745 INFO L290 TraceCheckUtils]: 45: Hoare triple {8518#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8518#false} is VALID [2022-04-28 04:43:41,745 INFO L272 TraceCheckUtils]: 46: Hoare triple {8518#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8518#false} is VALID [2022-04-28 04:43:41,745 INFO L290 TraceCheckUtils]: 47: Hoare triple {8518#false} ~cond := #in~cond; {8518#false} is VALID [2022-04-28 04:43:41,745 INFO L290 TraceCheckUtils]: 48: Hoare triple {8518#false} assume 0 == ~cond; {8518#false} is VALID [2022-04-28 04:43:41,745 INFO L290 TraceCheckUtils]: 49: Hoare triple {8518#false} assume !false; {8518#false} is VALID [2022-04-28 04:43:41,746 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:43:41,746 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:43:42,238 INFO L290 TraceCheckUtils]: 49: Hoare triple {8518#false} assume !false; {8518#false} is VALID [2022-04-28 04:43:42,238 INFO L290 TraceCheckUtils]: 48: Hoare triple {8518#false} assume 0 == ~cond; {8518#false} is VALID [2022-04-28 04:43:42,238 INFO L290 TraceCheckUtils]: 47: Hoare triple {8518#false} ~cond := #in~cond; {8518#false} is VALID [2022-04-28 04:43:42,238 INFO L272 TraceCheckUtils]: 46: Hoare triple {8518#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8518#false} is VALID [2022-04-28 04:43:42,238 INFO L290 TraceCheckUtils]: 45: Hoare triple {8518#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8518#false} is VALID [2022-04-28 04:43:42,238 INFO L290 TraceCheckUtils]: 44: Hoare triple {8518#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8518#false} is VALID [2022-04-28 04:43:42,239 INFO L290 TraceCheckUtils]: 43: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8518#false} is VALID [2022-04-28 04:43:42,239 INFO L290 TraceCheckUtils]: 42: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} assume !!(~x~0 <= ~X~0); {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-28 04:43:42,240 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8517#true} {8626#(<= (div main_~v~0 (- 2)) 0)} #65#return; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-28 04:43:42,240 INFO L290 TraceCheckUtils]: 40: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-28 04:43:42,240 INFO L290 TraceCheckUtils]: 39: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-28 04:43:42,240 INFO L290 TraceCheckUtils]: 38: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-28 04:43:42,240 INFO L272 TraceCheckUtils]: 37: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8517#true} is VALID [2022-04-28 04:43:42,240 INFO L290 TraceCheckUtils]: 36: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-28 04:43:42,240 INFO L290 TraceCheckUtils]: 35: Hoare triple {8626#(<= (div main_~v~0 (- 2)) 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-28 04:43:42,241 INFO L290 TraceCheckUtils]: 34: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8626#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-28 04:43:42,241 INFO L290 TraceCheckUtils]: 33: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !!(~x~0 <= ~X~0); {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-28 04:43:42,242 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8517#true} {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} #65#return; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-28 04:43:42,242 INFO L290 TraceCheckUtils]: 31: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-28 04:43:42,242 INFO L290 TraceCheckUtils]: 30: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-28 04:43:42,242 INFO L290 TraceCheckUtils]: 29: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-28 04:43:42,242 INFO L272 TraceCheckUtils]: 28: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8517#true} is VALID [2022-04-28 04:43:42,243 INFO L290 TraceCheckUtils]: 27: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-28 04:43:42,243 INFO L290 TraceCheckUtils]: 26: Hoare triple {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-28 04:43:42,244 INFO L290 TraceCheckUtils]: 25: Hoare triple {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {8598#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-28 04:43:42,244 INFO L290 TraceCheckUtils]: 24: Hoare triple {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} assume !!(~x~0 <= ~X~0); {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-28 04:43:42,244 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8517#true} {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} #65#return; {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-28 04:43:42,245 INFO L290 TraceCheckUtils]: 22: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-28 04:43:42,245 INFO L290 TraceCheckUtils]: 21: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-28 04:43:42,245 INFO L290 TraceCheckUtils]: 20: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-28 04:43:42,245 INFO L272 TraceCheckUtils]: 19: Hoare triple {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8517#true} is VALID [2022-04-28 04:43:42,245 INFO L290 TraceCheckUtils]: 18: Hoare triple {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-28 04:43:42,246 INFO L290 TraceCheckUtils]: 17: Hoare triple {8517#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8744#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-28 04:43:42,246 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8517#true} {8517#true} #63#return; {8517#true} is VALID [2022-04-28 04:43:42,246 INFO L290 TraceCheckUtils]: 15: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-28 04:43:42,246 INFO L290 TraceCheckUtils]: 14: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-28 04:43:42,246 INFO L290 TraceCheckUtils]: 13: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-28 04:43:42,246 INFO L272 TraceCheckUtils]: 12: Hoare triple {8517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {8517#true} is VALID [2022-04-28 04:43:42,246 INFO L290 TraceCheckUtils]: 11: Hoare triple {8517#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8517#true} is VALID [2022-04-28 04:43:42,246 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8517#true} {8517#true} #61#return; {8517#true} is VALID [2022-04-28 04:43:42,246 INFO L290 TraceCheckUtils]: 9: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-28 04:43:42,247 INFO L290 TraceCheckUtils]: 8: Hoare triple {8517#true} assume !(0 == ~cond); {8517#true} is VALID [2022-04-28 04:43:42,247 INFO L290 TraceCheckUtils]: 7: Hoare triple {8517#true} ~cond := #in~cond; {8517#true} is VALID [2022-04-28 04:43:42,247 INFO L272 TraceCheckUtils]: 6: Hoare triple {8517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {8517#true} is VALID [2022-04-28 04:43:42,247 INFO L290 TraceCheckUtils]: 5: Hoare triple {8517#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {8517#true} is VALID [2022-04-28 04:43:42,247 INFO L272 TraceCheckUtils]: 4: Hoare triple {8517#true} call #t~ret8 := main(); {8517#true} is VALID [2022-04-28 04:43:42,247 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8517#true} {8517#true} #69#return; {8517#true} is VALID [2022-04-28 04:43:42,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {8517#true} assume true; {8517#true} is VALID [2022-04-28 04:43:42,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {8517#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {8517#true} is VALID [2022-04-28 04:43:42,247 INFO L272 TraceCheckUtils]: 0: Hoare triple {8517#true} call ULTIMATE.init(); {8517#true} is VALID [2022-04-28 04:43:42,247 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:43:42,247 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:43:42,248 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1359105390] [2022-04-28 04:43:42,248 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:43:42,248 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [852768007] [2022-04-28 04:43:42,248 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [852768007] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:43:42,248 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:43:42,248 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2022-04-28 04:43:42,248 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:43:42,248 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1820032976] [2022-04-28 04:43:42,248 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1820032976] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:43:42,248 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:43:42,248 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:43:42,248 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [517302714] [2022-04-28 04:43:42,248 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:43:42,249 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 04:43:42,249 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:43:42,249 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:42,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:43:42,278 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:43:42,278 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:43:42,278 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:43:42,278 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-28 04:43:42,278 INFO L87 Difference]: Start difference. First operand 91 states and 98 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:42,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:42,672 INFO L93 Difference]: Finished difference Result 109 states and 120 transitions. [2022-04-28 04:43:42,672 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 04:43:42,672 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 04:43:42,672 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:43:42,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:42,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 04:43:42,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:42,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 04:43:42,674 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 04:43:42,724 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:43:42,725 INFO L225 Difference]: With dead ends: 109 [2022-04-28 04:43:42,726 INFO L226 Difference]: Without dead ends: 96 [2022-04-28 04:43:42,726 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 93 SyntacticMatches, 2 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-04-28 04:43:42,726 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 0 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 63 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 97 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 63 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:43:42,727 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 97 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 63 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:43:42,727 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-28 04:43:42,920 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 96. [2022-04-28 04:43:42,920 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:43:42,921 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:43:42,921 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:43:42,921 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:43:42,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:42,923 INFO L93 Difference]: Finished difference Result 96 states and 104 transitions. [2022-04-28 04:43:42,923 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 104 transitions. [2022-04-28 04:43:42,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:42,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:42,924 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 96 states. [2022-04-28 04:43:42,924 INFO L87 Difference]: Start difference. First operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 96 states. [2022-04-28 04:43:42,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:42,925 INFO L93 Difference]: Finished difference Result 96 states and 104 transitions. [2022-04-28 04:43:42,926 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 104 transitions. [2022-04-28 04:43:42,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:42,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:42,926 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:43:42,926 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:43:42,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:43:42,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 104 transitions. [2022-04-28 04:43:42,927 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 104 transitions. Word has length 50 [2022-04-28 04:43:42,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:43:42,928 INFO L495 AbstractCegarLoop]: Abstraction has 96 states and 104 transitions. [2022-04-28 04:43:42,928 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:42,928 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 96 states and 104 transitions. [2022-04-28 04:43:45,144 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 103 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:43:45,145 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 104 transitions. [2022-04-28 04:43:45,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:43:45,145 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:43:45,145 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:43:45,161 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 04:43:45,345 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 04:43:45,346 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:43:45,346 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:43:45,346 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 11 times [2022-04-28 04:43:45,346 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:43:45,346 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [20962867] [2022-04-28 04:43:45,347 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:43:45,347 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 12 times [2022-04-28 04:43:45,347 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:43:45,347 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1736323944] [2022-04-28 04:43:45,347 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:43:45,347 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:43:45,360 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:43:45,360 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [726898553] [2022-04-28 04:43:45,360 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:43:45,360 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:43:45,360 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:43:45,361 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:43:45,361 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 04:43:45,408 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 04:43:45,409 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:43:45,410 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 04:43:45,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:43:45,420 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:43:45,766 INFO L272 TraceCheckUtils]: 0: Hoare triple {9426#true} call ULTIMATE.init(); {9426#true} is VALID [2022-04-28 04:43:45,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {9426#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {9426#true} is VALID [2022-04-28 04:43:45,767 INFO L290 TraceCheckUtils]: 2: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-28 04:43:45,767 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9426#true} {9426#true} #69#return; {9426#true} is VALID [2022-04-28 04:43:45,767 INFO L272 TraceCheckUtils]: 4: Hoare triple {9426#true} call #t~ret8 := main(); {9426#true} is VALID [2022-04-28 04:43:45,767 INFO L290 TraceCheckUtils]: 5: Hoare triple {9426#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {9426#true} is VALID [2022-04-28 04:43:45,767 INFO L272 TraceCheckUtils]: 6: Hoare triple {9426#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {9426#true} is VALID [2022-04-28 04:43:45,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-28 04:43:45,767 INFO L290 TraceCheckUtils]: 8: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-28 04:43:45,767 INFO L290 TraceCheckUtils]: 9: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-28 04:43:45,767 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9426#true} {9426#true} #61#return; {9426#true} is VALID [2022-04-28 04:43:45,767 INFO L290 TraceCheckUtils]: 11: Hoare triple {9426#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9426#true} is VALID [2022-04-28 04:43:45,767 INFO L272 TraceCheckUtils]: 12: Hoare triple {9426#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {9426#true} is VALID [2022-04-28 04:43:45,767 INFO L290 TraceCheckUtils]: 13: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-28 04:43:45,767 INFO L290 TraceCheckUtils]: 14: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-28 04:43:45,768 INFO L290 TraceCheckUtils]: 15: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-28 04:43:45,768 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9426#true} {9426#true} #63#return; {9426#true} is VALID [2022-04-28 04:43:45,768 INFO L290 TraceCheckUtils]: 17: Hoare triple {9426#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:43:45,768 INFO L290 TraceCheckUtils]: 18: Hoare triple {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:43:45,768 INFO L272 TraceCheckUtils]: 19: Hoare triple {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9426#true} is VALID [2022-04-28 04:43:45,769 INFO L290 TraceCheckUtils]: 20: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-28 04:43:45,769 INFO L290 TraceCheckUtils]: 21: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-28 04:43:45,769 INFO L290 TraceCheckUtils]: 22: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-28 04:43:45,769 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9426#true} {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:43:45,770 INFO L290 TraceCheckUtils]: 24: Hoare triple {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:43:45,770 INFO L290 TraceCheckUtils]: 25: Hoare triple {9482#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9507#(and (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:43:45,771 INFO L290 TraceCheckUtils]: 26: Hoare triple {9507#(and (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9511#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:43:45,771 INFO L290 TraceCheckUtils]: 27: Hoare triple {9511#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9515#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:43:45,771 INFO L272 TraceCheckUtils]: 28: Hoare triple {9515#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9426#true} is VALID [2022-04-28 04:43:45,771 INFO L290 TraceCheckUtils]: 29: Hoare triple {9426#true} ~cond := #in~cond; {9522#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:45,772 INFO L290 TraceCheckUtils]: 30: Hoare triple {9522#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:45,772 INFO L290 TraceCheckUtils]: 31: Hoare triple {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:45,773 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} {9515#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {9511#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:43:45,773 INFO L290 TraceCheckUtils]: 33: Hoare triple {9511#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {9511#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:43:45,774 INFO L290 TraceCheckUtils]: 34: Hoare triple {9511#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9539#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-28 04:43:45,774 INFO L290 TraceCheckUtils]: 35: Hoare triple {9539#(and (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} is VALID [2022-04-28 04:43:45,774 INFO L290 TraceCheckUtils]: 36: Hoare triple {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} is VALID [2022-04-28 04:43:45,774 INFO L272 TraceCheckUtils]: 37: Hoare triple {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9426#true} is VALID [2022-04-28 04:43:45,775 INFO L290 TraceCheckUtils]: 38: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-28 04:43:45,775 INFO L290 TraceCheckUtils]: 39: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-28 04:43:45,775 INFO L290 TraceCheckUtils]: 40: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-28 04:43:45,775 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9426#true} {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} #65#return; {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} is VALID [2022-04-28 04:43:45,776 INFO L290 TraceCheckUtils]: 42: Hoare triple {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} assume !!(~x~0 <= ~X~0); {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} is VALID [2022-04-28 04:43:45,776 INFO L290 TraceCheckUtils]: 43: Hoare triple {9543#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9568#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 5)))))} is VALID [2022-04-28 04:43:45,777 INFO L290 TraceCheckUtils]: 44: Hoare triple {9568#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 5)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9572#(and (= main_~x~0 3) (= (+ (- 1) main_~y~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 5)))))} is VALID [2022-04-28 04:43:45,777 INFO L290 TraceCheckUtils]: 45: Hoare triple {9572#(and (= main_~x~0 3) (= (+ (- 1) main_~y~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 5)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9576#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 5)))))} is VALID [2022-04-28 04:43:45,778 INFO L272 TraceCheckUtils]: 46: Hoare triple {9576#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 5)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9580#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:43:45,778 INFO L290 TraceCheckUtils]: 47: Hoare triple {9580#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9584#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:45,778 INFO L290 TraceCheckUtils]: 48: Hoare triple {9584#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9427#false} is VALID [2022-04-28 04:43:45,779 INFO L290 TraceCheckUtils]: 49: Hoare triple {9427#false} assume !false; {9427#false} is VALID [2022-04-28 04:43:45,779 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 8 proven. 25 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 04:43:45,779 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:43:50,976 INFO L290 TraceCheckUtils]: 49: Hoare triple {9427#false} assume !false; {9427#false} is VALID [2022-04-28 04:43:50,976 INFO L290 TraceCheckUtils]: 48: Hoare triple {9584#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9427#false} is VALID [2022-04-28 04:43:50,976 INFO L290 TraceCheckUtils]: 47: Hoare triple {9580#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9584#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:50,977 INFO L272 TraceCheckUtils]: 46: Hoare triple {9600#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9580#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:43:50,978 INFO L290 TraceCheckUtils]: 45: Hoare triple {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9600#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:43:50,980 INFO L290 TraceCheckUtils]: 44: Hoare triple {9608#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:43:50,981 INFO L290 TraceCheckUtils]: 43: Hoare triple {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9608#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:43:50,982 INFO L290 TraceCheckUtils]: 42: Hoare triple {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:43:50,982 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9426#true} {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:43:50,983 INFO L290 TraceCheckUtils]: 40: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-28 04:43:50,983 INFO L290 TraceCheckUtils]: 39: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-28 04:43:50,983 INFO L290 TraceCheckUtils]: 38: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-28 04:43:50,983 INFO L272 TraceCheckUtils]: 37: Hoare triple {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9426#true} is VALID [2022-04-28 04:43:50,983 INFO L290 TraceCheckUtils]: 36: Hoare triple {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:43:50,985 INFO L290 TraceCheckUtils]: 35: Hoare triple {9608#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:43:50,985 INFO L290 TraceCheckUtils]: 34: Hoare triple {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9608#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:43:50,986 INFO L290 TraceCheckUtils]: 33: Hoare triple {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:43:50,987 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} {9645#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {9604#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:43:50,987 INFO L290 TraceCheckUtils]: 31: Hoare triple {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:50,987 INFO L290 TraceCheckUtils]: 30: Hoare triple {9655#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9526#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:50,988 INFO L290 TraceCheckUtils]: 29: Hoare triple {9426#true} ~cond := #in~cond; {9655#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:43:50,988 INFO L272 TraceCheckUtils]: 28: Hoare triple {9645#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9426#true} is VALID [2022-04-28 04:43:50,989 INFO L290 TraceCheckUtils]: 27: Hoare triple {9426#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9645#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 04:43:50,989 INFO L290 TraceCheckUtils]: 26: Hoare triple {9426#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9426#true} is VALID [2022-04-28 04:43:50,989 INFO L290 TraceCheckUtils]: 25: Hoare triple {9426#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9426#true} is VALID [2022-04-28 04:43:50,989 INFO L290 TraceCheckUtils]: 24: Hoare triple {9426#true} assume !!(~x~0 <= ~X~0); {9426#true} is VALID [2022-04-28 04:43:50,989 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9426#true} {9426#true} #65#return; {9426#true} is VALID [2022-04-28 04:43:50,989 INFO L290 TraceCheckUtils]: 22: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-28 04:43:50,989 INFO L290 TraceCheckUtils]: 21: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-28 04:43:50,989 INFO L290 TraceCheckUtils]: 20: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-28 04:43:50,989 INFO L272 TraceCheckUtils]: 19: Hoare triple {9426#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9426#true} is VALID [2022-04-28 04:43:50,989 INFO L290 TraceCheckUtils]: 18: Hoare triple {9426#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9426#true} is VALID [2022-04-28 04:43:50,989 INFO L290 TraceCheckUtils]: 17: Hoare triple {9426#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9426#true} is VALID [2022-04-28 04:43:50,989 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9426#true} {9426#true} #63#return; {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L290 TraceCheckUtils]: 15: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L290 TraceCheckUtils]: 14: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L290 TraceCheckUtils]: 13: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L272 TraceCheckUtils]: 12: Hoare triple {9426#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L290 TraceCheckUtils]: 11: Hoare triple {9426#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9426#true} {9426#true} #61#return; {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L290 TraceCheckUtils]: 8: Hoare triple {9426#true} assume !(0 == ~cond); {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L290 TraceCheckUtils]: 7: Hoare triple {9426#true} ~cond := #in~cond; {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L272 TraceCheckUtils]: 6: Hoare triple {9426#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L290 TraceCheckUtils]: 5: Hoare triple {9426#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L272 TraceCheckUtils]: 4: Hoare triple {9426#true} call #t~ret8 := main(); {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9426#true} {9426#true} #69#return; {9426#true} is VALID [2022-04-28 04:43:50,990 INFO L290 TraceCheckUtils]: 2: Hoare triple {9426#true} assume true; {9426#true} is VALID [2022-04-28 04:43:50,991 INFO L290 TraceCheckUtils]: 1: Hoare triple {9426#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {9426#true} is VALID [2022-04-28 04:43:50,991 INFO L272 TraceCheckUtils]: 0: Hoare triple {9426#true} call ULTIMATE.init(); {9426#true} is VALID [2022-04-28 04:43:50,991 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 22 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 04:43:50,991 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:43:50,991 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1736323944] [2022-04-28 04:43:50,991 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:43:50,991 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [726898553] [2022-04-28 04:43:50,991 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [726898553] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:43:50,991 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:43:50,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 20 [2022-04-28 04:43:50,992 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:43:50,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [20962867] [2022-04-28 04:43:50,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [20962867] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:43:50,992 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:43:50,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 04:43:50,992 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [806060010] [2022-04-28 04:43:50,992 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:43:50,992 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 04:43:50,992 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:43:50,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:51,034 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:43:51,034 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 04:43:51,034 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:43:51,035 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 04:43:51,035 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=322, Unknown=0, NotChecked=0, Total=380 [2022-04-28 04:43:51,035 INFO L87 Difference]: Start difference. First operand 96 states and 104 transitions. Second operand has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:52,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:52,391 INFO L93 Difference]: Finished difference Result 109 states and 119 transitions. [2022-04-28 04:43:52,391 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 04:43:52,391 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 04:43:52,392 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:43:52,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:52,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-28 04:43:52,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:52,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-28 04:43:52,393 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 64 transitions. [2022-04-28 04:43:52,452 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:43:52,454 INFO L225 Difference]: With dead ends: 109 [2022-04-28 04:43:52,454 INFO L226 Difference]: Without dead ends: 107 [2022-04-28 04:43:52,455 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 76 SyntacticMatches, 5 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=78, Invalid=428, Unknown=0, NotChecked=0, Total=506 [2022-04-28 04:43:52,456 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 16 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 517 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 233 SdHoareTripleChecker+Invalid, 522 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 517 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:43:52,456 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 233 Invalid, 522 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 517 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 04:43:52,457 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-04-28 04:43:52,635 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 96. [2022-04-28 04:43:52,635 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:43:52,636 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:43:52,636 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:43:52,636 INFO L87 Difference]: Start difference. First operand 107 states. Second operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:43:52,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:52,637 INFO L93 Difference]: Finished difference Result 107 states and 117 transitions. [2022-04-28 04:43:52,637 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 117 transitions. [2022-04-28 04:43:52,638 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:52,638 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:52,638 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 107 states. [2022-04-28 04:43:52,638 INFO L87 Difference]: Start difference. First operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 107 states. [2022-04-28 04:43:52,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:52,640 INFO L93 Difference]: Finished difference Result 107 states and 117 transitions. [2022-04-28 04:43:52,640 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 117 transitions. [2022-04-28 04:43:52,640 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:52,640 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:52,640 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:43:52,640 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:43:52,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 72 states have internal predecessors, (76), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:43:52,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 104 transitions. [2022-04-28 04:43:52,642 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 104 transitions. Word has length 50 [2022-04-28 04:43:52,642 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:43:52,642 INFO L495 AbstractCegarLoop]: Abstraction has 96 states and 104 transitions. [2022-04-28 04:43:52,642 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:52,642 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 96 states and 104 transitions. [2022-04-28 04:43:54,851 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 103 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:43:54,852 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 104 transitions. [2022-04-28 04:43:54,852 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:43:54,852 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:43:54,852 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:43:54,868 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 04:43:55,052 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:43:55,055 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:43:55,055 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:43:55,055 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 13 times [2022-04-28 04:43:55,055 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:43:55,055 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1173399760] [2022-04-28 04:43:55,055 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:43:55,055 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 14 times [2022-04-28 04:43:55,055 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:43:55,056 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1116615883] [2022-04-28 04:43:55,056 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:43:55,056 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:43:55,065 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:43:55,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [622978960] [2022-04-28 04:43:55,066 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:43:55,066 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:43:55,066 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:43:55,067 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:43:55,068 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 04:43:55,114 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:43:55,114 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:43:55,115 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 04:43:55,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:43:55,127 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:44:08,520 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:44:14,574 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:44:25,795 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:44:54,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {10375#true} call ULTIMATE.init(); {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {10375#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10375#true} {10375#true} #69#return; {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L272 TraceCheckUtils]: 4: Hoare triple {10375#true} call #t~ret8 := main(); {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L290 TraceCheckUtils]: 5: Hoare triple {10375#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L272 TraceCheckUtils]: 6: Hoare triple {10375#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L290 TraceCheckUtils]: 7: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L290 TraceCheckUtils]: 8: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L290 TraceCheckUtils]: 9: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10375#true} {10375#true} #61#return; {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L290 TraceCheckUtils]: 11: Hoare triple {10375#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L272 TraceCheckUtils]: 12: Hoare triple {10375#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-28 04:44:54,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-28 04:44:54,432 INFO L290 TraceCheckUtils]: 15: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-28 04:44:54,432 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10375#true} {10375#true} #63#return; {10375#true} is VALID [2022-04-28 04:44:54,432 INFO L290 TraceCheckUtils]: 17: Hoare triple {10375#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-28 04:44:54,432 INFO L290 TraceCheckUtils]: 18: Hoare triple {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-28 04:44:54,432 INFO L272 TraceCheckUtils]: 19: Hoare triple {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10375#true} is VALID [2022-04-28 04:44:54,432 INFO L290 TraceCheckUtils]: 20: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-28 04:44:54,433 INFO L290 TraceCheckUtils]: 21: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-28 04:44:54,433 INFO L290 TraceCheckUtils]: 22: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-28 04:44:54,433 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10375#true} {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} #65#return; {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-28 04:44:54,433 INFO L290 TraceCheckUtils]: 24: Hoare triple {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-28 04:44:54,434 INFO L290 TraceCheckUtils]: 25: Hoare triple {10431#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-28 04:44:54,435 INFO L290 TraceCheckUtils]: 26: Hoare triple {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-28 04:44:54,435 INFO L290 TraceCheckUtils]: 27: Hoare triple {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-28 04:44:54,435 INFO L272 TraceCheckUtils]: 28: Hoare triple {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10375#true} is VALID [2022-04-28 04:44:54,436 INFO L290 TraceCheckUtils]: 29: Hoare triple {10375#true} ~cond := #in~cond; {10469#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:44:54,436 INFO L290 TraceCheckUtils]: 30: Hoare triple {10469#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:44:54,436 INFO L290 TraceCheckUtils]: 31: Hoare triple {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:44:54,437 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} #65#return; {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-28 04:44:54,437 INFO L290 TraceCheckUtils]: 33: Hoare triple {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} assume !!(~x~0 <= ~X~0); {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-28 04:44:54,438 INFO L290 TraceCheckUtils]: 34: Hoare triple {10456#(= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10486#(= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-28 04:44:54,438 INFO L290 TraceCheckUtils]: 35: Hoare triple {10486#(= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10486#(= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} is VALID [2022-04-28 04:44:54,439 INFO L290 TraceCheckUtils]: 36: Hoare triple {10486#(= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10493#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:44:54,439 INFO L272 TraceCheckUtils]: 37: Hoare triple {10493#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10375#true} is VALID [2022-04-28 04:44:54,439 INFO L290 TraceCheckUtils]: 38: Hoare triple {10375#true} ~cond := #in~cond; {10469#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:44:54,440 INFO L290 TraceCheckUtils]: 39: Hoare triple {10469#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:44:54,440 INFO L290 TraceCheckUtils]: 40: Hoare triple {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:44:54,441 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} {10493#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {10509#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:44:54,442 INFO L290 TraceCheckUtils]: 42: Hoare triple {10509#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {10509#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:44:54,442 INFO L290 TraceCheckUtils]: 43: Hoare triple {10509#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10516#(and (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:44:54,444 INFO L290 TraceCheckUtils]: 44: Hoare triple {10516#(and (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10520#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:44:56,447 WARN L290 TraceCheckUtils]: 45: Hoare triple {10520#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10524#(and (or (and (or (and (= main_~Y~0 (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)))) (= main_~yx~0 0)) (and (= (mod (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) 0) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0)))))) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is UNKNOWN [2022-04-28 04:44:56,451 INFO L272 TraceCheckUtils]: 46: Hoare triple {10524#(and (or (and (or (and (= main_~Y~0 (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)))) (= main_~yx~0 0)) (and (= (mod (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) 0) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0)))))) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10528#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:44:56,451 INFO L290 TraceCheckUtils]: 47: Hoare triple {10528#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10532#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:44:56,452 INFO L290 TraceCheckUtils]: 48: Hoare triple {10532#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10376#false} is VALID [2022-04-28 04:44:56,452 INFO L290 TraceCheckUtils]: 49: Hoare triple {10376#false} assume !false; {10376#false} is VALID [2022-04-28 04:44:56,452 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 04:44:56,452 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:45:00,275 INFO L290 TraceCheckUtils]: 49: Hoare triple {10376#false} assume !false; {10376#false} is VALID [2022-04-28 04:45:00,275 INFO L290 TraceCheckUtils]: 48: Hoare triple {10532#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10376#false} is VALID [2022-04-28 04:45:00,275 INFO L290 TraceCheckUtils]: 47: Hoare triple {10528#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10532#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:45:00,276 INFO L272 TraceCheckUtils]: 46: Hoare triple {10548#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10528#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:45:00,277 INFO L290 TraceCheckUtils]: 45: Hoare triple {10552#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10548#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:45:00,279 INFO L290 TraceCheckUtils]: 44: Hoare triple {10556#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10552#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:45:00,279 INFO L290 TraceCheckUtils]: 43: Hoare triple {10552#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10556#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:45:00,280 INFO L290 TraceCheckUtils]: 42: Hoare triple {10552#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {10552#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:45:00,281 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} {10566#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {10552#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:45:00,281 INFO L290 TraceCheckUtils]: 40: Hoare triple {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:45:00,281 INFO L290 TraceCheckUtils]: 39: Hoare triple {10576#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10473#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:45:00,281 INFO L290 TraceCheckUtils]: 38: Hoare triple {10375#true} ~cond := #in~cond; {10576#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:45:00,281 INFO L272 TraceCheckUtils]: 37: Hoare triple {10566#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10375#true} is VALID [2022-04-28 04:45:00,282 INFO L290 TraceCheckUtils]: 36: Hoare triple {10375#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10566#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-28 04:45:00,282 INFO L290 TraceCheckUtils]: 35: Hoare triple {10375#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10375#true} is VALID [2022-04-28 04:45:00,282 INFO L290 TraceCheckUtils]: 34: Hoare triple {10375#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10375#true} is VALID [2022-04-28 04:45:00,282 INFO L290 TraceCheckUtils]: 33: Hoare triple {10375#true} assume !!(~x~0 <= ~X~0); {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10375#true} {10375#true} #65#return; {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L290 TraceCheckUtils]: 31: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L290 TraceCheckUtils]: 30: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L290 TraceCheckUtils]: 29: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L272 TraceCheckUtils]: 28: Hoare triple {10375#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L290 TraceCheckUtils]: 27: Hoare triple {10375#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L290 TraceCheckUtils]: 26: Hoare triple {10375#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L290 TraceCheckUtils]: 25: Hoare triple {10375#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L290 TraceCheckUtils]: 24: Hoare triple {10375#true} assume !!(~x~0 <= ~X~0); {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10375#true} {10375#true} #65#return; {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L290 TraceCheckUtils]: 22: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L290 TraceCheckUtils]: 21: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L290 TraceCheckUtils]: 20: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-28 04:45:00,283 INFO L272 TraceCheckUtils]: 19: Hoare triple {10375#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L290 TraceCheckUtils]: 18: Hoare triple {10375#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {10375#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10375#true} {10375#true} #63#return; {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L290 TraceCheckUtils]: 15: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L290 TraceCheckUtils]: 14: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L290 TraceCheckUtils]: 13: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L272 TraceCheckUtils]: 12: Hoare triple {10375#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L290 TraceCheckUtils]: 11: Hoare triple {10375#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10375#true} {10375#true} #61#return; {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L290 TraceCheckUtils]: 9: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L290 TraceCheckUtils]: 8: Hoare triple {10375#true} assume !(0 == ~cond); {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L290 TraceCheckUtils]: 7: Hoare triple {10375#true} ~cond := #in~cond; {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L272 TraceCheckUtils]: 6: Hoare triple {10375#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L290 TraceCheckUtils]: 5: Hoare triple {10375#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {10375#true} is VALID [2022-04-28 04:45:00,284 INFO L272 TraceCheckUtils]: 4: Hoare triple {10375#true} call #t~ret8 := main(); {10375#true} is VALID [2022-04-28 04:45:00,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10375#true} {10375#true} #69#return; {10375#true} is VALID [2022-04-28 04:45:00,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {10375#true} assume true; {10375#true} is VALID [2022-04-28 04:45:00,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {10375#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {10375#true} is VALID [2022-04-28 04:45:00,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {10375#true} call ULTIMATE.init(); {10375#true} is VALID [2022-04-28 04:45:00,285 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-28 04:45:00,285 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:45:00,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1116615883] [2022-04-28 04:45:00,285 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:45:00,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [622978960] [2022-04-28 04:45:00,285 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [622978960] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:45:00,285 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:45:00,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-28 04:45:00,286 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:45:00,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1173399760] [2022-04-28 04:45:00,286 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1173399760] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:45:00,286 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:45:00,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:45:00,286 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [121749109] [2022-04-28 04:45:00,286 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:45:00,286 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 04:45:00,286 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:45:00,287 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:45:02,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:45:02,327 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:45:02,327 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:45:02,327 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:45:02,327 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=293, Unknown=0, NotChecked=0, Total=342 [2022-04-28 04:45:02,327 INFO L87 Difference]: Start difference. First operand 96 states and 104 transitions. Second operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:45:05,416 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:45:17,220 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:45:24,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:45:24,200 INFO L93 Difference]: Finished difference Result 110 states and 121 transitions. [2022-04-28 04:45:24,200 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 04:45:24,200 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 04:45:24,200 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:45:24,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:45:24,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-28 04:45:24,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:45:24,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-28 04:45:24,202 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 65 transitions. [2022-04-28 04:45:26,276 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:45:26,277 INFO L225 Difference]: With dead ends: 110 [2022-04-28 04:45:26,277 INFO L226 Difference]: Without dead ends: 108 [2022-04-28 04:45:26,278 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 79 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-28 04:45:26,278 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 17 mSDsluCounter, 180 mSDsCounter, 0 mSdLazyCounter, 389 mSolverCounterSat, 5 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 210 SdHoareTripleChecker+Invalid, 396 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 389 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:45:26,278 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 210 Invalid, 396 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 389 Invalid, 2 Unknown, 0 Unchecked, 7.3s Time] [2022-04-28 04:45:26,279 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-28 04:45:26,464 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 97. [2022-04-28 04:45:26,464 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:45:26,465 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:45:26,465 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:45:26,465 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:45:26,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:45:26,467 INFO L93 Difference]: Finished difference Result 108 states and 119 transitions. [2022-04-28 04:45:26,467 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 119 transitions. [2022-04-28 04:45:26,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:45:26,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:45:26,467 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 108 states. [2022-04-28 04:45:26,467 INFO L87 Difference]: Start difference. First operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 108 states. [2022-04-28 04:45:26,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:45:26,469 INFO L93 Difference]: Finished difference Result 108 states and 119 transitions. [2022-04-28 04:45:26,469 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 119 transitions. [2022-04-28 04:45:26,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:45:26,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:45:26,469 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:45:26,469 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:45:26,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:45:26,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 106 transitions. [2022-04-28 04:45:26,471 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 106 transitions. Word has length 50 [2022-04-28 04:45:26,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:45:26,471 INFO L495 AbstractCegarLoop]: Abstraction has 97 states and 106 transitions. [2022-04-28 04:45:26,471 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:45:26,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 106 transitions. [2022-04-28 04:45:28,787 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 105 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:45:28,787 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 106 transitions. [2022-04-28 04:45:28,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:45:28,788 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:45:28,788 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:45:28,804 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-28 04:45:28,988 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 04:45:28,988 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:45:28,989 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:45:28,989 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-28 04:45:28,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:45:28,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [51455531] [2022-04-28 04:45:28,989 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:45:28,989 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-28 04:45:28,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:45:28,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [539853392] [2022-04-28 04:45:28,989 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:45:28,989 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:45:28,997 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:45:28,997 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1088748989] [2022-04-28 04:45:28,997 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:45:28,997 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:45:28,997 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:45:28,998 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:45:29,000 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 04:45:29,044 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 04:45:29,044 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:45:29,045 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 04:45:29,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:45:29,055 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:45:29,419 INFO L272 TraceCheckUtils]: 0: Hoare triple {11331#true} call ULTIMATE.init(); {11331#true} is VALID [2022-04-28 04:45:29,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {11331#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {11331#true} is VALID [2022-04-28 04:45:29,420 INFO L290 TraceCheckUtils]: 2: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-28 04:45:29,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11331#true} {11331#true} #69#return; {11331#true} is VALID [2022-04-28 04:45:29,420 INFO L272 TraceCheckUtils]: 4: Hoare triple {11331#true} call #t~ret8 := main(); {11331#true} is VALID [2022-04-28 04:45:29,420 INFO L290 TraceCheckUtils]: 5: Hoare triple {11331#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {11331#true} is VALID [2022-04-28 04:45:29,420 INFO L272 TraceCheckUtils]: 6: Hoare triple {11331#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {11331#true} is VALID [2022-04-28 04:45:29,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-28 04:45:29,420 INFO L290 TraceCheckUtils]: 8: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-28 04:45:29,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-28 04:45:29,420 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11331#true} {11331#true} #61#return; {11331#true} is VALID [2022-04-28 04:45:29,420 INFO L290 TraceCheckUtils]: 11: Hoare triple {11331#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11331#true} is VALID [2022-04-28 04:45:29,420 INFO L272 TraceCheckUtils]: 12: Hoare triple {11331#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {11331#true} is VALID [2022-04-28 04:45:29,421 INFO L290 TraceCheckUtils]: 13: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-28 04:45:29,421 INFO L290 TraceCheckUtils]: 14: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-28 04:45:29,421 INFO L290 TraceCheckUtils]: 15: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-28 04:45:29,421 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11331#true} {11331#true} #63#return; {11331#true} is VALID [2022-04-28 04:45:29,421 INFO L290 TraceCheckUtils]: 17: Hoare triple {11331#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:45:29,421 INFO L290 TraceCheckUtils]: 18: Hoare triple {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:45:29,422 INFO L272 TraceCheckUtils]: 19: Hoare triple {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11331#true} is VALID [2022-04-28 04:45:29,422 INFO L290 TraceCheckUtils]: 20: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-28 04:45:29,422 INFO L290 TraceCheckUtils]: 21: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-28 04:45:29,422 INFO L290 TraceCheckUtils]: 22: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-28 04:45:29,422 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11331#true} {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:45:29,423 INFO L290 TraceCheckUtils]: 24: Hoare triple {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:45:29,424 INFO L290 TraceCheckUtils]: 25: Hoare triple {11387#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11412#(and (= main_~x~0 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:45:29,424 INFO L290 TraceCheckUtils]: 26: Hoare triple {11412#(and (= main_~x~0 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:45:29,424 INFO L290 TraceCheckUtils]: 27: Hoare triple {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:45:29,424 INFO L272 TraceCheckUtils]: 28: Hoare triple {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11331#true} is VALID [2022-04-28 04:45:29,425 INFO L290 TraceCheckUtils]: 29: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-28 04:45:29,425 INFO L290 TraceCheckUtils]: 30: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-28 04:45:29,425 INFO L290 TraceCheckUtils]: 31: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-28 04:45:29,425 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11331#true} {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:45:29,426 INFO L290 TraceCheckUtils]: 33: Hoare triple {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:45:29,426 INFO L290 TraceCheckUtils]: 34: Hoare triple {11416#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11441#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0))} is VALID [2022-04-28 04:45:29,427 INFO L290 TraceCheckUtils]: 35: Hoare triple {11441#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0))} is VALID [2022-04-28 04:45:29,427 INFO L290 TraceCheckUtils]: 36: Hoare triple {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0))} is VALID [2022-04-28 04:45:29,427 INFO L272 TraceCheckUtils]: 37: Hoare triple {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11331#true} is VALID [2022-04-28 04:45:29,427 INFO L290 TraceCheckUtils]: 38: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-28 04:45:29,427 INFO L290 TraceCheckUtils]: 39: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-28 04:45:29,427 INFO L290 TraceCheckUtils]: 40: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-28 04:45:29,428 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11331#true} {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0))} #65#return; {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0))} is VALID [2022-04-28 04:45:29,428 INFO L290 TraceCheckUtils]: 42: Hoare triple {11445#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0))} assume !!(~x~0 <= ~X~0); {11467#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 main_~X~0))} is VALID [2022-04-28 04:45:29,429 INFO L290 TraceCheckUtils]: 43: Hoare triple {11467#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11471#(and (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 main_~X~0) (not (< (* main_~Y~0 6) (* 5 main_~X~0))) (= main_~y~0 3) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0))} is VALID [2022-04-28 04:45:29,430 INFO L290 TraceCheckUtils]: 44: Hoare triple {11471#(and (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 main_~X~0) (not (< (* main_~Y~0 6) (* 5 main_~X~0))) (= main_~y~0 3) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11475#(and (= (+ main_~x~0 (- 3)) 0) (not (< (* main_~Y~0 6) (* 5 main_~X~0))) (= main_~y~0 3) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:45:29,430 INFO L290 TraceCheckUtils]: 45: Hoare triple {11475#(and (= (+ main_~x~0 (- 3)) 0) (not (< (* main_~Y~0 6) (* 5 main_~X~0))) (= main_~y~0 3) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11479#(and (= (* main_~Y~0 3) main_~yx~0) (not (< (* main_~Y~0 6) (* 5 main_~X~0))) (<= 2 main_~X~0) (= main_~xy~0 (* main_~X~0 3)) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0))} is VALID [2022-04-28 04:45:29,431 INFO L272 TraceCheckUtils]: 46: Hoare triple {11479#(and (= (* main_~Y~0 3) main_~yx~0) (not (< (* main_~Y~0 6) (* 5 main_~X~0))) (<= 2 main_~X~0) (= main_~xy~0 (* main_~X~0 3)) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11483#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:45:29,431 INFO L290 TraceCheckUtils]: 47: Hoare triple {11483#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11487#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:45:29,431 INFO L290 TraceCheckUtils]: 48: Hoare triple {11487#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11332#false} is VALID [2022-04-28 04:45:29,432 INFO L290 TraceCheckUtils]: 49: Hoare triple {11332#false} assume !false; {11332#false} is VALID [2022-04-28 04:45:29,432 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 6 proven. 21 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:45:29,432 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:45:29,962 INFO L290 TraceCheckUtils]: 49: Hoare triple {11332#false} assume !false; {11332#false} is VALID [2022-04-28 04:45:29,962 INFO L290 TraceCheckUtils]: 48: Hoare triple {11487#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11332#false} is VALID [2022-04-28 04:45:29,963 INFO L290 TraceCheckUtils]: 47: Hoare triple {11483#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11487#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:45:29,963 INFO L272 TraceCheckUtils]: 46: Hoare triple {11503#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11483#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:45:29,964 INFO L290 TraceCheckUtils]: 45: Hoare triple {11507#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11503#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:45:29,966 INFO L290 TraceCheckUtils]: 44: Hoare triple {11511#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11507#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:45:29,968 INFO L290 TraceCheckUtils]: 43: Hoare triple {11515#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11511#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:45:29,968 INFO L290 TraceCheckUtils]: 42: Hoare triple {11519#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {11515#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:45:29,969 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11331#true} {11519#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {11519#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:45:29,969 INFO L290 TraceCheckUtils]: 40: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-28 04:45:29,969 INFO L290 TraceCheckUtils]: 39: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-28 04:45:29,969 INFO L290 TraceCheckUtils]: 38: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-28 04:45:29,969 INFO L272 TraceCheckUtils]: 37: Hoare triple {11519#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11331#true} is VALID [2022-04-28 04:45:29,970 INFO L290 TraceCheckUtils]: 36: Hoare triple {11519#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11519#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:45:29,971 INFO L290 TraceCheckUtils]: 35: Hoare triple {11541#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11519#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:45:29,973 INFO L290 TraceCheckUtils]: 34: Hoare triple {11545#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11541#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} is VALID [2022-04-28 04:45:29,974 INFO L290 TraceCheckUtils]: 33: Hoare triple {11545#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !!(~x~0 <= ~X~0); {11545#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 04:45:29,974 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11331#true} {11545#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #65#return; {11545#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 04:45:29,974 INFO L290 TraceCheckUtils]: 31: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-28 04:45:29,974 INFO L290 TraceCheckUtils]: 30: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-28 04:45:29,975 INFO L290 TraceCheckUtils]: 29: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-28 04:45:29,975 INFO L272 TraceCheckUtils]: 28: Hoare triple {11545#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11331#true} is VALID [2022-04-28 04:45:29,975 INFO L290 TraceCheckUtils]: 27: Hoare triple {11545#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11545#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 04:45:29,977 INFO L290 TraceCheckUtils]: 26: Hoare triple {11570#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (<= (+ main_~x~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11545#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 04:45:29,979 INFO L290 TraceCheckUtils]: 25: Hoare triple {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11570#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 04:45:29,979 INFO L290 TraceCheckUtils]: 24: Hoare triple {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !!(~x~0 <= ~X~0); {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 04:45:29,980 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11331#true} {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} #65#return; {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 04:45:29,980 INFO L290 TraceCheckUtils]: 22: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-28 04:45:29,980 INFO L290 TraceCheckUtils]: 21: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-28 04:45:29,980 INFO L290 TraceCheckUtils]: 20: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-28 04:45:29,980 INFO L272 TraceCheckUtils]: 19: Hoare triple {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11331#true} is VALID [2022-04-28 04:45:29,980 INFO L290 TraceCheckUtils]: 18: Hoare triple {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 04:45:29,981 INFO L290 TraceCheckUtils]: 17: Hoare triple {11331#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11574#(or (= (+ main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~Y~0 6) (* main_~X~0 (- 5))) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4)) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 04:45:29,981 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11331#true} {11331#true} #63#return; {11331#true} is VALID [2022-04-28 04:45:29,981 INFO L290 TraceCheckUtils]: 15: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-28 04:45:29,981 INFO L290 TraceCheckUtils]: 14: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-28 04:45:29,981 INFO L290 TraceCheckUtils]: 13: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-28 04:45:29,981 INFO L272 TraceCheckUtils]: 12: Hoare triple {11331#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {11331#true} is VALID [2022-04-28 04:45:29,981 INFO L290 TraceCheckUtils]: 11: Hoare triple {11331#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11331#true} is VALID [2022-04-28 04:45:29,981 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11331#true} {11331#true} #61#return; {11331#true} is VALID [2022-04-28 04:45:29,982 INFO L290 TraceCheckUtils]: 9: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-28 04:45:29,982 INFO L290 TraceCheckUtils]: 8: Hoare triple {11331#true} assume !(0 == ~cond); {11331#true} is VALID [2022-04-28 04:45:29,982 INFO L290 TraceCheckUtils]: 7: Hoare triple {11331#true} ~cond := #in~cond; {11331#true} is VALID [2022-04-28 04:45:29,982 INFO L272 TraceCheckUtils]: 6: Hoare triple {11331#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {11331#true} is VALID [2022-04-28 04:45:29,982 INFO L290 TraceCheckUtils]: 5: Hoare triple {11331#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {11331#true} is VALID [2022-04-28 04:45:29,982 INFO L272 TraceCheckUtils]: 4: Hoare triple {11331#true} call #t~ret8 := main(); {11331#true} is VALID [2022-04-28 04:45:29,982 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11331#true} {11331#true} #69#return; {11331#true} is VALID [2022-04-28 04:45:29,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {11331#true} assume true; {11331#true} is VALID [2022-04-28 04:45:29,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {11331#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {11331#true} is VALID [2022-04-28 04:45:29,982 INFO L272 TraceCheckUtils]: 0: Hoare triple {11331#true} call ULTIMATE.init(); {11331#true} is VALID [2022-04-28 04:45:29,982 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 11 proven. 16 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:45:29,983 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:45:29,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [539853392] [2022-04-28 04:45:29,983 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:45:29,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1088748989] [2022-04-28 04:45:29,983 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1088748989] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:45:29,983 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:45:29,983 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 22 [2022-04-28 04:45:29,987 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:45:29,987 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [51455531] [2022-04-28 04:45:29,987 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [51455531] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:45:29,987 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:45:29,987 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 04:45:29,987 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [602052173] [2022-04-28 04:45:29,987 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:45:29,987 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 04:45:29,988 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:45:29,988 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:45:30,035 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:45:30,035 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 04:45:30,035 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:45:30,035 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 04:45:30,036 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=378, Unknown=0, NotChecked=0, Total=462 [2022-04-28 04:45:30,036 INFO L87 Difference]: Start difference. First operand 97 states and 106 transitions. Second operand has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:45:31,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:45:31,268 INFO L93 Difference]: Finished difference Result 110 states and 121 transitions. [2022-04-28 04:45:31,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:45:31,268 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 04:45:31,268 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:45:31,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:45:31,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 65 transitions. [2022-04-28 04:45:31,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:45:31,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 65 transitions. [2022-04-28 04:45:31,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 65 transitions. [2022-04-28 04:45:31,337 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:45:31,339 INFO L225 Difference]: With dead ends: 110 [2022-04-28 04:45:31,339 INFO L226 Difference]: Without dead ends: 108 [2022-04-28 04:45:31,339 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=98, Invalid=454, Unknown=0, NotChecked=0, Total=552 [2022-04-28 04:45:31,339 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 11 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 427 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 239 SdHoareTripleChecker+Invalid, 430 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 427 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:45:31,340 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 239 Invalid, 430 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 427 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 04:45:31,340 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-28 04:45:31,532 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 97. [2022-04-28 04:45:31,532 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:45:31,532 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:45:31,533 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:45:31,533 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:45:31,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:45:31,534 INFO L93 Difference]: Finished difference Result 108 states and 119 transitions. [2022-04-28 04:45:31,534 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 119 transitions. [2022-04-28 04:45:31,535 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:45:31,535 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:45:31,535 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 108 states. [2022-04-28 04:45:31,535 INFO L87 Difference]: Start difference. First operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 108 states. [2022-04-28 04:45:31,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:45:31,536 INFO L93 Difference]: Finished difference Result 108 states and 119 transitions. [2022-04-28 04:45:31,536 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 119 transitions. [2022-04-28 04:45:31,537 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:45:31,537 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:45:31,537 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:45:31,537 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:45:31,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 71 states have (on average 1.0985915492957747) internal successors, (78), 73 states have internal predecessors, (78), 15 states have call successors, (15), 11 states have call predecessors, (15), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:45:31,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 106 transitions. [2022-04-28 04:45:31,538 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 106 transitions. Word has length 50 [2022-04-28 04:45:31,538 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:45:31,538 INFO L495 AbstractCegarLoop]: Abstraction has 97 states and 106 transitions. [2022-04-28 04:45:31,539 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.25) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:45:31,539 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 106 transitions. [2022-04-28 04:45:33,797 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 105 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:45:33,797 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 106 transitions. [2022-04-28 04:45:33,798 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 04:45:33,798 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:45:33,798 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:45:33,816 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 04:45:33,998 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 04:45:33,999 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:45:33,999 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:45:33,999 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 3 times [2022-04-28 04:45:33,999 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:45:33,999 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2021179180] [2022-04-28 04:45:33,999 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:45:34,000 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 4 times [2022-04-28 04:45:34,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:45:34,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [225909841] [2022-04-28 04:45:34,000 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:45:34,000 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:45:34,008 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:45:34,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [616669739] [2022-04-28 04:45:34,008 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:45:34,009 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:45:34,009 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:45:34,009 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:45:34,010 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 04:45:34,050 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:45:34,050 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:45:34,051 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 04:45:34,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:45:34,061 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:45:34,936 INFO L272 TraceCheckUtils]: 0: Hoare triple {12286#true} call ULTIMATE.init(); {12286#true} is VALID [2022-04-28 04:45:34,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {12286#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {12286#true} is VALID [2022-04-28 04:45:34,937 INFO L290 TraceCheckUtils]: 2: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:34,937 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12286#true} {12286#true} #69#return; {12286#true} is VALID [2022-04-28 04:45:34,937 INFO L272 TraceCheckUtils]: 4: Hoare triple {12286#true} call #t~ret8 := main(); {12286#true} is VALID [2022-04-28 04:45:34,937 INFO L290 TraceCheckUtils]: 5: Hoare triple {12286#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {12286#true} is VALID [2022-04-28 04:45:34,937 INFO L272 TraceCheckUtils]: 6: Hoare triple {12286#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {12286#true} is VALID [2022-04-28 04:45:34,937 INFO L290 TraceCheckUtils]: 7: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-28 04:45:34,937 INFO L290 TraceCheckUtils]: 8: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-28 04:45:34,937 INFO L290 TraceCheckUtils]: 9: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:34,937 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12286#true} {12286#true} #61#return; {12286#true} is VALID [2022-04-28 04:45:34,937 INFO L290 TraceCheckUtils]: 11: Hoare triple {12286#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12286#true} is VALID [2022-04-28 04:45:34,937 INFO L272 TraceCheckUtils]: 12: Hoare triple {12286#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {12286#true} is VALID [2022-04-28 04:45:34,937 INFO L290 TraceCheckUtils]: 13: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-28 04:45:34,938 INFO L290 TraceCheckUtils]: 14: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-28 04:45:34,938 INFO L290 TraceCheckUtils]: 15: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:34,938 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12286#true} {12286#true} #63#return; {12286#true} is VALID [2022-04-28 04:45:34,938 INFO L290 TraceCheckUtils]: 17: Hoare triple {12286#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:45:34,939 INFO L290 TraceCheckUtils]: 18: Hoare triple {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:45:34,939 INFO L272 TraceCheckUtils]: 19: Hoare triple {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12286#true} is VALID [2022-04-28 04:45:34,939 INFO L290 TraceCheckUtils]: 20: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-28 04:45:34,939 INFO L290 TraceCheckUtils]: 21: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-28 04:45:34,939 INFO L290 TraceCheckUtils]: 22: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:34,939 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12286#true} {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:45:34,940 INFO L290 TraceCheckUtils]: 24: Hoare triple {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:45:34,941 INFO L290 TraceCheckUtils]: 25: Hoare triple {12342#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12367#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:45:34,942 INFO L290 TraceCheckUtils]: 26: Hoare triple {12367#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:45:34,943 INFO L290 TraceCheckUtils]: 27: Hoare triple {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:45:34,943 INFO L272 TraceCheckUtils]: 28: Hoare triple {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12286#true} is VALID [2022-04-28 04:45:34,943 INFO L290 TraceCheckUtils]: 29: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-28 04:45:34,943 INFO L290 TraceCheckUtils]: 30: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-28 04:45:34,943 INFO L290 TraceCheckUtils]: 31: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:34,943 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12286#true} {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #65#return; {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:45:34,944 INFO L290 TraceCheckUtils]: 33: Hoare triple {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 04:45:34,945 INFO L290 TraceCheckUtils]: 34: Hoare triple {12371#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12396#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 04:45:34,945 INFO L290 TraceCheckUtils]: 35: Hoare triple {12396#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 04:45:34,946 INFO L290 TraceCheckUtils]: 36: Hoare triple {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 04:45:34,946 INFO L272 TraceCheckUtils]: 37: Hoare triple {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12286#true} is VALID [2022-04-28 04:45:34,946 INFO L290 TraceCheckUtils]: 38: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-28 04:45:34,946 INFO L290 TraceCheckUtils]: 39: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-28 04:45:34,946 INFO L290 TraceCheckUtils]: 40: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:34,947 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12286#true} {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 04:45:34,947 INFO L290 TraceCheckUtils]: 42: Hoare triple {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(~x~0 <= ~X~0); {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 04:45:34,947 INFO L290 TraceCheckUtils]: 43: Hoare triple {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 04:45:34,948 INFO L290 TraceCheckUtils]: 44: Hoare triple {12400#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 04:45:34,949 INFO L290 TraceCheckUtils]: 45: Hoare triple {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 04:45:34,949 INFO L272 TraceCheckUtils]: 46: Hoare triple {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12286#true} is VALID [2022-04-28 04:45:34,949 INFO L290 TraceCheckUtils]: 47: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-28 04:45:34,949 INFO L290 TraceCheckUtils]: 48: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-28 04:45:34,949 INFO L290 TraceCheckUtils]: 49: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:34,950 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12286#true} {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 04:45:34,950 INFO L290 TraceCheckUtils]: 51: Hoare triple {12428#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {12287#false} is VALID [2022-04-28 04:45:34,950 INFO L290 TraceCheckUtils]: 52: Hoare triple {12287#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12287#false} is VALID [2022-04-28 04:45:34,951 INFO L272 TraceCheckUtils]: 53: Hoare triple {12287#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {12287#false} is VALID [2022-04-28 04:45:34,951 INFO L290 TraceCheckUtils]: 54: Hoare triple {12287#false} ~cond := #in~cond; {12287#false} is VALID [2022-04-28 04:45:34,951 INFO L290 TraceCheckUtils]: 55: Hoare triple {12287#false} assume 0 == ~cond; {12287#false} is VALID [2022-04-28 04:45:34,951 INFO L290 TraceCheckUtils]: 56: Hoare triple {12287#false} assume !false; {12287#false} is VALID [2022-04-28 04:45:34,951 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 04:45:34,951 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:45:35,293 INFO L290 TraceCheckUtils]: 56: Hoare triple {12287#false} assume !false; {12287#false} is VALID [2022-04-28 04:45:35,293 INFO L290 TraceCheckUtils]: 55: Hoare triple {12287#false} assume 0 == ~cond; {12287#false} is VALID [2022-04-28 04:45:35,293 INFO L290 TraceCheckUtils]: 54: Hoare triple {12287#false} ~cond := #in~cond; {12287#false} is VALID [2022-04-28 04:45:35,294 INFO L272 TraceCheckUtils]: 53: Hoare triple {12287#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {12287#false} is VALID [2022-04-28 04:45:35,294 INFO L290 TraceCheckUtils]: 52: Hoare triple {12287#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {12287#false} is VALID [2022-04-28 04:45:35,294 INFO L290 TraceCheckUtils]: 51: Hoare triple {12480#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {12287#false} is VALID [2022-04-28 04:45:35,295 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12286#true} {12480#(<= main_~x~0 main_~X~0)} #65#return; {12480#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:45:35,295 INFO L290 TraceCheckUtils]: 49: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:35,295 INFO L290 TraceCheckUtils]: 48: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-28 04:45:35,295 INFO L290 TraceCheckUtils]: 47: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-28 04:45:35,295 INFO L272 TraceCheckUtils]: 46: Hoare triple {12480#(<= main_~x~0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12286#true} is VALID [2022-04-28 04:45:35,295 INFO L290 TraceCheckUtils]: 45: Hoare triple {12480#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12480#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:45:35,297 INFO L290 TraceCheckUtils]: 44: Hoare triple {12502#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12480#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 04:45:35,297 INFO L290 TraceCheckUtils]: 43: Hoare triple {12502#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12502#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 04:45:35,297 INFO L290 TraceCheckUtils]: 42: Hoare triple {12502#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {12502#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 04:45:35,298 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12286#true} {12502#(<= (+ main_~x~0 1) main_~X~0)} #65#return; {12502#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 04:45:35,298 INFO L290 TraceCheckUtils]: 40: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:35,298 INFO L290 TraceCheckUtils]: 39: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-28 04:45:35,298 INFO L290 TraceCheckUtils]: 38: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-28 04:45:35,298 INFO L272 TraceCheckUtils]: 37: Hoare triple {12502#(<= (+ main_~x~0 1) main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12286#true} is VALID [2022-04-28 04:45:35,298 INFO L290 TraceCheckUtils]: 36: Hoare triple {12502#(<= (+ main_~x~0 1) main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12502#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 04:45:35,299 INFO L290 TraceCheckUtils]: 35: Hoare triple {12530#(<= (+ main_~x~0 2) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12502#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 04:45:35,300 INFO L290 TraceCheckUtils]: 34: Hoare triple {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12530#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-28 04:45:35,300 INFO L290 TraceCheckUtils]: 33: Hoare triple {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 04:45:35,301 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12286#true} {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #65#return; {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 04:45:35,301 INFO L290 TraceCheckUtils]: 31: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:35,301 INFO L290 TraceCheckUtils]: 30: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-28 04:45:35,301 INFO L290 TraceCheckUtils]: 29: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-28 04:45:35,301 INFO L272 TraceCheckUtils]: 28: Hoare triple {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12286#true} is VALID [2022-04-28 04:45:35,301 INFO L290 TraceCheckUtils]: 27: Hoare triple {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 04:45:35,302 INFO L290 TraceCheckUtils]: 26: Hoare triple {12559#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12534#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 04:45:35,303 INFO L290 TraceCheckUtils]: 25: Hoare triple {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {12559#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 04:45:35,304 INFO L290 TraceCheckUtils]: 24: Hoare triple {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(~x~0 <= ~X~0); {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 04:45:35,304 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12286#true} {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #65#return; {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 04:45:35,304 INFO L290 TraceCheckUtils]: 22: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:35,305 INFO L290 TraceCheckUtils]: 21: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-28 04:45:35,305 INFO L290 TraceCheckUtils]: 20: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-28 04:45:35,305 INFO L272 TraceCheckUtils]: 19: Hoare triple {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12286#true} is VALID [2022-04-28 04:45:35,305 INFO L290 TraceCheckUtils]: 18: Hoare triple {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 04:45:35,306 INFO L290 TraceCheckUtils]: 17: Hoare triple {12286#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12563#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 04:45:35,306 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12286#true} {12286#true} #63#return; {12286#true} is VALID [2022-04-28 04:45:35,306 INFO L290 TraceCheckUtils]: 15: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:35,306 INFO L290 TraceCheckUtils]: 14: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-28 04:45:35,327 INFO L290 TraceCheckUtils]: 13: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-28 04:45:35,327 INFO L272 TraceCheckUtils]: 12: Hoare triple {12286#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {12286#true} is VALID [2022-04-28 04:45:35,327 INFO L290 TraceCheckUtils]: 11: Hoare triple {12286#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12286#true} is VALID [2022-04-28 04:45:35,327 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12286#true} {12286#true} #61#return; {12286#true} is VALID [2022-04-28 04:45:35,327 INFO L290 TraceCheckUtils]: 9: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:35,327 INFO L290 TraceCheckUtils]: 8: Hoare triple {12286#true} assume !(0 == ~cond); {12286#true} is VALID [2022-04-28 04:45:35,328 INFO L290 TraceCheckUtils]: 7: Hoare triple {12286#true} ~cond := #in~cond; {12286#true} is VALID [2022-04-28 04:45:35,328 INFO L272 TraceCheckUtils]: 6: Hoare triple {12286#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {12286#true} is VALID [2022-04-28 04:45:35,328 INFO L290 TraceCheckUtils]: 5: Hoare triple {12286#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {12286#true} is VALID [2022-04-28 04:45:35,328 INFO L272 TraceCheckUtils]: 4: Hoare triple {12286#true} call #t~ret8 := main(); {12286#true} is VALID [2022-04-28 04:45:35,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12286#true} {12286#true} #69#return; {12286#true} is VALID [2022-04-28 04:45:35,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {12286#true} assume true; {12286#true} is VALID [2022-04-28 04:45:35,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {12286#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {12286#true} is VALID [2022-04-28 04:45:35,328 INFO L272 TraceCheckUtils]: 0: Hoare triple {12286#true} call ULTIMATE.init(); {12286#true} is VALID [2022-04-28 04:45:35,328 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 04:45:35,328 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:45:35,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [225909841] [2022-04-28 04:45:35,329 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:45:35,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [616669739] [2022-04-28 04:45:35,329 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [616669739] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:45:35,329 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:45:35,329 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 04:45:35,329 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:45:35,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2021179180] [2022-04-28 04:45:35,329 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2021179180] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:45:35,329 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:45:35,329 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 04:45:35,329 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [560834671] [2022-04-28 04:45:35,329 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:45:35,330 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-28 04:45:35,330 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:45:35,330 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 04:45:35,367 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:45:35,367 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 04:45:35,367 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:45:35,368 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 04:45:35,368 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-28 04:45:35,368 INFO L87 Difference]: Start difference. First operand 97 states and 106 transitions. Second operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 04:45:35,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:45:35,888 INFO L93 Difference]: Finished difference Result 111 states and 122 transitions. [2022-04-28 04:45:35,888 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 04:45:35,888 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-28 04:45:35,888 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:45:35,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 04:45:35,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 04:45:35,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 04:45:35,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 04:45:35,890 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-28 04:45:35,943 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:45:35,944 INFO L225 Difference]: With dead ends: 111 [2022-04-28 04:45:35,944 INFO L226 Difference]: Without dead ends: 103 [2022-04-28 04:45:35,945 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-28 04:45:35,945 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 5 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 118 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 104 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 118 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:45:35,945 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 104 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 118 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:45:35,945 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-28 04:45:36,165 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 101. [2022-04-28 04:45:36,165 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:45:36,165 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 101 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 76 states have internal predecessors, (81), 16 states have call successors, (16), 11 states have call predecessors, (16), 10 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 04:45:36,165 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 101 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 76 states have internal predecessors, (81), 16 states have call successors, (16), 11 states have call predecessors, (16), 10 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 04:45:36,166 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 101 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 76 states have internal predecessors, (81), 16 states have call successors, (16), 11 states have call predecessors, (16), 10 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 04:45:36,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:45:36,167 INFO L93 Difference]: Finished difference Result 103 states and 114 transitions. [2022-04-28 04:45:36,167 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 114 transitions. [2022-04-28 04:45:36,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:45:36,168 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:45:36,168 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 76 states have internal predecessors, (81), 16 states have call successors, (16), 11 states have call predecessors, (16), 10 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 103 states. [2022-04-28 04:45:36,169 INFO L87 Difference]: Start difference. First operand has 101 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 76 states have internal predecessors, (81), 16 states have call successors, (16), 11 states have call predecessors, (16), 10 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 103 states. [2022-04-28 04:45:36,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:45:36,170 INFO L93 Difference]: Finished difference Result 103 states and 114 transitions. [2022-04-28 04:45:36,170 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 114 transitions. [2022-04-28 04:45:36,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:45:36,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:45:36,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:45:36,170 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:45:36,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 76 states have internal predecessors, (81), 16 states have call successors, (16), 11 states have call predecessors, (16), 10 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 04:45:36,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 111 transitions. [2022-04-28 04:45:36,172 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 111 transitions. Word has length 57 [2022-04-28 04:45:36,172 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:45:36,172 INFO L495 AbstractCegarLoop]: Abstraction has 101 states and 111 transitions. [2022-04-28 04:45:36,172 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 04:45:36,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 101 states and 111 transitions. [2022-04-28 04:45:40,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 109 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 04:45:40,450 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 04:45:40,455 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 04:45:40,455 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:45:40,455 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:45:40,473 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 04:45:40,663 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 04:45:40,663 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:45:40,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:45:40,664 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 5 times [2022-04-28 04:45:40,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:45:40,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [350262691] [2022-04-28 04:45:40,664 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:45:40,664 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 6 times [2022-04-28 04:45:40,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:45:40,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1149431988] [2022-04-28 04:45:40,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:45:40,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:45:40,672 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:45:40,673 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1997574213] [2022-04-28 04:45:40,673 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:45:40,673 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:45:40,673 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:45:40,674 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:45:40,675 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 04:45:40,724 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 04:45:40,724 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:45:40,734 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 04:45:40,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:45:40,746 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:46:00,324 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:46:09,472 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:46:15,493 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:46:30,881 INFO L272 TraceCheckUtils]: 0: Hoare triple {13271#true} call ULTIMATE.init(); {13271#true} is VALID [2022-04-28 04:46:30,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {13271#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {13271#true} is VALID [2022-04-28 04:46:30,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13271#true} {13271#true} #69#return; {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L272 TraceCheckUtils]: 4: Hoare triple {13271#true} call #t~ret8 := main(); {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L290 TraceCheckUtils]: 5: Hoare triple {13271#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L272 TraceCheckUtils]: 6: Hoare triple {13271#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L290 TraceCheckUtils]: 7: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L290 TraceCheckUtils]: 8: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L290 TraceCheckUtils]: 9: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13271#true} {13271#true} #61#return; {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L290 TraceCheckUtils]: 11: Hoare triple {13271#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L272 TraceCheckUtils]: 12: Hoare triple {13271#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L290 TraceCheckUtils]: 13: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L290 TraceCheckUtils]: 14: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L290 TraceCheckUtils]: 15: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-28 04:46:30,882 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13271#true} {13271#true} #63#return; {13271#true} is VALID [2022-04-28 04:46:30,883 INFO L290 TraceCheckUtils]: 17: Hoare triple {13271#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13327#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 04:46:30,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {13327#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13327#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 04:46:30,883 INFO L272 TraceCheckUtils]: 19: Hoare triple {13327#(and (<= 0 main_~x~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13271#true} is VALID [2022-04-28 04:46:30,883 INFO L290 TraceCheckUtils]: 20: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-28 04:46:30,883 INFO L290 TraceCheckUtils]: 21: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-28 04:46:30,883 INFO L290 TraceCheckUtils]: 22: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-28 04:46:30,884 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13271#true} {13327#(and (<= 0 main_~x~0) (= main_~y~0 0))} #65#return; {13327#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 04:46:30,885 INFO L290 TraceCheckUtils]: 24: Hoare triple {13327#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {13349#(and (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 04:46:30,885 INFO L290 TraceCheckUtils]: 25: Hoare triple {13349#(and (<= 0 main_~X~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:46:30,886 INFO L290 TraceCheckUtils]: 26: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:46:30,886 INFO L290 TraceCheckUtils]: 27: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:46:30,886 INFO L272 TraceCheckUtils]: 28: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13271#true} is VALID [2022-04-28 04:46:30,886 INFO L290 TraceCheckUtils]: 29: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-28 04:46:30,886 INFO L290 TraceCheckUtils]: 30: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-28 04:46:30,886 INFO L290 TraceCheckUtils]: 31: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-28 04:46:30,887 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13271#true} {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} #65#return; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:46:30,887 INFO L290 TraceCheckUtils]: 33: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:46:30,887 INFO L290 TraceCheckUtils]: 34: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:46:30,888 INFO L290 TraceCheckUtils]: 35: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:46:30,888 INFO L290 TraceCheckUtils]: 36: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:46:30,888 INFO L272 TraceCheckUtils]: 37: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13271#true} is VALID [2022-04-28 04:46:30,888 INFO L290 TraceCheckUtils]: 38: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-28 04:46:30,888 INFO L290 TraceCheckUtils]: 39: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-28 04:46:30,888 INFO L290 TraceCheckUtils]: 40: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-28 04:46:30,889 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13271#true} {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} #65#return; {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:46:30,889 INFO L290 TraceCheckUtils]: 42: Hoare triple {13353#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {13405#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:46:30,890 INFO L290 TraceCheckUtils]: 43: Hoare triple {13405#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13409#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-28 04:46:30,890 INFO L290 TraceCheckUtils]: 44: Hoare triple {13409#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13413#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:46:30,891 INFO L290 TraceCheckUtils]: 45: Hoare triple {13413#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13417#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:46:30,891 INFO L272 TraceCheckUtils]: 46: Hoare triple {13417#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13271#true} is VALID [2022-04-28 04:46:30,891 INFO L290 TraceCheckUtils]: 47: Hoare triple {13271#true} ~cond := #in~cond; {13424#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:46:30,891 INFO L290 TraceCheckUtils]: 48: Hoare triple {13424#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:46:30,892 INFO L290 TraceCheckUtils]: 49: Hoare triple {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:46:30,893 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} {13417#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {13435#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:46:30,893 INFO L290 TraceCheckUtils]: 51: Hoare triple {13435#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {13439#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:46:32,895 WARN L290 TraceCheckUtils]: 52: Hoare triple {13439#(and (= main_~y~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13443#(and (= main_~y~0 2) (or (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)))) (and (= (mod main_~xy~0 main_~y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0))) (<= 0 main_~X~0))} is UNKNOWN [2022-04-28 04:46:32,898 INFO L272 TraceCheckUtils]: 53: Hoare triple {13443#(and (= main_~y~0 2) (or (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)))) (and (= (mod main_~xy~0 main_~y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0))) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {13447#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:46:32,898 INFO L290 TraceCheckUtils]: 54: Hoare triple {13447#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13451#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:46:32,898 INFO L290 TraceCheckUtils]: 55: Hoare triple {13451#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13272#false} is VALID [2022-04-28 04:46:32,898 INFO L290 TraceCheckUtils]: 56: Hoare triple {13272#false} assume !false; {13272#false} is VALID [2022-04-28 04:46:32,899 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 17 proven. 20 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-04-28 04:46:32,899 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:46:49,742 INFO L290 TraceCheckUtils]: 56: Hoare triple {13272#false} assume !false; {13272#false} is VALID [2022-04-28 04:46:49,743 INFO L290 TraceCheckUtils]: 55: Hoare triple {13451#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13272#false} is VALID [2022-04-28 04:46:49,743 INFO L290 TraceCheckUtils]: 54: Hoare triple {13447#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13451#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:46:49,744 INFO L272 TraceCheckUtils]: 53: Hoare triple {13467#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {13447#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:46:49,745 INFO L290 TraceCheckUtils]: 52: Hoare triple {13471#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13467#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:46:49,745 INFO L290 TraceCheckUtils]: 51: Hoare triple {13475#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {13471#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 04:46:49,746 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} {13479#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {13475#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:46:49,747 INFO L290 TraceCheckUtils]: 49: Hoare triple {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:46:49,747 INFO L290 TraceCheckUtils]: 48: Hoare triple {13489#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13428#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:46:49,747 INFO L290 TraceCheckUtils]: 47: Hoare triple {13271#true} ~cond := #in~cond; {13489#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:46:49,747 INFO L272 TraceCheckUtils]: 46: Hoare triple {13479#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13271#true} is VALID [2022-04-28 04:46:49,748 INFO L290 TraceCheckUtils]: 45: Hoare triple {13496#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13479#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:46:49,750 INFO L290 TraceCheckUtils]: 44: Hoare triple {13500#(forall ((v_main_~x~0_70 Int)) (or (forall ((main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_70 main_~y~0) 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0)) (* (* main_~X~0 main_~y~0) (- 2))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0))))) (not (<= v_main_~x~0_70 (+ main_~x~0 1))) (<= v_main_~x~0_70 main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13496#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-28 04:46:49,753 INFO L290 TraceCheckUtils]: 43: Hoare triple {13504#(forall ((main_~Y~0 Int) (v_main_~x~0_70 Int)) (or (= (+ (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0)) (* (* v_main_~x~0_70 (+ main_~y~0 1)) 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0)))) (not (<= v_main_~x~0_70 (+ main_~x~0 1))) (<= v_main_~x~0_70 main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13500#(forall ((v_main_~x~0_70 Int)) (or (forall ((main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_70 main_~y~0) 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0)) (* (* main_~X~0 main_~y~0) (- 2))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0))))) (not (<= v_main_~x~0_70 (+ main_~x~0 1))) (<= v_main_~x~0_70 main_~X~0)))} is VALID [2022-04-28 04:46:49,755 INFO L290 TraceCheckUtils]: 42: Hoare triple {13271#true} assume !!(~x~0 <= ~X~0); {13504#(forall ((main_~Y~0 Int) (v_main_~x~0_70 Int)) (or (= (+ (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0)) (* (* v_main_~x~0_70 (+ main_~y~0 1)) 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_70 main_~Y~0)))) (not (<= v_main_~x~0_70 (+ main_~x~0 1))) (<= v_main_~x~0_70 main_~X~0)))} is VALID [2022-04-28 04:46:49,755 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13271#true} {13271#true} #65#return; {13271#true} is VALID [2022-04-28 04:46:49,755 INFO L290 TraceCheckUtils]: 40: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-28 04:46:49,755 INFO L290 TraceCheckUtils]: 39: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-28 04:46:49,755 INFO L290 TraceCheckUtils]: 38: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-28 04:46:49,755 INFO L272 TraceCheckUtils]: 37: Hoare triple {13271#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13271#true} is VALID [2022-04-28 04:46:49,755 INFO L290 TraceCheckUtils]: 36: Hoare triple {13271#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13271#true} is VALID [2022-04-28 04:46:49,755 INFO L290 TraceCheckUtils]: 35: Hoare triple {13271#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13271#true} is VALID [2022-04-28 04:46:49,755 INFO L290 TraceCheckUtils]: 34: Hoare triple {13271#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13271#true} is VALID [2022-04-28 04:46:49,755 INFO L290 TraceCheckUtils]: 33: Hoare triple {13271#true} assume !!(~x~0 <= ~X~0); {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13271#true} {13271#true} #65#return; {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L290 TraceCheckUtils]: 31: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L290 TraceCheckUtils]: 30: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L290 TraceCheckUtils]: 29: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L272 TraceCheckUtils]: 28: Hoare triple {13271#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L290 TraceCheckUtils]: 27: Hoare triple {13271#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L290 TraceCheckUtils]: 26: Hoare triple {13271#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L290 TraceCheckUtils]: 25: Hoare triple {13271#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L290 TraceCheckUtils]: 24: Hoare triple {13271#true} assume !!(~x~0 <= ~X~0); {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13271#true} {13271#true} #65#return; {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L290 TraceCheckUtils]: 22: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L290 TraceCheckUtils]: 21: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L290 TraceCheckUtils]: 20: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L272 TraceCheckUtils]: 19: Hoare triple {13271#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13271#true} is VALID [2022-04-28 04:46:49,756 INFO L290 TraceCheckUtils]: 18: Hoare triple {13271#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L290 TraceCheckUtils]: 17: Hoare triple {13271#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13271#true} {13271#true} #63#return; {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L290 TraceCheckUtils]: 15: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L290 TraceCheckUtils]: 14: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L290 TraceCheckUtils]: 13: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L272 TraceCheckUtils]: 12: Hoare triple {13271#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L290 TraceCheckUtils]: 11: Hoare triple {13271#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13271#true} {13271#true} #61#return; {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {13271#true} assume !(0 == ~cond); {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L290 TraceCheckUtils]: 7: Hoare triple {13271#true} ~cond := #in~cond; {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L272 TraceCheckUtils]: 6: Hoare triple {13271#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L290 TraceCheckUtils]: 5: Hoare triple {13271#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {13271#true} is VALID [2022-04-28 04:46:49,757 INFO L272 TraceCheckUtils]: 4: Hoare triple {13271#true} call #t~ret8 := main(); {13271#true} is VALID [2022-04-28 04:46:49,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13271#true} {13271#true} #69#return; {13271#true} is VALID [2022-04-28 04:46:49,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {13271#true} assume true; {13271#true} is VALID [2022-04-28 04:46:49,758 INFO L290 TraceCheckUtils]: 1: Hoare triple {13271#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {13271#true} is VALID [2022-04-28 04:46:49,758 INFO L272 TraceCheckUtils]: 0: Hoare triple {13271#true} call ULTIMATE.init(); {13271#true} is VALID [2022-04-28 04:46:49,758 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-28 04:46:49,758 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:46:49,758 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1149431988] [2022-04-28 04:46:49,758 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:46:49,758 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1997574213] [2022-04-28 04:46:49,758 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1997574213] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:46:49,758 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:46:49,759 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-28 04:46:49,759 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:46:49,759 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [350262691] [2022-04-28 04:46:49,759 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [350262691] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:46:49,759 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:46:49,759 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 04:46:49,759 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1681078613] [2022-04-28 04:46:49,759 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:46:49,759 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-28 04:46:49,760 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:46:49,760 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:46:51,221 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:46:51,221 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 04:46:51,221 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:46:51,221 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 04:46:51,221 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=472, Unknown=0, NotChecked=0, Total=552 [2022-04-28 04:46:51,221 INFO L87 Difference]: Start difference. First operand 101 states and 111 transitions. Second operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:47:04,552 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:47:07,096 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:47:08,652 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.55s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:47:10,654 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:47:12,657 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:47:13,692 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.03s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:47:15,694 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:47:17,698 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:47:19,701 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:47:21,704 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:47:21,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:47:21,985 INFO L93 Difference]: Finished difference Result 126 states and 142 transitions. [2022-04-28 04:47:21,985 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 04:47:21,985 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-28 04:47:21,985 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:47:21,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:47:21,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 68 transitions. [2022-04-28 04:47:21,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:47:21,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 68 transitions. [2022-04-28 04:47:21,987 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 68 transitions. [2022-04-28 04:47:26,055 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 66 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 04:47:26,059 INFO L225 Difference]: With dead ends: 126 [2022-04-28 04:47:26,059 INFO L226 Difference]: Without dead ends: 118 [2022-04-28 04:47:26,060 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 161 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=151, Invalid=841, Unknown=0, NotChecked=0, Total=992 [2022-04-28 04:47:26,061 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 21 mSDsluCounter, 251 mSDsCounter, 0 mSdLazyCounter, 537 mSolverCounterSat, 8 mSolverCounterUnsat, 8 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 19.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 282 SdHoareTripleChecker+Invalid, 553 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 537 IncrementalHoareTripleChecker+Invalid, 8 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 19.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:47:26,061 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 282 Invalid, 553 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 537 Invalid, 8 Unknown, 0 Unchecked, 19.5s Time] [2022-04-28 04:47:26,062 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2022-04-28 04:47:26,330 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 114. [2022-04-28 04:47:26,330 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:47:26,330 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand has 114 states, 84 states have (on average 1.119047619047619) internal successors, (94), 87 states have internal predecessors, (94), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 04:47:26,330 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand has 114 states, 84 states have (on average 1.119047619047619) internal successors, (94), 87 states have internal predecessors, (94), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 04:47:26,330 INFO L87 Difference]: Start difference. First operand 118 states. Second operand has 114 states, 84 states have (on average 1.119047619047619) internal successors, (94), 87 states have internal predecessors, (94), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 04:47:26,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:47:26,332 INFO L93 Difference]: Finished difference Result 118 states and 134 transitions. [2022-04-28 04:47:26,332 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 134 transitions. [2022-04-28 04:47:26,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:47:26,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:47:26,333 INFO L74 IsIncluded]: Start isIncluded. First operand has 114 states, 84 states have (on average 1.119047619047619) internal successors, (94), 87 states have internal predecessors, (94), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 118 states. [2022-04-28 04:47:26,333 INFO L87 Difference]: Start difference. First operand has 114 states, 84 states have (on average 1.119047619047619) internal successors, (94), 87 states have internal predecessors, (94), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 118 states. [2022-04-28 04:47:26,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:47:26,334 INFO L93 Difference]: Finished difference Result 118 states and 134 transitions. [2022-04-28 04:47:26,334 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 134 transitions. [2022-04-28 04:47:26,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:47:26,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:47:26,335 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:47:26,335 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:47:26,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 114 states, 84 states have (on average 1.119047619047619) internal successors, (94), 87 states have internal predecessors, (94), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 04:47:26,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 130 transitions. [2022-04-28 04:47:26,338 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 130 transitions. Word has length 57 [2022-04-28 04:47:26,338 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:47:26,338 INFO L495 AbstractCegarLoop]: Abstraction has 114 states and 130 transitions. [2022-04-28 04:47:26,338 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:47:26,338 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 114 states and 130 transitions. [2022-04-28 04:47:28,756 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 129 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:47:28,757 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 130 transitions. [2022-04-28 04:47:28,757 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 04:47:28,757 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:47:28,757 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:47:28,799 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 04:47:28,975 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:47:28,975 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:47:28,976 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:47:28,976 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-28 04:47:28,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:47:28,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1544352968] [2022-04-28 04:47:28,976 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:47:28,976 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-28 04:47:28,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:47:28,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1946624483] [2022-04-28 04:47:28,976 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:47:28,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:47:28,985 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:47:28,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1044504184] [2022-04-28 04:47:28,985 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:47:28,985 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:47:28,985 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:47:28,986 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:47:28,988 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 04:47:29,105 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 04:47:29,106 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:47:29,107 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 04:47:29,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:47:29,127 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:47:46,447 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:47:56,477 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:48:02,500 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:48:23,953 INFO L272 TraceCheckUtils]: 0: Hoare triple {14368#true} call ULTIMATE.init(); {14368#true} is VALID [2022-04-28 04:48:23,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {14368#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {14368#true} is VALID [2022-04-28 04:48:23,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-28 04:48:23,954 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14368#true} {14368#true} #69#return; {14368#true} is VALID [2022-04-28 04:48:23,954 INFO L272 TraceCheckUtils]: 4: Hoare triple {14368#true} call #t~ret8 := main(); {14368#true} is VALID [2022-04-28 04:48:23,954 INFO L290 TraceCheckUtils]: 5: Hoare triple {14368#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {14368#true} is VALID [2022-04-28 04:48:23,954 INFO L272 TraceCheckUtils]: 6: Hoare triple {14368#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {14368#true} is VALID [2022-04-28 04:48:23,955 INFO L290 TraceCheckUtils]: 7: Hoare triple {14368#true} ~cond := #in~cond; {14394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:48:23,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {14394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:48:23,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {14398#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:48:23,956 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14398#(not (= |assume_abort_if_not_#in~cond| 0))} {14368#true} #61#return; {14405#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:48:23,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {14405#(and (<= 0 main_~X~0) (<= main_~X~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14405#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:48:23,956 INFO L272 TraceCheckUtils]: 12: Hoare triple {14405#(and (<= 0 main_~X~0) (<= main_~X~0 5))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {14368#true} is VALID [2022-04-28 04:48:23,957 INFO L290 TraceCheckUtils]: 13: Hoare triple {14368#true} ~cond := #in~cond; {14394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:48:23,957 INFO L290 TraceCheckUtils]: 14: Hoare triple {14394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:48:23,957 INFO L290 TraceCheckUtils]: 15: Hoare triple {14398#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:48:23,958 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14398#(not (= |assume_abort_if_not_#in~cond| 0))} {14405#(and (<= 0 main_~X~0) (<= main_~X~0 5))} #63#return; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,958 INFO L290 TraceCheckUtils]: 17: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,959 INFO L290 TraceCheckUtils]: 18: Hoare triple {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,959 INFO L272 TraceCheckUtils]: 19: Hoare triple {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-28 04:48:23,959 INFO L290 TraceCheckUtils]: 20: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-28 04:48:23,959 INFO L290 TraceCheckUtils]: 21: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-28 04:48:23,959 INFO L290 TraceCheckUtils]: 22: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-28 04:48:23,960 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14368#true} {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #65#return; {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,960 INFO L290 TraceCheckUtils]: 24: Hoare triple {14428#(and (<= 0 main_~x~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !!(~x~0 <= ~X~0); {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,960 INFO L290 TraceCheckUtils]: 25: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,961 INFO L290 TraceCheckUtils]: 26: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,961 INFO L290 TraceCheckUtils]: 27: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,961 INFO L272 TraceCheckUtils]: 28: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-28 04:48:23,961 INFO L290 TraceCheckUtils]: 29: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-28 04:48:23,961 INFO L290 TraceCheckUtils]: 30: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-28 04:48:23,962 INFO L290 TraceCheckUtils]: 31: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-28 04:48:23,962 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14368#true} {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #65#return; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,962 INFO L290 TraceCheckUtils]: 33: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !!(~x~0 <= ~X~0); {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,963 INFO L290 TraceCheckUtils]: 34: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,963 INFO L290 TraceCheckUtils]: 35: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,964 INFO L290 TraceCheckUtils]: 36: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,964 INFO L272 TraceCheckUtils]: 37: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-28 04:48:23,964 INFO L290 TraceCheckUtils]: 38: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-28 04:48:23,964 INFO L290 TraceCheckUtils]: 39: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-28 04:48:23,964 INFO L290 TraceCheckUtils]: 40: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-28 04:48:23,964 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14368#true} {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #65#return; {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,965 INFO L290 TraceCheckUtils]: 42: Hoare triple {14424#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !!(~x~0 <= ~X~0); {14504#(and (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,966 INFO L290 TraceCheckUtils]: 43: Hoare triple {14504#(and (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14508#(and (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,968 INFO L290 TraceCheckUtils]: 44: Hoare triple {14508#(and (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (<= main_~Y~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14512#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,968 INFO L290 TraceCheckUtils]: 45: Hoare triple {14512#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14516#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,968 INFO L272 TraceCheckUtils]: 46: Hoare triple {14516#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-28 04:48:23,968 INFO L290 TraceCheckUtils]: 47: Hoare triple {14368#true} ~cond := #in~cond; {14523#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:48:23,969 INFO L290 TraceCheckUtils]: 48: Hoare triple {14523#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:48:23,969 INFO L290 TraceCheckUtils]: 49: Hoare triple {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:48:23,971 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} {14516#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} #65#return; {14534#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,971 INFO L290 TraceCheckUtils]: 51: Hoare triple {14534#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} assume !(~x~0 <= ~X~0); {14538#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:23,997 INFO L290 TraceCheckUtils]: 52: Hoare triple {14538#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {14542#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))) (<= main_~Y~0 5))} is VALID [2022-04-28 04:48:24,021 INFO L272 TraceCheckUtils]: 53: Hoare triple {14542#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~X~0 5) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {14546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:48:24,022 INFO L290 TraceCheckUtils]: 54: Hoare triple {14546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:48:24,022 INFO L290 TraceCheckUtils]: 55: Hoare triple {14550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14369#false} is VALID [2022-04-28 04:48:24,022 INFO L290 TraceCheckUtils]: 56: Hoare triple {14369#false} assume !false; {14369#false} is VALID [2022-04-28 04:48:24,023 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 26 proven. 10 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:48:24,023 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:48:32,466 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:48:40,045 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:49:27,471 INFO L290 TraceCheckUtils]: 56: Hoare triple {14369#false} assume !false; {14369#false} is VALID [2022-04-28 04:49:27,471 INFO L290 TraceCheckUtils]: 55: Hoare triple {14550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14369#false} is VALID [2022-04-28 04:49:27,472 INFO L290 TraceCheckUtils]: 54: Hoare triple {14546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:49:27,473 INFO L272 TraceCheckUtils]: 53: Hoare triple {14566#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {14546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:49:27,474 INFO L290 TraceCheckUtils]: 52: Hoare triple {14570#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {14566#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:49:27,475 INFO L290 TraceCheckUtils]: 51: Hoare triple {14574#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {14570#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 04:49:27,475 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} {14578#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {14574#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:49:27,476 INFO L290 TraceCheckUtils]: 49: Hoare triple {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:49:27,476 INFO L290 TraceCheckUtils]: 48: Hoare triple {14588#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:49:27,476 INFO L290 TraceCheckUtils]: 47: Hoare triple {14368#true} ~cond := #in~cond; {14588#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:49:27,477 INFO L272 TraceCheckUtils]: 46: Hoare triple {14578#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-28 04:49:29,479 WARN L290 TraceCheckUtils]: 45: Hoare triple {14595#(or (<= main_~x~0 main_~X~0) (and (or (= (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) main_~x~0) 2)) (+ (* main_~Y~0 2) (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 2) (* 2 (* main_~Y~0 main_~x~0)))) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 0)) (= main_~X~0 0) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0))) (or (forall ((main_~y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14578#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is UNKNOWN [2022-04-28 04:49:29,487 INFO L290 TraceCheckUtils]: 44: Hoare triple {14599#(forall ((v_main_~x~0_72 Int)) (or (<= v_main_~x~0_72 main_~X~0) (and (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_72 (- 2) main_~Y~0)) 2) 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) 0)) (not (= main_~X~0 0)) (forall ((main_~y~0 Int)) (= (+ main_~X~0 main_~v~0 (* 2 (* v_main_~x~0_72 main_~y~0))) (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2))))) (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_72 (- 2) main_~Y~0)) 2) 0)) (= main_~X~0 0) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) 0)) (= (+ (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) 2) (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~Y~0 2)) (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) v_main_~x~0_72) 2))))) (not (<= v_main_~x~0_72 (+ main_~x~0 1)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14595#(or (<= main_~x~0 main_~X~0) (and (or (= (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) main_~x~0) 2)) (+ (* main_~Y~0 2) (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 2) (* 2 (* main_~Y~0 main_~x~0)))) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 0)) (= main_~X~0 0) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0))) (or (forall ((main_~y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0)))))} is VALID [2022-04-28 04:49:31,566 WARN L290 TraceCheckUtils]: 43: Hoare triple {14603#(forall ((v_main_~x~0_72 Int)) (or (<= v_main_~x~0_72 main_~X~0) (not (<= v_main_~x~0_72 (+ main_~x~0 1))) (and (or (not (= main_~X~0 0)) (forall ((main_~y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* v_main_~x~0_72 main_~y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2)))) (< (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) 0)) (or (= main_~X~0 0) (forall ((aux_div_aux_mod_v_main_~v~0_110_41_79 Int) (aux_div_v_main_~v~0_110_41 Int)) (or (and (or (<= (+ aux_div_aux_mod_v_main_~v~0_110_41_79 1) aux_div_v_main_~v~0_110_41) (<= (* v_main_~x~0_72 (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0)) (+ main_~Y~0 (* v_main_~x~0_72 main_~Y~0) (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) aux_div_v_main_~v~0_110_41)) (<= (+ 1 aux_div_v_main_~v~0_110_41) aux_div_aux_mod_v_main_~v~0_110_41_79) (<= 0 (+ aux_div_aux_mod_v_main_~v~0_110_41_79 (div (+ (- 1) (* (- 1) main_~X~0)) 2) main_~Y~0))) (or (<= (+ aux_div_aux_mod_v_main_~v~0_110_41_79 1) aux_div_v_main_~v~0_110_41) (<= (+ 1 aux_div_v_main_~v~0_110_41) aux_div_aux_mod_v_main_~v~0_110_41_79) (<= 0 (+ aux_div_aux_mod_v_main_~v~0_110_41_79 (div (+ (- 1) (* (- 1) main_~X~0)) 2) main_~Y~0)) (<= (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0) (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0)) (* v_main_~x~0_72 (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0))))) (not (= (mod (+ main_~Y~0 (* v_main_~x~0_72 main_~Y~0) aux_div_v_main_~v~0_110_41) main_~X~0) 0))))))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14599#(forall ((v_main_~x~0_72 Int)) (or (<= v_main_~x~0_72 main_~X~0) (and (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_72 (- 2) main_~Y~0)) 2) 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) 0)) (not (= main_~X~0 0)) (forall ((main_~y~0 Int)) (= (+ main_~X~0 main_~v~0 (* 2 (* v_main_~x~0_72 main_~y~0))) (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2))))) (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_72 (- 2) main_~Y~0)) 2) 0)) (= main_~X~0 0) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) 0)) (= (+ (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) 2) (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~Y~0 2)) (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) v_main_~x~0_72) 2))))) (not (<= v_main_~x~0_72 (+ main_~x~0 1)))))} is UNKNOWN [2022-04-28 04:49:31,659 INFO L290 TraceCheckUtils]: 42: Hoare triple {14368#true} assume !!(~x~0 <= ~X~0); {14603#(forall ((v_main_~x~0_72 Int)) (or (<= v_main_~x~0_72 main_~X~0) (not (<= v_main_~x~0_72 (+ main_~x~0 1))) (and (or (not (= main_~X~0 0)) (forall ((main_~y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* v_main_~x~0_72 main_~y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2)))) (< (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) 0)) (or (= main_~X~0 0) (forall ((aux_div_aux_mod_v_main_~v~0_110_41_79 Int) (aux_div_v_main_~v~0_110_41 Int)) (or (and (or (<= (+ aux_div_aux_mod_v_main_~v~0_110_41_79 1) aux_div_v_main_~v~0_110_41) (<= (* v_main_~x~0_72 (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0)) (+ main_~Y~0 (* v_main_~x~0_72 main_~Y~0) (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0) aux_div_v_main_~v~0_110_41)) (<= (+ 1 aux_div_v_main_~v~0_110_41) aux_div_aux_mod_v_main_~v~0_110_41_79) (<= 0 (+ aux_div_aux_mod_v_main_~v~0_110_41_79 (div (+ (- 1) (* (- 1) main_~X~0)) 2) main_~Y~0))) (or (<= (+ aux_div_aux_mod_v_main_~v~0_110_41_79 1) aux_div_v_main_~v~0_110_41) (<= (+ 1 aux_div_v_main_~v~0_110_41) aux_div_aux_mod_v_main_~v~0_110_41_79) (<= 0 (+ aux_div_aux_mod_v_main_~v~0_110_41_79 (div (+ (- 1) (* (- 1) main_~X~0)) 2) main_~Y~0)) (<= (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0) (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0)) (* v_main_~x~0_72 (div (+ aux_div_aux_mod_v_main_~v~0_110_41_79 main_~Y~0 (* v_main_~x~0_72 main_~Y~0)) main_~X~0))))) (not (= (mod (+ main_~Y~0 (* v_main_~x~0_72 main_~Y~0) aux_div_v_main_~v~0_110_41) main_~X~0) 0))))))))} is VALID [2022-04-28 04:49:31,660 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14368#true} {14368#true} #65#return; {14368#true} is VALID [2022-04-28 04:49:31,660 INFO L290 TraceCheckUtils]: 40: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-28 04:49:31,660 INFO L290 TraceCheckUtils]: 39: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-28 04:49:31,660 INFO L290 TraceCheckUtils]: 38: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-28 04:49:31,660 INFO L272 TraceCheckUtils]: 37: Hoare triple {14368#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-28 04:49:31,660 INFO L290 TraceCheckUtils]: 36: Hoare triple {14368#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14368#true} is VALID [2022-04-28 04:49:31,660 INFO L290 TraceCheckUtils]: 35: Hoare triple {14368#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14368#true} is VALID [2022-04-28 04:49:31,660 INFO L290 TraceCheckUtils]: 34: Hoare triple {14368#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14368#true} is VALID [2022-04-28 04:49:31,660 INFO L290 TraceCheckUtils]: 33: Hoare triple {14368#true} assume !!(~x~0 <= ~X~0); {14368#true} is VALID [2022-04-28 04:49:31,660 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14368#true} {14368#true} #65#return; {14368#true} is VALID [2022-04-28 04:49:31,660 INFO L290 TraceCheckUtils]: 31: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-28 04:49:31,660 INFO L290 TraceCheckUtils]: 30: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-28 04:49:31,660 INFO L290 TraceCheckUtils]: 29: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L272 TraceCheckUtils]: 28: Hoare triple {14368#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L290 TraceCheckUtils]: 27: Hoare triple {14368#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L290 TraceCheckUtils]: 26: Hoare triple {14368#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L290 TraceCheckUtils]: 25: Hoare triple {14368#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L290 TraceCheckUtils]: 24: Hoare triple {14368#true} assume !!(~x~0 <= ~X~0); {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14368#true} {14368#true} #65#return; {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L290 TraceCheckUtils]: 22: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L290 TraceCheckUtils]: 21: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L290 TraceCheckUtils]: 20: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L272 TraceCheckUtils]: 19: Hoare triple {14368#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L290 TraceCheckUtils]: 18: Hoare triple {14368#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L290 TraceCheckUtils]: 17: Hoare triple {14368#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14368#true} {14368#true} #63#return; {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L290 TraceCheckUtils]: 15: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-28 04:49:31,661 INFO L290 TraceCheckUtils]: 14: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L290 TraceCheckUtils]: 13: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L272 TraceCheckUtils]: 12: Hoare triple {14368#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L290 TraceCheckUtils]: 11: Hoare triple {14368#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14368#true} {14368#true} #61#return; {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L290 TraceCheckUtils]: 9: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L290 TraceCheckUtils]: 8: Hoare triple {14368#true} assume !(0 == ~cond); {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L290 TraceCheckUtils]: 7: Hoare triple {14368#true} ~cond := #in~cond; {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L272 TraceCheckUtils]: 6: Hoare triple {14368#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L290 TraceCheckUtils]: 5: Hoare triple {14368#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L272 TraceCheckUtils]: 4: Hoare triple {14368#true} call #t~ret8 := main(); {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14368#true} {14368#true} #69#return; {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {14368#true} assume true; {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {14368#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {14368#true} is VALID [2022-04-28 04:49:31,662 INFO L272 TraceCheckUtils]: 0: Hoare triple {14368#true} call ULTIMATE.init(); {14368#true} is VALID [2022-04-28 04:49:31,663 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-28 04:49:31,663 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:49:31,663 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1946624483] [2022-04-28 04:49:31,663 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:49:31,663 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1044504184] [2022-04-28 04:49:31,663 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1044504184] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:49:31,663 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:49:31,663 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 13] total 26 [2022-04-28 04:49:31,664 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:49:31,664 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1544352968] [2022-04-28 04:49:31,664 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1544352968] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:49:31,664 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:49:31,664 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 04:49:31,664 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [918487204] [2022-04-28 04:49:31,664 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:49:31,664 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 57 [2022-04-28 04:49:31,665 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:49:31,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:49:31,750 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:49:31,750 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 04:49:31,750 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:49:31,750 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 04:49:31,751 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=545, Unknown=3, NotChecked=0, Total=650 [2022-04-28 04:49:31,751 INFO L87 Difference]: Start difference. First operand 114 states and 130 transitions. Second operand has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:49:37,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:49:37,918 INFO L93 Difference]: Finished difference Result 123 states and 138 transitions. [2022-04-28 04:49:37,918 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 04:49:37,918 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 57 [2022-04-28 04:49:37,918 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:49:37,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:49:37,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 40 transitions. [2022-04-28 04:49:37,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:49:37,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 40 transitions. [2022-04-28 04:49:37,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 40 transitions. [2022-04-28 04:49:38,015 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:49:38,017 INFO L225 Difference]: With dead ends: 123 [2022-04-28 04:49:38,017 INFO L226 Difference]: Without dead ends: 115 [2022-04-28 04:49:38,017 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 88 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 286 ImplicationChecksByTransitivity, 20.9s TimeCoverageRelationStatistics Valid=249, Invalid=1154, Unknown=3, NotChecked=0, Total=1406 [2022-04-28 04:49:38,018 INFO L413 NwaCegarLoop]: 15 mSDtfsCounter, 33 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 175 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 201 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 175 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:49:38,018 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [34 Valid, 101 Invalid, 201 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 175 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:49:38,018 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-28 04:49:38,279 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 95. [2022-04-28 04:49:38,279 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:49:38,280 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 95 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 71 states have internal predecessors, (76), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:49:38,280 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 95 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 71 states have internal predecessors, (76), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:49:38,280 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 95 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 71 states have internal predecessors, (76), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:49:38,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:49:38,282 INFO L93 Difference]: Finished difference Result 115 states and 129 transitions. [2022-04-28 04:49:38,282 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 129 transitions. [2022-04-28 04:49:38,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:49:38,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:49:38,283 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 71 states have internal predecessors, (76), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 115 states. [2022-04-28 04:49:38,283 INFO L87 Difference]: Start difference. First operand has 95 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 71 states have internal predecessors, (76), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 115 states. [2022-04-28 04:49:38,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:49:38,285 INFO L93 Difference]: Finished difference Result 115 states and 129 transitions. [2022-04-28 04:49:38,285 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 129 transitions. [2022-04-28 04:49:38,286 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:49:38,286 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:49:38,286 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:49:38,286 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:49:38,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 70 states have (on average 1.0857142857142856) internal successors, (76), 71 states have internal predecessors, (76), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 04:49:38,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 103 transitions. [2022-04-28 04:49:38,288 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 103 transitions. Word has length 57 [2022-04-28 04:49:38,288 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:49:38,288 INFO L495 AbstractCegarLoop]: Abstraction has 95 states and 103 transitions. [2022-04-28 04:49:38,288 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 1.8125) internal successors, (29), 16 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:49:38,288 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 103 transitions. [2022-04-28 04:49:38,735 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:49:38,735 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 103 transitions. [2022-04-28 04:49:38,736 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 04:49:38,736 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:49:38,736 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:49:38,745 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 04:49:38,945 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:49:38,946 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:49:38,946 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:49:38,946 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 15 times [2022-04-28 04:49:38,946 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:49:38,946 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1982078722] [2022-04-28 04:49:38,946 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:49:38,947 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 16 times [2022-04-28 04:49:38,947 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:49:38,947 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2084677378] [2022-04-28 04:49:38,947 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:49:38,947 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:49:38,957 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:49:38,957 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [621840670] [2022-04-28 04:49:38,957 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:49:38,957 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:49:38,957 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:49:38,958 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:49:38,959 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 04:49:39,005 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:49:39,005 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:49:39,006 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-28 04:49:39,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:49:39,024 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:49:56,766 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:50:02,789 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:50:14,020 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:50:20,039 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:51:31,159 INFO L272 TraceCheckUtils]: 0: Hoare triple {15425#true} call ULTIMATE.init(); {15425#true} is VALID [2022-04-28 04:51:31,160 INFO L290 TraceCheckUtils]: 1: Hoare triple {15425#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {15425#true} is VALID [2022-04-28 04:51:31,160 INFO L290 TraceCheckUtils]: 2: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-28 04:51:31,160 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15425#true} {15425#true} #69#return; {15425#true} is VALID [2022-04-28 04:51:31,160 INFO L272 TraceCheckUtils]: 4: Hoare triple {15425#true} call #t~ret8 := main(); {15425#true} is VALID [2022-04-28 04:51:31,160 INFO L290 TraceCheckUtils]: 5: Hoare triple {15425#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {15425#true} is VALID [2022-04-28 04:51:31,160 INFO L272 TraceCheckUtils]: 6: Hoare triple {15425#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {15425#true} is VALID [2022-04-28 04:51:31,160 INFO L290 TraceCheckUtils]: 7: Hoare triple {15425#true} ~cond := #in~cond; {15451#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:51:31,161 INFO L290 TraceCheckUtils]: 8: Hoare triple {15451#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {15455#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:51:31,161 INFO L290 TraceCheckUtils]: 9: Hoare triple {15455#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {15455#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:51:31,161 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15455#(not (= |assume_abort_if_not_#in~cond| 0))} {15425#true} #61#return; {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,162 INFO L290 TraceCheckUtils]: 11: Hoare triple {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,162 INFO L272 TraceCheckUtils]: 12: Hoare triple {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {15425#true} is VALID [2022-04-28 04:51:31,162 INFO L290 TraceCheckUtils]: 13: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-28 04:51:31,162 INFO L290 TraceCheckUtils]: 14: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-28 04:51:31,162 INFO L290 TraceCheckUtils]: 15: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-28 04:51:31,162 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15425#true} {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} #63#return; {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,163 INFO L290 TraceCheckUtils]: 17: Hoare triple {15462#(and (<= 0 main_~X~0) (<= main_~X~0 5))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,163 INFO L290 TraceCheckUtils]: 18: Hoare triple {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,163 INFO L272 TraceCheckUtils]: 19: Hoare triple {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-28 04:51:31,163 INFO L290 TraceCheckUtils]: 20: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-28 04:51:31,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-28 04:51:31,164 INFO L290 TraceCheckUtils]: 22: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-28 04:51:31,164 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15425#true} {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} #65#return; {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,165 INFO L290 TraceCheckUtils]: 24: Hoare triple {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} assume !!(~x~0 <= ~X~0); {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,165 INFO L290 TraceCheckUtils]: 25: Hoare triple {15484#(and (<= 0 main_~x~0) (<= 0 main_~X~0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)) (<= main_~X~0 5))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15509#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 0 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,166 INFO L290 TraceCheckUtils]: 26: Hoare triple {15509#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 0 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,167 INFO L290 TraceCheckUtils]: 27: Hoare triple {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,167 INFO L272 TraceCheckUtils]: 28: Hoare triple {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-28 04:51:31,167 INFO L290 TraceCheckUtils]: 29: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-28 04:51:31,167 INFO L290 TraceCheckUtils]: 30: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-28 04:51:31,167 INFO L290 TraceCheckUtils]: 31: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-28 04:51:31,168 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15425#true} {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} #65#return; {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,168 INFO L290 TraceCheckUtils]: 33: Hoare triple {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} assume !!(~x~0 <= ~X~0); {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,169 INFO L290 TraceCheckUtils]: 34: Hoare triple {15513#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15538#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,170 INFO L290 TraceCheckUtils]: 35: Hoare triple {15538#(and (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~X~0) (<= main_~X~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,171 INFO L290 TraceCheckUtils]: 36: Hoare triple {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,171 INFO L272 TraceCheckUtils]: 37: Hoare triple {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-28 04:51:31,171 INFO L290 TraceCheckUtils]: 38: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-28 04:51:31,171 INFO L290 TraceCheckUtils]: 39: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-28 04:51:31,171 INFO L290 TraceCheckUtils]: 40: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-28 04:51:31,172 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15425#true} {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} #65#return; {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,172 INFO L290 TraceCheckUtils]: 42: Hoare triple {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} assume !!(~x~0 <= ~X~0); {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-28 04:51:31,173 INFO L290 TraceCheckUtils]: 43: Hoare triple {15542#(and (< main_~v~0 (* main_~Y~0 4)) (< (* main_~Y~0 4) main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (<= 0 main_~X~0) (<= main_~X~0 5))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15567#(and (< (* main_~Y~0 4) main_~X~0) (<= 2 main_~x~0) (<= main_~X~0 5) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-28 04:51:31,174 INFO L290 TraceCheckUtils]: 44: Hoare triple {15567#(and (< (* main_~Y~0 4) main_~X~0) (<= 2 main_~x~0) (<= main_~X~0 5) (< 0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15571#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-28 04:51:31,174 INFO L290 TraceCheckUtils]: 45: Hoare triple {15571#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15575#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (<= 3 main_~x~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-28 04:51:31,174 INFO L272 TraceCheckUtils]: 46: Hoare triple {15575#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (<= 3 main_~x~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (< 0 (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-28 04:51:31,175 INFO L290 TraceCheckUtils]: 47: Hoare triple {15425#true} ~cond := #in~cond; {15582#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:51:31,175 INFO L290 TraceCheckUtils]: 48: Hoare triple {15582#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:51:31,175 INFO L290 TraceCheckUtils]: 49: Hoare triple {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:51:31,177 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} {15575#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (= (* main_~X~0 main_~y~0) main_~xy~0) (<= 3 main_~x~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (< 0 (* main_~Y~0 2)))} #65#return; {15593#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-28 04:51:31,177 INFO L290 TraceCheckUtils]: 51: Hoare triple {15593#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {15593#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-28 04:51:31,178 INFO L290 TraceCheckUtils]: 52: Hoare triple {15593#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15600#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:51:31,180 INFO L290 TraceCheckUtils]: 53: Hoare triple {15600#(and (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 3 main_~x~0) (< 0 (* main_~Y~0 2)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15604#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 4 main_~x~0) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-28 04:51:31,748 INFO L290 TraceCheckUtils]: 54: Hoare triple {15604#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (< (* main_~Y~0 4) main_~X~0) (<= main_~X~0 5) (<= 4 main_~x~0) (< 0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15608#(and (<= 4 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (<= main_~X~0 5) (= (mod main_~xy~0 main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0) (< 0 (* main_~Y~0 2)))} is VALID [2022-04-28 04:51:31,751 INFO L272 TraceCheckUtils]: 55: Hoare triple {15608#(and (<= 4 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (< (* main_~Y~0 4) main_~X~0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (<= main_~X~0 5) (= (mod main_~xy~0 main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0) (< 0 (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15612#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:51:31,751 INFO L290 TraceCheckUtils]: 56: Hoare triple {15612#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15616#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:51:31,751 INFO L290 TraceCheckUtils]: 57: Hoare triple {15616#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15426#false} is VALID [2022-04-28 04:51:31,751 INFO L290 TraceCheckUtils]: 58: Hoare triple {15426#false} assume !false; {15426#false} is VALID [2022-04-28 04:51:31,752 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 18 proven. 40 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:51:31,752 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:51:42,742 INFO L290 TraceCheckUtils]: 58: Hoare triple {15426#false} assume !false; {15426#false} is VALID [2022-04-28 04:51:42,742 INFO L290 TraceCheckUtils]: 57: Hoare triple {15616#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15426#false} is VALID [2022-04-28 04:51:42,743 INFO L290 TraceCheckUtils]: 56: Hoare triple {15612#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15616#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:51:42,743 INFO L272 TraceCheckUtils]: 55: Hoare triple {15632#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15612#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:51:42,745 INFO L290 TraceCheckUtils]: 54: Hoare triple {15636#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15632#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:51:42,747 INFO L290 TraceCheckUtils]: 53: Hoare triple {15640#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15636#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:51:42,748 INFO L290 TraceCheckUtils]: 52: Hoare triple {15636#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15640#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:51:42,748 INFO L290 TraceCheckUtils]: 51: Hoare triple {15636#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {15636#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:51:42,749 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} {15650#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} #65#return; {15636#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:51:42,750 INFO L290 TraceCheckUtils]: 49: Hoare triple {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:51:42,750 INFO L290 TraceCheckUtils]: 48: Hoare triple {15660#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15586#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:51:42,750 INFO L290 TraceCheckUtils]: 47: Hoare triple {15425#true} ~cond := #in~cond; {15660#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:51:42,751 INFO L272 TraceCheckUtils]: 46: Hoare triple {15650#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-28 04:51:42,752 INFO L290 TraceCheckUtils]: 45: Hoare triple {15425#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15650#(= (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 04:51:42,752 INFO L290 TraceCheckUtils]: 44: Hoare triple {15425#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15425#true} is VALID [2022-04-28 04:51:42,752 INFO L290 TraceCheckUtils]: 43: Hoare triple {15425#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15425#true} is VALID [2022-04-28 04:51:42,752 INFO L290 TraceCheckUtils]: 42: Hoare triple {15425#true} assume !!(~x~0 <= ~X~0); {15425#true} is VALID [2022-04-28 04:51:42,752 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15425#true} {15425#true} #65#return; {15425#true} is VALID [2022-04-28 04:51:42,752 INFO L290 TraceCheckUtils]: 40: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-28 04:51:42,752 INFO L290 TraceCheckUtils]: 39: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-28 04:51:42,752 INFO L290 TraceCheckUtils]: 38: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-28 04:51:42,752 INFO L272 TraceCheckUtils]: 37: Hoare triple {15425#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-28 04:51:42,752 INFO L290 TraceCheckUtils]: 36: Hoare triple {15425#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L290 TraceCheckUtils]: 35: Hoare triple {15425#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L290 TraceCheckUtils]: 34: Hoare triple {15425#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L290 TraceCheckUtils]: 33: Hoare triple {15425#true} assume !!(~x~0 <= ~X~0); {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15425#true} {15425#true} #65#return; {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L290 TraceCheckUtils]: 31: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L290 TraceCheckUtils]: 30: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L290 TraceCheckUtils]: 29: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L272 TraceCheckUtils]: 28: Hoare triple {15425#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L290 TraceCheckUtils]: 27: Hoare triple {15425#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L290 TraceCheckUtils]: 26: Hoare triple {15425#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L290 TraceCheckUtils]: 25: Hoare triple {15425#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L290 TraceCheckUtils]: 24: Hoare triple {15425#true} assume !!(~x~0 <= ~X~0); {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15425#true} {15425#true} #65#return; {15425#true} is VALID [2022-04-28 04:51:42,753 INFO L290 TraceCheckUtils]: 22: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L290 TraceCheckUtils]: 21: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L290 TraceCheckUtils]: 20: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L272 TraceCheckUtils]: 19: Hoare triple {15425#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L290 TraceCheckUtils]: 18: Hoare triple {15425#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L290 TraceCheckUtils]: 17: Hoare triple {15425#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15425#true} {15425#true} #63#return; {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L290 TraceCheckUtils]: 15: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L290 TraceCheckUtils]: 14: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L290 TraceCheckUtils]: 13: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L272 TraceCheckUtils]: 12: Hoare triple {15425#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L290 TraceCheckUtils]: 11: Hoare triple {15425#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15425#true} {15425#true} #61#return; {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L290 TraceCheckUtils]: 9: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-28 04:51:42,754 INFO L290 TraceCheckUtils]: 8: Hoare triple {15425#true} assume !(0 == ~cond); {15425#true} is VALID [2022-04-28 04:51:42,755 INFO L290 TraceCheckUtils]: 7: Hoare triple {15425#true} ~cond := #in~cond; {15425#true} is VALID [2022-04-28 04:51:42,755 INFO L272 TraceCheckUtils]: 6: Hoare triple {15425#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {15425#true} is VALID [2022-04-28 04:51:42,755 INFO L290 TraceCheckUtils]: 5: Hoare triple {15425#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {15425#true} is VALID [2022-04-28 04:51:42,755 INFO L272 TraceCheckUtils]: 4: Hoare triple {15425#true} call #t~ret8 := main(); {15425#true} is VALID [2022-04-28 04:51:42,755 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15425#true} {15425#true} #69#return; {15425#true} is VALID [2022-04-28 04:51:42,755 INFO L290 TraceCheckUtils]: 2: Hoare triple {15425#true} assume true; {15425#true} is VALID [2022-04-28 04:51:42,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {15425#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {15425#true} is VALID [2022-04-28 04:51:42,755 INFO L272 TraceCheckUtils]: 0: Hoare triple {15425#true} call ULTIMATE.init(); {15425#true} is VALID [2022-04-28 04:51:42,755 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-28 04:51:42,755 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:51:42,755 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2084677378] [2022-04-28 04:51:42,756 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:51:42,756 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [621840670] [2022-04-28 04:51:42,756 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [621840670] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:51:42,756 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:51:42,756 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 10] total 26 [2022-04-28 04:51:42,756 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:51:42,756 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1982078722] [2022-04-28 04:51:42,756 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1982078722] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:51:42,756 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:51:42,756 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 04:51:42,756 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [509740297] [2022-04-28 04:51:42,756 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:51:42,757 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-28 04:51:42,757 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:51:42,757 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 04:51:43,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:51:43,352 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 04:51:43,352 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:51:43,353 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 04:51:43,353 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=567, Unknown=1, NotChecked=0, Total=650 [2022-04-28 04:51:43,353 INFO L87 Difference]: Start difference. First operand 95 states and 103 transitions. Second operand has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 04:51:45,703 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:51:48,143 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:51:50,569 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:52:11,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:52:11,749 INFO L93 Difference]: Finished difference Result 107 states and 116 transitions. [2022-04-28 04:52:11,749 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 04:52:11,749 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-28 04:52:11,749 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:52:11,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 04:52:11,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 65 transitions. [2022-04-28 04:52:11,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 04:52:11,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 65 transitions. [2022-04-28 04:52:11,764 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 65 transitions. [2022-04-28 04:52:13,342 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:52:13,343 INFO L225 Difference]: With dead ends: 107 [2022-04-28 04:52:13,343 INFO L226 Difference]: Without dead ends: 81 [2022-04-28 04:52:13,344 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 91 SyntacticMatches, 2 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 265 ImplicationChecksByTransitivity, 10.5s TimeCoverageRelationStatistics Valid=196, Invalid=1135, Unknown=1, NotChecked=0, Total=1332 [2022-04-28 04:52:13,344 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 34 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 445 mSolverCounterSat, 37 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 12.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 485 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 445 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 12.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:52:13,344 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 103 Invalid, 485 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 445 Invalid, 3 Unknown, 0 Unchecked, 12.7s Time] [2022-04-28 04:52:13,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-28 04:52:13,546 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-04-28 04:52:13,546 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:52:13,547 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 81 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:52:13,547 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 81 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:52:13,547 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 81 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:52:13,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:52:13,548 INFO L93 Difference]: Finished difference Result 81 states and 87 transitions. [2022-04-28 04:52:13,548 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 87 transitions. [2022-04-28 04:52:13,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:52:13,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:52:13,549 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 81 states. [2022-04-28 04:52:13,549 INFO L87 Difference]: Start difference. First operand has 81 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 81 states. [2022-04-28 04:52:13,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:52:13,550 INFO L93 Difference]: Finished difference Result 81 states and 87 transitions. [2022-04-28 04:52:13,550 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 87 transitions. [2022-04-28 04:52:13,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:52:13,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:52:13,550 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:52:13,551 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:52:13,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:52:13,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 87 transitions. [2022-04-28 04:52:13,552 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 87 transitions. Word has length 59 [2022-04-28 04:52:13,552 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:52:13,552 INFO L495 AbstractCegarLoop]: Abstraction has 81 states and 87 transitions. [2022-04-28 04:52:13,553 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 20 states have internal predecessors, (37), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 04:52:13,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 87 transitions. [2022-04-28 04:52:13,935 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:52:13,935 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 87 transitions. [2022-04-28 04:52:13,936 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 04:52:13,936 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:52:13,936 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:52:13,952 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 04:52:14,136 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-28 04:52:14,136 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:52:14,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:52:14,137 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 17 times [2022-04-28 04:52:14,137 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:52:14,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [610505441] [2022-04-28 04:52:14,137 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:52:14,137 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 18 times [2022-04-28 04:52:14,137 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:52:14,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [374891173] [2022-04-28 04:52:14,137 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:52:14,137 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:52:14,145 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:52:14,146 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1117231277] [2022-04-28 04:52:14,146 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:52:14,146 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:52:14,146 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:52:14,147 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:52:14,150 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 04:52:14,201 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 04:52:14,201 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:52:14,202 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-28 04:52:14,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:52:14,217 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:52:37,891 WARN L232 SmtUtils]: Spent 6.03s on a formula simplification that was a NOOP. DAG size: 35 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 04:52:57,409 WARN L232 SmtUtils]: Spent 6.03s on a formula simplification that was a NOOP. DAG size: 38 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 04:53:12,781 WARN L232 SmtUtils]: Spent 6.15s on a formula simplification that was a NOOP. DAG size: 39 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 04:53:27,305 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:53:34,071 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:53:43,000 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:53:46,846 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful